Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.docx
Скачиваний:
5
Добавлен:
15.08.2019
Размер:
281.69 Кб
Скачать

Практическое задание № 13 записи

Запись - это совокупность разнородных данных, описываемых и обрабатываемых как единое целое. Определение типа записи начинается с ключевого слова record и заканчивается словом end. Между ними заключен список компонентов, называемых полями. Поля могут быть простыми данными или составными, например, массивами или записями. Записи описываются в разделе типов данных type. Например: type z = record а, b, с: integer end; var x: z;

Оператор присоединения. Для обработки записи используется оператор with, который позволяет указать один раз имя записи из раздела переменных, а затем во всей области действия оператора указывать только имена полей этой записи из раздела type. После слова with можно написать несколько имен полей из раздела переменных. Оператор присоединения имеет вцц: with список имен записей do оператор;

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

  1. Дан массив записей, содержащий сведения о работниках предприятия.

Напечатать: а) список бухгалтеров;

б) среднюю заработную плату по предприятию.

Содержание

сведений

Ф.И.О

Должность

Дата рождения

Зарплата

Имя поля записи

name

position

date

salary

Тип данных поля

string [20]

string [10]

date-of-birth

real

Program ABC 20;

Const n = 5;

type date_of_ birth = record day:1.. 31; month: string [10]; year: integer end; worker = record

name: string [20]; position : string [10]; date: date_of_ birth ; salary: real; end;

var x: array [ 1.. n ] of worker; w: worker;

  1. ,J: integer; s: real; p: string [10]; begin { формирование массива записей }

For i: = 1 to n do with x[i]do begin

Writeln (‘ сведения оiработнике ‘);

Writeln (‘фамилия, инициалы ’);

Readln (name);

Writeln (‘ должность ’);

Readln (position);

Writeln (‘ число, месяц и год рождения ’);

Readln (date.day, date.month, date.year);

Writeln (‘ зарплата ’);

Readln (salary);

End;

{решение задачи № 1 - печать списка бухгалтеров} р: = ‘ бухгалтер ’;

j: = 0; {счетчик строк списка бухгалтеров}

For i : = 1 to n do with x[i]do If p = position then begin j:=j + 1;

Writeln (‘ Список бухгалтеров предприятия : ’); Writeln (j, ‘name);

End;

{решение задачи № 2 - вычисление средней зарплаты}

s: = 0;

For i: = 1 to n do s : = s + x [ i ]. salary;

Writeln (‘ средняя зарплата = ‘, s I n: 10:2);

Readln;

End.

Откомпилируйте программу, запустите ее на выполнение. Заполните произвольно данные пятерых сотрудников предприятия на основе предлагаемой таблицы.

Сведения о работнике предприятия

Фамилия, инициалы должность , Число, месяц и год зарплата

эждения

1. Морозова А П

бухгалтер

15 января 1969

2500.00

Просмотрите результаты выполнения программы. Сохраните программу на носителе, создайте ехе - файл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]