Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработка текстов данных записи лекция 3.docx
Скачиваний:
3
Добавлен:
14.04.2019
Размер:
31.1 Кб
Скачать

Var mst: array[1..N] of abitur;

Элементы такого массива вводятся и обрабатываются в цикле. Переменная mst при этом всегда должна иметь индекс. Например: mst[i]. fio обозначает фамилию i-го абитуриента.

Элементами записи могут быть в свою очередь, другие записи. В случаях, когда необходимо показать более точные сведения о сдаче экзаменов, можно использовать дополнительную запись:

Type osеnki = record

matem: string[4];

fizika: string[4];

Inform: string[4];

end;

abitur = record

fio: string;

pol: string[3];

ekz: osenki;

end;

Var mts: array[1..N] of abitur;

Следует обратить внимание на порядок прохождения записей: каждая очередная запись должна ссылаться на ранее описанный тип данных.

Теперь при описании записи mst[i] элемент matem будет показан в виде mst[i].ekz. matem. При выполнении программы удобно пользоваться оператором With, который дает возможность сократить запись.

Пример:

Записать в память компьютера сведения об абитуриентах: фамилию; пол; оценку, полученную на экзамене. Выбрать и подсчитать среди абитуриентов количество абитуриентов мужского пола, которые сдали вступительный экзамен по математике на «отлично».

Program Zapis;

Const n= 25;

Type abitur= record

fio: string;

pol: string[3];

ekz: string[9];

end;

Var st: abitur;

kol, i: integer;

Begin

kol:=0;

Writeln ('vvedite',n, 'nachalnih dannih');

with st do begin {начало with}

for i:=1 to n do begin

readln(fio);

readln(pol);

readln(ekz);

if pol= ’мужthen

if ekz= ’отличноthen

kol:=kol+1;

Writeln(fio);

end;

end; {конец with}

writeln(’ Количество ’, kol);

End.

В программе фамилии абитуриентов мужского пола, которые получили по математике оценку 5 сразу выводятся на экран, а после окончания анализа всех данных появится общее количество таких мужчин.

Примеры записи в паскале

Пример 1

Ввести в память пк ведомость успеваемости некоторой группы по математике, физике и программированию. Вывести: средний балл каждого студента, отличников по программированию.

Type stud = record

fam: string[30];

mat,fiz,prg: 2..5;

sbs:real;

end;

var

ms: array[1..10]of string[30];