Описать, используя структуру данных запись, завод - Pascal
Формулировка задачи:
Доброго дня всем.
Такое вот задание:
Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить программу, определяющую общее время простоя на заводе, списки станков, не имеющих простоя, относительное время простоя всех и каждого станка.
Похожие уже написанные программы смотрел, под редактирование не подошли. Помогите пожалуйста с написанием
Решение задачи: «Описать, используя структуру данных запись, завод»
textual
Листинг программы
type zavod=record
name:string[20];
IdleTime:longint;
WorkTime:longint;
end;
const n=5;
var
Tidle:longint;
TWork:longint;
a:array[1..n] of zavod;
i:integer;
begin
for i:=1 to n do begin
writeln('#',i);
write('Наименование станка:');readln(a[i].name);
write('Время работы:');readln(a[i].WorkTime);
write('Время простоя:');readln(a[i].IdleTime);
end;
Tidle:=0;TWork:=0;
for i:=1 to n do begin Tidle:=Tidle+a[i].IdleTime;TWork:=TWork+a[i].WorkTime;end;
writeln('Общее время простоя:',Tidle);
writeln('Список станков не имеющих простоя:');
for i:=1 to n do if a[i].IdleTime=0 then writeln(a[i].name);
writeln('Конец списка!');
if TWork>0 then writeln('Относительное время простоя:',Tidle/TWork*100:0:2) else writeln('все станки простаивали!');
for i:=1 to n do if a[i].WorkTime>0 then writeln('Станок "',a[i].name,'" относительное время простоя:',a[i].IdleTime/a[i].WorkTime*100:0:2)
else writeln('Станок "',a[i].name,'" не работал')
end.
Объяснение кода листинга программы
- Объявляется тип данных
zavod, который представляет собой запись со следующими полями:name: строка длиной до 20 символов, представляющая наименование станкаIdleTime: целое число, представляющее время простоя станкаWorkTime: целое число, представляющее время работы станка
- Объявляется константа
n, равная 5. - Объявляются переменные:
Tidle: целое число, для хранения общего времени простояTWork: целое число, для хранения общего времени работыa: массив из 5 элементов типаzavod, для хранения данных о станкахi: целое число, используется как счетчик в циклах
- Запускается цикл, в котором запрашивается информация о каждом станке, и данные сохраняются в массиве
a. - Вычисляется общее время простоя и общее время работы для всех станков при помощи цикла.
- Выводится общее время простоя всех станков.
- Выводится список станков, которые не имели простоя.
- Выводится относительное время простоя (в процентах) от общего времени работы.
- В цикле выводится относительное время простоя для каждого станка, либо сообщение о том, что станок не работал.