Определить самый тяжелый вагон состава, его порядковый номер - 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.
Объяснение кода листинга программы
- Переменная
n
инициализируется значением 15. Это количество вагонов первого состава. - Переменная
m
инициализируется значением 8. Это количество вагонов второго состава. - Создается массив
a
, который будет хранить массы вагонов первого состава. - Создается массив
b
, который будет хранить массы вагонов второго состава. - Создаются переменные
i
,max
,min
,i_max
,i_min
,sum1
,sum2
,k
. Все они инициализируются начальными значениями. - Запускается цикл
for
, который идет от 1 до 15 (n). Внутри этого цикла пользователь вводит массу каждого вагона первого состава. - Внутри цикла
if
проверяется, является ли текущий вагон тяжелее максимального. Если это так, тоi_max
обновляется, чтобы хранить индекс этого вагона. - Также внутри цикла
if
проверяется, является ли текущий вагон легче минимального. Если это так, тоi_min
обновляется, чтобы хранить индекс этого вагона. - Суммы масс обоих составов обновляются.
- Выводится информация о массе каждого вагона первого состава, а также о самом тяжелом и самом легком вагонах.
- Запускается еще один цикл
for
, который идет отn-m+1
доn
. Это проходят по вагонам второго состава, начиная с восьмого вагона первого состава. - Внутри этого цикла масса каждого вагона второго состава присваивается переменной
b[k]
. - Выводится информация о массе каждого вагона второго состава.
- Сумма масс второго состава обновляется.
- Программа завершается, и пользователю предлагается ввести данные для следующего запуска.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д