
В столовой предлагается N комплексных обедов,состоящих из Q блюд. Известны стоимость и
калорийность каждого блюда. Сколько стоят самыйдешевый и самый дорогой обеды? Сколько калорий включает в себя самоекалорийное блюдо? Кто нибудь знает как решить? PythonПример на паскалеuses crt;type blyudo=record stm:real; kal:integer; end;var n,q,i,j:integer; a:array[1..6,1..6] of blyudo; kl,mxk:integer; st,mxs,mns:real;beginrepeatwrite('Количество обедов от 1 до 6 n=');read(n);until n in [1..6];repeatwrite('Количество блюд в обедах от 3 до 5 q=');read(q);until q in [3..6];writeln('Введите данные');for i:=1 to n do begin writeln('Обед ',i); for j:=1 to q do begin writeln(' - блюдо ',j); write(' - стоимость=');read(a[i,j].stm); write(' - калорийность=');read(a[i,j].kal); end; end;mxs:=0;mns:=1000000;mxk:=0;for i:=1 to n do begin st:=0; for j:=1 to q do begin st:=st+a[i,j].stm; if a[i,j].kal>mxk then mxk:=a[i,j].kal; end; if st>mxs then mxs:=st; if st end;writeln('Самый дешевый обед стоит ',mns:0:2);writeln('Самый дорогой обед стоит ',mxs:0:2);writeln('Самое калорийное блюдо включает ',mxk,' кал.');end.

Ответы на вопрос

Ответ:
meals = [
{"name": "Борщ", "cost": 100, "calories": 250},
{"name": "Котлета", "cost": 150, "calories": 300},
{"name": "Омлет", "cost": 80, "calories": 200},
{"name": "Суп", "cost": 50, "calories": 150}
]
meals.sort(key=lambda x: x["cost"])
cheapest_meal = meals[0]
most_expensive_meal = meals[-1]
meals.sort(key=lambda x: x["calories"])
most_caloric_meal = meals[-1]
print(f"Самое дешевое блюдо: {cheapest_meal['name']}, стоимость: {cheapest_meal['cost']} руб.")
print(f"Самое дорогое блюдо: {most_expensive_meal['name']}, стоимость: {most_expensive_meal['cost']} руб.")
print(f"Самое калорийное блюдо: {most_caloric_meal['name']}, калорийность: {most_caloric_meal['calories']} калорий.")



Ваш код на Pascal позволяет найти стоимость самого дешевого и самого дорогого обедов, а также калорийность самого калорийного блюда. Однако, в коде есть некоторые ошибки и недоработки, которые нужно исправить:
В строке
if st
послеif st
должно быть>
, чтобы сравнивать текущую стоимость обеда с минимальной и максимальной стоимостью.Вы не обновляете переменные
mns
иmxs
соответственно внутри цикла.Вы не сохраняете само дорогое и дешевое блюдо, поэтому не можете определить, какие именно блюда входят в эти обеды.
Вот исправленный код:
pascaluses crt; type blyudo = record stm: real; kal: integer; end; var n, q, i, j: integer; a: array[1..6, 1..6] of blyudo; kl, mxk: integer; st, mxs, mns: real; cheapest_meal, most_expensive_meal: integer; begin repeat write('Количество обедов от 1 до 6 n='); read(n); until n in [1..6]; repeat write('Количество блюд в обедах от 3 до 5 q='); read(q); until q in [3..6]; writeln('Введите данные'); for i := 1 to n do begin writeln('Обед ', i); for j := 1 to q do begin writeln(' - блюдо ', j); write(' - стоимость='); read(a[i, j].stm); write(' - калорийность='); read(a[i, j].kal); end; end; mxs := 0; mns := 1000000; mxk := 0; for i := 1 to n do begin st := 0; for j := 1 to q do begin st := st + a[i, j].stm; if a[i, j].kal > mxk then mxk := a[i, j].kal; end; if st > mxs then begin mxs := st; most_expensive_meal := i; // Сохраняем номер самого дорогого обеда end; if st < mns then begin mns := st; cheapest_meal := i; // Сохраняем номер самого дешевого обеда end; end; writeln('Самый дешевый обед (Обед ', cheapest_meal, ') стоит ', mns:0:2); writeln('Самый дорогой обед (Обед ', most_expensive_meal, ') стоит ', mxs:0:2); writeln('Самое калорийное блюдо включает ', mxk, ' кал.'); end.
Теперь код должен правильно находить самый дешевый и самый дорогой обеды, а также калорийность самого калорийного блюда.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili