/ Материалы / Язык программирования: Паскаль / Дан целочисленный массив из 30 элементов...

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

Задание:

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от  –1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит среднее арифметическое всех элементов массива, оканчивающихся цифрой 5. Гарантируется, что хотя бы один такое элемент в массиве есть. 
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.


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.
 

Решение:

Недостающий фрагмент:


x:=0; y:=0;
for i:=1 to N do
if abs (A[i]) mod 10 = 5 then begin
x:= x + A[i];
y:= y+1;
end;
s:= x/y;
Writeln(s);
 

Разбор программы:

* В переменной X программу будет считать общую сумму элементов массива, оканчивающихся на 5. В переменной Y программа будет считать количество таких элементов. Изначально присваиваем им значения 0.

* Далее в цикле for от 1 до 30 элементов проверяем оканчивается ли элемент на 5. Функция abs означает модуль, оно вводится для отрицательных чисел: 
Пример: -15 mod 10 программа выдаст -5, но по условию -15 нам тоже подходит, так как оно оканчивается на 5, поэтому следует проверять модуль отрицательных чисел.

* Если остаток от деления на 10 равен 5, тогда мы к предыдущему значению X прибавляем значение найденного элемента. Также увеличиваем количество, то есть переменную Y.

* По окончанию цикла находим среднее арифметическое делением общей суммы на количество и сохраняем значение в переменной S. 

* Выводим значение переменной S на экран.



Похожие материалы

avatar
Наверх