Рассмотрим для начала простейший пример заполнения записи Паскаля и вывода ее на экран.

Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.

type anketa=record
   fio: string[45];
   dat_r: string[8];
   adres: string[50];
   curs: 1..5;
   grupp: string[3]
end;
var student: anketa;
begin
   writeln (‘введите сведения о студенте’);
   {обратите внимание, ввод каждого поля осуществляется отдельно}
   writeln (‘введите фамилию, имя и отчество’);
   readln (student.fio);
   writeln (‘введите дату рождения’);
   readln (student.dat_r);
   writeln (‘введите адрес’);
   readln(student.adres);
   writeln (‘введите курс’);
   readln(student.curs);
   writeln (‘введите группу’);
   readln (student.grupp);
   writeln (‘ввод закончен’);
   writeln ;
   {обратите внимание, что вывод записи осуществляется по полям}
   writeln (‘фамилия студента: ’, student . fio );
   writeln(‘ дата рождения : ’, student.dat_r);
   writeln(‘ адрес : ’, student.adres);
   writeln(‘ курс : ’, student.curs);
   writeln(‘ группа : ’, student.grupp);
end.
А теперь слегка усложним задачу. Пусть нам необходимо иметь сведения о многих студентах, например, нашего факультета. Следовательно, необходимо организовать массив записей Паскаля. А затем из общего списка вывести фамилии студентов 2-го курса.

type anketa=record
   fio: string[45];
   dat_r: string[8];
   adres: string[50];
   curs: 1..5;
   grupp: string[3]
end;
var student: array [1..100] of anketa;
   I: integer;
begin
   {последовательно вводим каждую запись}
   for I:=1 to 100 do
   begin
      writeln (‘введите сведения о,' I ', -м студенте’);
      writeln (‘введите фамилию, имя и отчество’);
      readln (student[i].fio);
      writeln (‘введите дату рождения’);
      readln (student[i].dat_r);
      writeln (‘введите адрес’);
      readln(student[i].adres);
      writeln (‘введите курс’);
      readln(student[i].curs);
      writeln (‘введите группу’);
      readln (student[i].grupp);
   end;
   writeln (‘ввод закончен’);
   writeln ;
   {просматриваем массив записей и выбираем только студентов 2-го курса }
   for I:=1 to 100 do
      if student[i].curs=2 then
         writeln(‘ фамилия студента : ’, student[i].fio);
end.

Отредактировано Ильюха ツ Яковлев (2011-06-26 13:58:13)