Определите число пассажиров, имеющих более двух вещей - PascalABC.NET
Формулировка задачи:
Помогите, пожалуйста!
Сведения о багаже каждого из пятнадцати пассажиров представляют собой запись с 3-мя полями: одно поле целого типа- кол-во вещей, второе поле действительного типа – общий вес багажа в кг третье поле строкового типа – фамилия пассажира. Определите:
а) число пассажиров, имеющих более 2-хвещей
б) имеется ли пассажир, багаж которого состоит из одной вещи весом менее 30 кг(выведите фамилию пассажира).
Решение задачи: «Определите число пассажиров, имеющих более двух вещей»
textual
Листинг программы
program pr;
const
n=15;
type
bags=record
count:integer;
weight:double;
surname:string[50];
end;
var
i,kol:integer;
peoples:array [1..n] of bags;
begin
for i:=1 to n do
begin
writeln('Введите количество вещей пассажира');
readln(peoples[i].count);
writeln('Введите вес багажа пассажира');
readln(peoples[i].weight);
writeln('Введите фамилию пассажира');
readln(peoples[i].surname);
end;
kol:=0;
for i:=1 to n do
begin
if (peoples[i].count>2)then
kol:=kol+1;
end;
writeln('Количество пассажиров, имеющих в багаже более 2-х предметов: ',kol);
for i:=1 to n do
begin
if ((peoples[i].count=1) and (peoples[i].weight<30))then
writeln('Фамилия пассажира имеющего в багаже 1 вещь,весом менее 30 кг: ',peoples[i].surname);
end;
end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Объявляются переменные и константы:
- n - количество людей (15);
- bags - структура данных, описывающая багаж каждого пассажира (количество вещей, вес багажа, фамилия пассажира);
- i, kol - счетчики для циклов;
- peoples - массив структур bags для хранения информации о каждом пассажире.
- Происходит заполнение массива peoples данными о каждом пассажире:
- Для каждого пассажира вводится количество вещей, вес багажа и фамилия.
- После заполнения массива, происходит подсчет количества пассажиров, имеющих более двух вещей с помощью цикла и условия if (peoples[i].count>2). Значение переменной kol увеличивается на 1 при каждом обнаружении такого пассажира.
- Выводится количество пассажиров, имеющих более двух вещей.
- После этого, происходит вывод фамилии пассажира, имеющего в багаже 1 вещь, весом менее 30 кг, если такой пассажир есть. Для этого используется дополнительный цикл if ((peoples[i].count=1) and (peoples[i].weight<30)). Если условие выполняется, то выводится фамилия пассажира. Таким образом, данный код позволяет определить количество пассажиров, имеющих более двух вещей в багаже, а также выводит фамилию пассажира, имеющего в багаже 1 вещь, весом менее 30 кг, если такой пассажир есть.