Владимирович111
?>

44 паскаль абс.net . тема : сложные типы данных. записи: организовать файл, содержащий информацию о книгах. сведения о каждой из книг - это фамилия автора, название книги, количество страниц и год издания. найти название книг данного автора, изданных не позднее определённого года. фамилия автора и год вводятся с клавиатуры.

Информатика

Ответы

Сулейманова
1. Программа для создания файла

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Rewrite(f,'books.dat');
  Writeln('Ввод данных по книгам');
  var s1,s2:string;
  var i1,i2:integer;
  var book:tBook;
  repeat
    s1:=ReadlnString('Автор или * для окончания ввода:');
    if s1<>'*' then begin
      s2:=ReadlnString('Название книги:');
      i1:=ReadlnInteger('Количество страниц:');
      i2:=ReadlnInteger('Год издания:');
      (book.author,book.naim,book.pages,book.godizd):=(s1,s2,i1,i2);
      Write(f,book)
      end
  until s1='*';
  Writeln('*** Ввод завершен ***');
  f.Close
end.

Тестовое решение
Ввод данных по книгам
Автор или * для окончания ввода: Жюль Верн
Название книги: 80 тысяч километров под водой
Количество страниц: 573
Год издания: 1951
Автор или * для окончания ввода: Сергей Лукьяненко
Название книги: Дозор
Количество страниц: 934
Год издания: 2004
Автор или * для окончания ввода: Жюль Верн
Название книги: Властелин мира
Количество страниц: 104
Год издания: 2011
Автор или * для окончания ввода: *
*** Ввод завершен ***

2. Программа для выборки

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Reset(f,'books.dat');
  var s:=ReadlnString('Автор книги:');
  var y:=Readinteger('Год издания, не ранее:');
  var k:=0;
  var book:tBook;
  while not f.Eof do begin
    Read(f,book);
    if (book.author=s) and (book.godizd>=y) then begin
      Writeln(book);
      Inc(k)
      end;
  end;
  if k=0 then Writeln('Таких книг не найдено');
  f.Close
end.

Тестовое решение
Автор книги: Жюль Верн
Год издания, не ранее: 2005
(Жюль Верн,Властелин мира,104,2011)
Dmitrii836
Проще всего складывать в столбик как обычные десятичные числа, но если в сумме число получится больше 8 (система восмиричная), то мы отнимаем 8, смотрим: меньше ли получившийся остаток 8, если нет, то снова отнимаем восемь и тогда записываем остаток, а в "ум" запишем число отнятых восьмерок

574+467=1263 (все числа в восьмиричной системе счисления)

так, складывая 4 и 7, получаем 11, что больше 8, поэтому отняв 8, получим цифру 3, которую и записываем как последнюю цифру числа (3 пишем, 1 в уме), далее складываем 6 и 7 и не забываем про 1, потому что в раз мы отняли всего одну восьмерку, получаем 14, но записываем только 6, а 1 в уме, затем 5, 4 и 1 - 2 пишем, 1  в уме, далее просто приписываем единицу, получаем 1263

P.S. несмотря на то, что кажется сложно, это немногим отличается от десятичной системы сложения в столбик
Peshkov
Суждение:
1. Все сосны являются деревьями.
2.Ни один кит - не рыба.
3.Все караси являются рыбами.
4. Все розы - это цветы.
5. Все мухи - это птицы.

Умозаключения:
1. Ты задал вопрос, вопрос задают когда не знают. Умозаключение: ты не знаешь.
2. Все прямоугольники-параллелограммы. Квадрат - это прямоугольник. Умозаключение: квадрат - это параллелограмм.
3. Все люди смертны. Сократ - человек. Умозаключение: Сократ смертен.
4. Звезды взрываются. Солнце - звезда. Умозаключение: Солнце взорвется.
5. У треугольника все углы равны. Умозаключение: треугольник равноугольный

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

44 паскаль абс.net . тема : сложные типы данных. записи: организовать файл, содержащий информацию о книгах. сведения о каждой из книг - это фамилия автора, название книги, количество страниц и год издания. найти название книг данного автора, изданных не позднее определённого года. фамилия автора и год вводятся с клавиатуры.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Filintver
marani2
Сергеевич1726
dsnewline
fixer2006
asyaurkova
Yurevich1344
dmitrijku
beliaeva2
Исакова-Александрович511
mnogomams47
Андреевич
kisuhakisa
Потапова 79275136869323
tyrenumberone