Пример программы использования массива записей
Задача:
Создать массив записей, содержащий сведения о сотрудниках фирмы. Каждая запись содержит поля – фамилия сотрудника, наименование отдела, оклад, трудовой стаж. Написать программу, выдающую следующую информацию:
- список сотрудников отдела Х с указанием оклада и трудового стажа;
- подсчитать среднюю заработную плату сотрудников отдела Х.
Название отдела Х вводится по запросу с клавиатуры.
- Таблица идентификаторов
№ | Наименование переменной | Обозначения в программе | Тип переменной |
Имя массива | f | record (запись) | |
Количество сотрудников | n | integer | |
Поле фамилия | surname | string | |
Поле отдел | otdel | string | |
Поле оклад | oklad | real | |
Поле стаж | Stag | integer | |
Средняя зарплата | Sred | real | |
Отдел поиска Х | X | string | |
Количество сотрудников в отделе Х | K | integer | |
Индексы массива | i | integer |
- Листинг программы
program rec_1;
uses crt;
type
firma = record; {запись}
surname : string[20];
otdel : string[20];
oklad : real;
Stag : integer;
end;
var
f:array[ 1..30 ] of firma; {массив записей}
X:string[20];
i,n,k:integer;
sred:real;
begin
clrscr;
writeln(‘Введите n’); readln(n);
writeln(‘Введите информацию о сотрудниках’);
for i:=1 to n do
with f[i] do
begin
writeln(‘Введите фамилию ’); readln(surname);
writeln(‘Введите отдел ’); readln(otdel);
writeln(‘Введите оклад ’); readln(oklad);
writeln(‘Введите стаж ’); readln(Stag);
end;
writeln(‘Введите название отдела’); readln(X);
sred:=0; k:=0;
writeln(‘Список сотрудников отдела ’,X);
for i:=1 to n do
if f[i].otdel=X then
begin
writeln(f[i].surname,’ ‘,f[i].oklad:8:3);
sred:=sred+f[i].oklad;
k:=k+1;
end;
writeln(‘Средняя зарплата отдела=’,(sred/k):8:3);
readln;
end.
Вопросы для самоконтроля
- В чем состоит основное преимущество записи?
- Почему записи называют комбинированным типом записи?
- Чем записи отличаются от массивов?
- Что называется полем записи?
- Какие требования предъявляются к идентификаторам поля записи?
- Как определить объем памяти, требуемый для размещения записи?
- С какой целью при обращении к полю записи используется оператор with … do?
Методические указания к выполнению индивидуального задания по Модулю 2. «Массивы записей»
Цель работы: Ознакомиться с пользовательскими типами данных, записями. Научиться организовывать массивы записей.
Задание:
1. В приложении 11 выбрать вариант задания.
2. Выполнить индивидуальное задание по Модулю 2 , на примере программы использования массива записей.
3. Составить блок-схему алгоритма.
4. Утвердить блок-схему у тьютора.
5. Написать программу и отладить ее по заранее подготовленному тесту.
6. Результат выполнения программы предъявить преподавателю.
7. Оформить ИДЗ в формате А4, титульный лист по образцу Приложение 4
8. Защитить выполненную работу у преподавателя.
Дата добавления: 2015-05-21; просмотров: 854;