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

Ответы на вопрос

Ответ:
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 на экран



Конечно, вот алгоритм на языке Pascal, который позволяет подсчитать и вывести среднее арифметическое элементов массива, оканчивающихся на цифру 5:
pascalprogram AverageEndingIn5; var arr: array[1..30] of integer; // Объявляем массив из 30 элементов i, count, sum: integer; average: real; begin // Инициализируем массив случайными значениями от 10 до 1000 randomize; for i := 1 to 30 do arr[i] := random(991) + 10; // случайное значение от 10 до 1000 // Инициализируем переменные для подсчета среднего count := 0; sum := 0; // Перебираем элементы массива и считаем сумму элементов, оканчивающихся на 5 for i := 1 to 30 do begin if arr[i] mod 10 = 5 then begin count := count + 1; sum := sum + arr[i]; end; end; // Проверяем, что найдено хотя бы одно такое число if count > 0 then begin // Вычисляем среднее арифметическое average := sum / count; writeln('Среднее арифметическое элементов, оканчивающихся на 5: ', average:0:2); end else writeln('В массиве нет элементов, оканчивающихся на 5.'); readln; end.
Этот код создает массив из 30 случайных чисел от 10 до 1000 и затем находит среднее арифметическое только тех элементов, которые оканчиваются на 5.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili