Определить среднюю зарегистрированную скорость всех автомобилей - Pascal ABC
Формулировка задачи:
Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо нее автомобилей, округляя значения скорости до целых чисел. Необходимо определить среднюю зарегистрированную скорость всех автомобилей. Если скорость хотя бы одного автомобиля была не меньше 60 км/ч, выведи YES, иначе выведите NO. Программа получает на вход число проехавших автомобилей N ( 1 ≤ N ≤ 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести среднюю скорость с точностью до одного знака после запятой, затем YES или NO.
Решение задачи: «Определить среднюю зарегистрированную скорость всех автомобилей»
textual
Листинг программы
Uses Crt; Var a:Array[1..30] of 0..301; i,j,n,max,min,sr:1..30; b:boolean; Begin ClrScr; b:=false; Writeln('Сколько автомобилей проехали возле камеры'); Readln(n); Writeln('Введите скорость этих автомобилей'); For i:=1 to n do Begin Readln(a[i]); If (a[i]=0) or (a[i]=301) Then Halt; End; max:=a[1]; For i:=1 to n do If a[i]>max Then Begin max:=a[i]; j:=i; End; a[j]:=0; min:=a[1]; For i:=1 to n do If a[i]<min Then Begin min:=a[i]; j:=i; End; a[j]:=301; sr:=a[1]; For i:=1 to n do If (a[i]<>301) and (a[i]<>0) and (a[i]>sr) Then sr:=a[i]; Writeln('Средняя скорость всех автомобилей: ',sr); For i:=1 to n do If a[i]>=60 Then b:=true Else b:=false; If b=true Then Writeln('YES') Else If b=false Then Writeln('NO'); End.
Объяснение кода листинга программы
- Создается переменная
a
типаArray[1..30] of 0..301
для хранения скоростей автомобилей. - Инициализируется булева переменная
b
значениемfalse
. - Выводится сообщение
Сколько автомобилей проехали возле камеры
иВведите скорость этих автомобилей
. - В цикле
For i:=1 to n do
считывается скорость каждого автомобиля. - Проверяется, не равна ли скорость нулю или 301. Если это так, то цикл прерывается командой
Halt
. - Максимальная скорость сохраняется в переменной
max
. - Минимальная скорость сохраняется в переменной
min
. - Скорость
a[1]
(первого автомобиля) присваивается переменнойsr
. - Выводится сообщение
Средняя скорость всех автомобилей:
и значениеsr
. - В цикле
For i:=1 to n do
проверяется, если скорость автомобиляa[i]
больше текущей максимальной скоростиmax
, то обновляется значениеmax
. - Если найдена минимальная скорость, то обновляется значение
min
. - Если найдена средняя скорость, то выводится сообщение
YES
илиNO
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д