Главная » Дан целочисленный массив из 30 элементов...
21:14

Дан целочисленный массив из 30 элементов...


Задание:

Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100– баллы, полученные на ЕГЭ. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль

Естественный язык

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.

Объявляется массив A из 30 элементов.

Объявляются целочисленные переменные i, x и y, а также вещественная переменная s.

В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый.

...

Си

 

#include<stdio.h>

int main(void) {

 const int N=30;

 int A[N];

 int i, x, y;

 float s;

 for (i=0; i<N; i++)

  scanf(″%d″, &A[i]);

  ...

}

 

Решение:

Нужно найти количество учеников, получивших оценку более 20 баллов (по условию – это не нуль), и общую сумму их оценок. Средняя оценка равна сумме оценок, деленной на их количество.
В переменной x будем считать учеников, сдавших экзамен, а в переменной y – накапливать сумму их оценок. Сначала в обе эти переменные запишем нули (начальные значения). Затем в цикле от 1 до 30 рассматриваем все элементы массива A. Если очередной элемент больше 20, увеличиваем переменную x на единицу (считаем этого ученика) и добавляем значение этого элемента массива к старому значению переменной y. После окончания цикла выводим результат деления y на x. Недостающая часть программы может выглядеть так:

  1. x := 0; y := 0;  { не забыть начальные условия! }
  2.  for i:=1 to N do
  3.    if A[i] > 20 then begin
  4.      x := x + 1;
  5.      y := y + A[i]
  6.    end;
  7.  s := y / x;
  8.  writeln('Средний балл ', s:10:3);

Похожие материалы:
Нашли ошибку на сайте? Напишите в комментариях!
Категория: Язык программирования: Паскаль | Просмотров: 64 | Добавил: Ученик | Рейтинг: 5.0/1