• Предмет: Информатика
  • Автор: nataliesvetik
  • Вопрос задан 8 лет назад

Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо нее автомобилей, округляя значения скорости до целых чисел. Необходимо определить среднюю зарегистрированную скорость всех автомобилей. Если скорость хотя бы одного автомобиля была не меньше 60 км/ч, выведи YES, иначе выведите NO. Программа получает на вход число проехавших автомобилей N ( 1 ≤ N ≤ 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести среднюю скорость с точностью до одного знака после запятой, затем YES или NO.

Ответы

Ответ дал: Аноним
0
ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Приём ИЗ "...ОтделыОбмен", Вывод ИЗ "...ОтделыОбмен";

ПЕР
  N, сумма, сч, скор, макс: ЦЕЛ;

УКАЗ
  сумма := 0;
  макс := 0;
  Вывод.Цепь("Введите число автомобилей: ");
  N := Приём.Число();
  ЕСЛИ N < 1 И N > 30 ТО Вывод.Цепь("^Ошибка.") ИНАЧЕ
    Вывод.Цепь("^Введите скорости:^");
    ОТ сч := 1 ДО N ВЫП
      скор := Приём.Число();
      ЕСЛИ N < 1 И N > 300 ТО Вывод.Цепь("^Ошибка."); СТОП(0) КОН;
      УВЕЛИЧИТЬ(сумма, скор);
      ЕСЛИ скор > макс ТО макс := скор КОН;
      Вывод.Цепь(" ")
    КОН
  КОН;
  Вывод.ЧВещ("^Средняя скорость: %.1f.^", сумма / N, 0, 0, 0);
  ЕСЛИ макс >= 60 ТО Вывод.Цепь("YES") ИНАЧЕ Вывод.Цепь("NO") КОН

КОН Задание.
Ответ дал: nataliesvetik
0
Так?
Ответ дал: Аноним
0
var
sum, c,d, max: integer;
N: integer;
aver: real;
begin
sum:=0;
max:=0;
d:=1;
writeln('Ввести количество')
readln(N);
if N>1 then writeln('Ввести скорости');
for d:=1 to N do
begin
readln(c);
if c>max then max:=c;
sum := sum + c;
end;
aver := sum / N;
writeln('Средняя скорость - ', aver:0:1);
if max>= 60 then writeln('YES') else writeln('NO');
end.
Ответ дал: Аноним
0
Что-то типа. Попробуй эту парашу скомпилировать.
Ответ дал: nataliesvetik
0
ПОЛУЧИЛОСЬ! Спасибо вам огромное))
Ответ дал: Аноним
0
Пожалуйста.
Вас заинтересует