Определить самый тяжелый вагон состава, его порядковый номер - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Даны сведения о массах вагонов состава - массив А [15]. 1) определить самый тяжелый вагон состава, его порядковый номер, самый легкий вагон, его порядковый номер. 2)сформировать новый состав из последних 8 вагонов - массив В [8]. 3)определить общую массу вагонов в массиве В. 4)определить общую массу вагонов в массиве А.

Решение задачи: «Определить самый тяжелый вагон состава, его порядковый номер»

textual
Листинг программы
const
  n=15; //количество вагонов 1-го состава
  m=8;  //количество вагонов 2-го состава
var
  a: array[1..n] of integer; //массив A - первый состав
  b: array[1..m] of integer; //масссив B - второй состав
  i,max,min,i_max,i_min,sum1,sum2,k: integer;
begin
  sum1:=0; sum2:=0; //изначально обнуляем суммы масс составов
  for i:=1 to n do // от 1 до 15
  begin
    write('Введите массу ',i,'-го вагона: '); //вывод приглашения ввода
    readln(a[i]); //считываем массу вагона
  end;
  i_max:=1; // за максимальную массу принимаем массу 1-го вагона
  i_min:=1; // за минимальную массу принимаем массу 1-го вагона
  writeln('Массы вагонов состава A :'); // вывод строки на экран
  for i:=1 to n do // от 1 до 15
  begin
    if a[i]>a[i_max] then // если очередной вагон тяжелее максимального то..
      i_max:=i; // принимаем его за самый тяжелый
    if a[i]<a[i_min] then // если очередной вагон легче минимального то..
      i_min:=i; // принимаем его за самый легкий
    sum1:=sum1+a[i]; // массу каждого прибавляем к первой сумме
    write(a[i],' '); // ввыводим на экран массу каждого
  end;
  writeln;
  writeln('Самый тяжелый вагон состава: ',a[i_max],'[',i_max,'-й]');
  writeln('Самый легкий вагон состава: ',a[i_min],'[',i_min,'-й]');
  writeln('Общая масса состава A: ',sum1);
  
  k:=0; // счетчик вагонов 2-го состава
  writeln('Массы вагонов состава B: ');
  for i:=n-m+1 to n do // проходим по вагонам от 8-го до 15-го вагонов 1-го состава
  begin
    inc(k); // увеличиваем счетчик на 1
    b[k]:=a[i]; // очередному вагону 2-го состава присваиваем массу очередного вагона 1-го состава
    write(b[k],' '); // выводим на экран
    sum2:=sum2+b[k]; // считаем сумму масс вагонов 2-го состава
  end;
  writeln;
  writeln('Общая масса состава B: ',sum2);
  readln;
end.

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

  1. Переменная n инициализируется значением 15. Это количество вагонов первого состава.
  2. Переменная m инициализируется значением 8. Это количество вагонов второго состава.
  3. Создается массив a, который будет хранить массы вагонов первого состава.
  4. Создается массив b, который будет хранить массы вагонов второго состава.
  5. Создаются переменные i, max, min, i_max, i_min, sum1, sum2, k. Все они инициализируются начальными значениями.
  6. Запускается цикл for, который идет от 1 до 15 (n). Внутри этого цикла пользователь вводит массу каждого вагона первого состава.
  7. Внутри цикла if проверяется, является ли текущий вагон тяжелее максимального. Если это так, то i_max обновляется, чтобы хранить индекс этого вагона.
  8. Также внутри цикла if проверяется, является ли текущий вагон легче минимального. Если это так, то i_min обновляется, чтобы хранить индекс этого вагона.
  9. Суммы масс обоих составов обновляются.
  10. Выводится информация о массе каждого вагона первого состава, а также о самом тяжелом и самом легком вагонах.
  11. Запускается еще один цикл for, который идет от n-m+1 до n. Это проходят по вагонам второго состава, начиная с восьмого вагона первого состава.
  12. Внутри этого цикла масса каждого вагона второго состава присваивается переменной b[k].
  13. Выводится информация о массе каждого вагона второго состава.
  14. Сумма масс второго состава обновляется.
  15. Программа завершается, и пользователю предлагается ввести данные для следующего запуска.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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