Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 1 до 5 – годовые оценки по информатике учащихся выпускного класса. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл среди хорошистов (тех, кто получил итоговую оценку 4 или 5). Гарантируется, что в классе есть хотя бы один хорошист.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
| Бейсик | Паскаль |
|---|---|
N=30 DIM A(N) AS INTEGER DIM I, X, Y AS INTEGER DIM S AS SINGLE FOR I = 1 TO N INPUT A(I) NEXT I … END | const N=30; var a: array [1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do readln(a[i]); … end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; #define N 30 int main(void) { int a[N]; int i, x, y; float s; for (i=0; i < N; i++) cin >> a[i]; … } | алг нач цел N = 30 целтаб a[1:N] цел i, x, y вещ s нц для i от 1 до N ввод a[i] кц ... кон |
| Русский (естественный) язык | |
Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, X, Y. Объявляем вещественную переменную S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. … | |
| Python | |
# допускается также # использовать две # целочисленные переменные x, y # и вещественную переменную s a = [] n = 30 for i in range(0, n): a.append(int(input())) ... | |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемые в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.
x:=0;y:=0;
for i:=1 to N do
if a[i]>=4 then
begin
x:=x+a[i]; //сумма
y:=y+1; //количество
end;
s:=x/y; //среднее
writeln('Sred.Ball= ',s);

