Описать, используя структуру данных запись, завод - 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.

Объяснение кода листинга программы

  1. Объявляется тип данных zavod, который представляет собой запись со следующими полями:
    • name: строка длиной до 20 символов, представляющая наименование станка
    • IdleTime: целое число, представляющее время простоя станка
    • WorkTime: целое число, представляющее время работы станка
  2. Объявляется константа n, равная 5.
  3. Объявляются переменные:
    • Tidle: целое число, для хранения общего времени простоя
    • TWork: целое число, для хранения общего времени работы
    • a: массив из 5 элементов типа zavod, для хранения данных о станках
    • i: целое число, используется как счетчик в циклах
  4. Запускается цикл, в котором запрашивается информация о каждом станке, и данные сохраняются в массиве a.
  5. Вычисляется общее время простоя и общее время работы для всех станков при помощи цикла.
  6. Выводится общее время простоя всех станков.
  7. Выводится список станков, которые не имели простоя.
  8. Выводится относительное время простоя (в процентах) от общего времени работы.
  9. В цикле выводится относительное время простоя для каждого станка, либо сообщение о том, что станок не работал.

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы