Найти багаж, средний вес одной вещи, в котором отличается не более чем на 0.3 кг - Pascal

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

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

Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Найти: багаж, средний вес одной вещи, в котором отличается не более чем на 0.3 кг от общего среднего веса одной вещи; число пассажиров, имеющих более двух вещей и число пассажиров, количество вещей которых превосходит среднее число вещей. Вообще не понял как с этим справиться...

Решение задачи: «Найти багаж, средний вес одной вещи, в котором отличается не более чем на 0.3 кг»

textual
Листинг программы
uses Crt;
type
bagaz=record//тип запись багаж
     kol:byte;//кол-во
     ves:real;//вес
     end;
var bg:array[1..100] of bagaz;/массив записей
    n,i,k,k2,ks,p:integer;
    srv,srk:real;
begin
clrscr;
writeln('Введите количество пассажиров n=');
readln(n);
writeln('Введите данные о багаже');
srv:=0;srk:=0;k:=0;
for i:=1 to n do
 begin
  writeln('Багаж ',i);
  write(' Количество мест: ');readln(bg[i].kol);
  k:=k+bg[i].kol;//считаем сколько всего вещей
  write(' Вес: ');readln(bg[i].ves);
  srk:=srk+bg[i].kol;//считаем количество для среднего
  srv:=srv+bg[i].ves;//общий вес для среднего
 end;
srk:=srk/n;//среднее кол-во
srv:=srv/k;//средний вес
writeln('Средний вес 1 вещи=',srv:0:2);
p:=0;
writeln('Багаж, где средний вес одной вещи отличается не более 0.3 от среднего веса');
k2:=0;ks:=0;
for i:=1 to n do
 begin
  if abs(bg[i].ves/bg[i].kol-srv)<=0.3then//если разница по модулю не больше 0,3
   begin
    p:=1;//есть
    writeln(bg[i].kol,'  ',bg[i].ves:0:2);//выводим
   end;
  if bg[i].kol>2 then k2:=k2+1;//кол-во вещей болше 2
  if bg[i].kol>srk then ks:=ks+1;//кол-во больше среднего
 end;
if p=0 then writeln('Такого багажа нет!');
writeln;
writeln('Число пассажиров, имеющих более 2х вещей=',k2);
writeln('Среднее число вещей=',srk:0:0);
writeln('Число пассажиров, имеющих вещей больше среднего=',ks);
readln
end.

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

  1. Создается тип записи bagaz, который представляет собой одну вещь багажа.
  2. Создается переменная bg типа array[1..100] of bagaz, которая представляет собой массив 100 вещей багажа.
  3. Создаются переменные n, i, k, k2, ks, p и srv и srk, которые представляют собой счетчики, переменные для хранения суммарного количества и веса багажа.
  4. Считывается количество пассажиров и данные о багаже.
  5. Для каждого пассажира:
    • Выводится количество мест и вес багажа.
    • Суммируется количество багажа и обновляется сумма веса.
    • Обновляется общее количество багажа.
  6. Вычисляется среднее количество багажа и средний вес одной вещи.
  7. Выводится информация о багаже, где средний вес одной вещи отличается не более 0.3 от среднего веса.
  8. Выводится количество пассажиров, имеющих более 2х вещей, среднее количество вещей и количество пассажиров, имеющих вещей больше среднего.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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