Найти среднее арифметическое всех положительных чисел массива и вывести все числа большие этого среднего - Turbo Pascal
Формулировка задачи:
Ребят, всем привет. Помогите с заданием пожалуйста. Нужен полный код программы и блок схема.
Найти среднее арифметическое всех положительных чисел массива и вывести на экран все числа большие этого среднего.
Решение задачи: «Найти среднее арифметическое всех положительных чисел массива и вывести все числа большие этого среднего»
textual
Листинг программы
program pr;
var
a:array[1..100]of integer;
i,sum,n:integer;
avg:double;
begin
writeln('Введите размер массива');
readln(n);
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:3);
if a[i]>0 then
sum+=a[i];
avg:=sum/n;
end;
writeln;
write('Среднее арифметическое всех положительных чисел массива= ',avg);
writeln;
writeln('Элементы массива больше средне арифметического: ');
for i:=1 to n do
if a[i]>avg then
writeln(a[i]:3);
end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных: a, i, sum, n и avg. Переменная avg инициализируется значением типа double, что позволяет хранить в ней дробные числа.
- Затем программа запрашивает у пользователя размер массива и считывает его в переменную n.
- Далее идет цикл for, который выполняется n раз. В каждой итерации цикла переменная i принимает значения от 1 до n (используется оператор присваивания :=).
- Внутри цикла переменная a[i] инициализируется случайным числом от 10 до 100 (включительно) с помощью функции random(21)-10. Это гарантирует, что все числа в массиве будут положительными.
- После инициализации каждого элемента массива, значение этого элемента выводится на экран с помощью функции write(a[i]:3). Функция :3 используется для форматирования вывода, чтобы число было выведено в формате с тремя знаками после запятой.
- Если значение a[i] положительное, то оно добавляется к сумме sum.
- По завершении цикла, переменная sum инициализируется значением суммы всех положительных чисел массива, деленным на n (sum/n). Значение n используется в качестве делителя.
- Наконец, выводится среднее арифметическое всех положительных чисел массива с помощью функции write('Среднее арифметическое всех положительных чисел массива= ',avg).
- Затем выводится список чисел, которые больше среднего арифметического. Для этого используется цикл for, который проходит по каждому элементу массива.
- Внутри цикла проверяется условие if a[i]>avg. Если это условие истинно, то значение a[i] выводится на экран с помощью функции write(a[i]:3).
- Программа заканчивается без использования функции end.