Перейти к содержанию
Функция, вычисляющая среднее арифметическое элементов массива
Просмотров 11.9к. Обновлено 15 октября 2021
Написать функцию, которая вычисляет среднее арифметическое элементов массива, переданного ей в качестве аргумента.
Среднее арифметическое определяется как сумма элементов, деленная на их количество.
Параметром функции является целочисленный массив, возвращает она вещественное число.
В теле функции элементы перебираются в цикле, каждый добавляется к переменной, в которой накапливается сумма. После завершения работы цикла полученная сумма делится на количество элементов в массиве. Полученное значение возвращается из функции в основную ветку программы. Здесь оно может быть присвоено какой-либо переменной или сразу выведено на экран.
Pascal
паскаль среднее арифметическое чисел
const N = 10;
type
arrtype = array[1..N] of integer;
var
arr: arrtype;
i: byte;
avrg: real;procedure fill_array(var a: arrtype);
begin
for i:=1 to N do a[i]:=random(50)+1;
end;function average(a:arrtype):real;
var sum:integer;
begin
sum := 0;
for i:=1 to N do sum:=sum+a[i];
average := sum / n;
end;begin
randomize;
fill_array(arr);
for i:=1 to N do write(arr[i]:4);
writeln;
avrg := average(arr);
writeln(avrg:3:2);
end.
3 31 24 25 42 5 26 39 27 43
26.50
В данном случае, кроме функции, определяющей среднее арифметическое, используется процедура заполнения массива случайными числами.
Язык Си
#include < stdio.h>
#define N 10
float average(int arr[]);main() {
int a[N];
int i, min1, min2, buff;
srand(time(NULL));
for (i=0; i< N; i++) {
a[i] = rand() % 100;
printf("%3d", a[i]);
}
printf("n %.2fn", average(a));
}float average(int arr[]) {
int sum, i;
sum = 0;
for (i=0; i< N; i++) sum += arr[i];
return sum/N;
}
82 35 2 32 56 55 33 41 99 45
48.00
Python
среднее арифметическое python
from random import random
N = 10def average(a):
s = 0
for i in range(N):
s += a[i]
return s/Narr = [0] * N
for i in range(N):
arr[i] = int(random() * 100)b = average(arr)
print(arr)
print(b)
[30, 63, 67, 29, 29, 54, 30, 29, 41, 0]
37.2
В языке Python есть встроенная функция sum(), которая возвращает сумму элементов переданного ей списка. Поэтому код
s = 0
for i in range(N):
s += a[i]
можно заменить на
s = sum(a)
1 / 1 / 5 Регистрация: 21.11.2009 Сообщений: 87 |
|
1 |
|
Написать программу, вычисляющую среднее арифметическое29.03.2010, 20:45. Показов 36242. Ответов 11
Написать программу, вычисляющую среднее арифметическое последовательности положительных чисел. Числа вводятся с клавиатуры, ввод нуля – это признак конца последовательности
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
29.03.2010, 20:45 |
11 |
NoNameUser 6 / 6 / 1 Регистрация: 29.03.2010 Сообщений: 29 |
||||
29.03.2010, 21:11 |
2 |
|||
Вроде так..
1 |
1 / 1 / 5 Регистрация: 21.11.2009 Сообщений: 87 |
|
29.03.2010, 21:19 [ТС] |
3 |
деление на ноль выдает
0 |
6 / 6 / 1 Регистрация: 29.03.2010 Сообщений: 29 |
|
29.03.2010, 21:21 |
4 |
Обрати внимание на 10ю строчку
1 |
1 / 1 / 5 Регистрация: 21.11.2009 Сообщений: 87 |
|
29.03.2010, 21:25 [ТС] |
5 |
все равно пишет деление на ноль и останавливается на 14 строке
0 |
NoNameUser 6 / 6 / 1 Регистрация: 29.03.2010 Сообщений: 29 |
||||
29.03.2010, 21:27 |
6 |
|||
А,понял.Перед while присвой z:=1;
1 |
yuivanenko 34 / 33 / 12 Регистрация: 09.01.2010 Сообщений: 202 |
||||
29.03.2010, 21:31 |
7 |
|||
Выдает не деление на ноль, а ноль (т.к. while сразу не работает). Лови нормальную программу
1 |
NoNameUser 6 / 6 / 1 Регистрация: 29.03.2010 Сообщений: 29 |
||||
29.03.2010, 21:34 |
8 |
|||
Давно ничего на паскале не писал..
1 |
boing 1 / 1 / 5 Регистрация: 21.11.2009 Сообщений: 87 |
||||
29.03.2010, 21:35 [ТС] |
9 |
|||
не могу отладить программу уходит в цикл постоянный помогите пожалуйста
0 |
lera8 636 / 219 / 64 Регистрация: 03.11.2009 Сообщений: 488 |
||||
29.03.2010, 21:36 |
10 |
|||
Подправила код
1 |
6 / 6 / 1 Регистрация: 29.03.2010 Сообщений: 29 |
|
29.03.2010, 21:38 |
11 |
Да,нужно было еще одну переменную)
1 |
1 / 1 / 5 Регистрация: 21.11.2009 Сообщений: 87 |
|
29.03.2010, 21:43 [ТС] |
12 |
работает всеми способами :good:
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
29.03.2010, 21:43 |
Помогаю со студенческими работами здесь Написать программу, которая подсчитывает текущее среднее арифметическое введённых чисел Составить функцию, вычисляющую среднее арифметическое положительных элементов одномерного массива Описать функцию average(ar, n), вычисляющую среднее арифметическое первых n элементов массива Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее геометрическое GMean =sqrt(X ⋅Y) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 12 |
Решение задач по программированию из огэ по информатике на паскале.
В этой статье мы научимся решать на паскаль задачи с номером 20 огэ по информатике.
Чтобы успешно решать задачи огэ по программированию на паскаль нужно уметь
определять и вводить с клавиатуры переменные в Паскаль
вводить данные с помощью цикла for в Паскаль,
проверять введенные данные с помощью оператора условия if Паскаль,
Разберем как решать на паскаль задачу огэ по программированию на поиск суммы
Напишем программу на паскаль, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 5.
В начале программы зададим переменные
n отвечает за количество элементов в последовательности
i счетчик цикла
s отвечает за сумму
a отвечает за элемент последовательности
В начале программы введем число элементов последовательности, значению суммы присвоим 0
var i,n,s,a: integer;
begin
s:=0;
writeln(‘введите число элементов’);
readln(n);
С помощью цикла for организуем ввод элементов последовательности. Для каждого элемента последовательности проверяем его последнюю цифру, равна ли она 5. Чтобы получить последнюю цифру числа, нужно применить операцию
Переменная mod 10
Поэтому, чтобы проверить, является ли последняя цифра 5, нужно применить оператор условия if
if (a mod 10 = 5) then
begin
s = s+a;
end;
Полная версия программы для поиска суммы элементов последовательности, последняя цифра которых 5 на паскале
var i,n,s,a: integer;
begin
s:=0;
writeln(‘введите число элементов’);
readln(n);
for i:=1 to n do
begin
readln (a);
if (a mod 10=5) then
begin
s:=s+a;
end;
end;
writeln (s);
end.
Разберем как решать на паскаль задачу огэ по программированию на расчёт среднего арифметического элементов последовательности, удовлетворяющих заданному условию
Напишем программу на паскале, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 7, или сообщает, что таких чисел нет (выводит «NO»).
В начале программы зададим переменные
n – количество элементов в последовательности
i – счётчик цикла
s – сумма элементов
a – текущий элемент последовательности
k – количество элементов, кратных семи
Задаём количество элементов в последовательности, обнуляем сумму и переменную счётчика.
var i,n,s,k, a: integer;
begin
s:=0;
k:=0;
writeln(‘введите число элементов’);
readln(n);
В цикле for вводим с клавиатуры элементы последовательности. С помощью условия if проверяем, кратен ли элемент семи, с помощью выражения a mod 7 = 0. Если элемент кратен, то прибавляем его к сумме, и увеличиваем количество элементов на 1.
for i:=1 to n do
begin
readln (a);
if (a mod 7=0) then
begin
s:=s+a;
k:=k+1;
end;
end;
В конце программы проверяем, есть ли элементы, кратные семи, если их нет, то выводим сообщение «Элементов нет», иначе выводим среднее арифметическое элементов, кратных семи. Чтобы подсчитать среднее арифметическое, нужно сумму поделить на количество элементов.
if (k=0) then
begin
writeln (‘Элементов нет’);
end
else
begin
writeln (‘Среднее арифметическое’, s/k);
end
Полная версия программы на паскаль, которая подсчитывает среднее арифметическое элементов, кратных семи
var i,n,s,k, a: integer;
begin
s:=0;
k:=0;
writeln(‘введите число элементов’);
readln(n);
for i:=1 to n do
begin
readln (a);
if (a mod 7=0) then
begin
s:=s+a;
k:=k+1;
end;
end;
if (k=0) then
begin
writeln (‘Элементов нет’);
end
else
begin
writeln (‘Среднее арифметическое’, s/k);
end
end.
Перейти к курсу паскаль
Полезно почитать по теме задачи огэ по информатике на паскале
Решение на паскале задач огэ по информатике на поиск числа элементов удовлетворяющих заданному условию
Решение задач на паскале из демо вариантов огэ по информатике
Поделиться:
Нет комментариев. Ваш будет первым!
Составить программу для вычисления среднего арифметического числа одномерного массива.
Для решения данной задачи, первоначально необходимо сложить все элементы массива и разделить получившуюся сумму на количество элементов (в данном примере константа n).
В примере количество элементов для массива задается константой n, т.е. для увеличения или уменьшения размерности массива необходимо сменить значение данной константы до выполнения программы. У данного метода решения есть один недостаток: не возможно задать размерность массива в процессе выполнения программы.
Uses Crt; Const n=10; Var a:Array[1..n] of Integer; s: Real; sum,n,i: Integer; Begin ClrScr; For i:=1 To n Do Begin Write('a[',i,']='); Readln(a[i]); End; sum:=0; For i:=1 To n Do sum:=sum+a[i]; s:=sum/n; Writeln('Ср.ариф.массива = ',s); Repeat Until KeyPressed End.
Внесено изменение для для https://www.onlinegdb.com/online_pascal_compiler
вместо sum,n,i: Integer; объявление sum,i: Integer;
Uses Crt; Const n=10; Var a:Array[1..n] of Integer; s: Real; sum,i: Integer; Begin ClrScr; For i:=1 To n Do Begin Write('a[',i,']='); Readln(a[i]); End; sum:=0; For i:=1 To n Do sum:=sum+a[i]; s:=sum/n; Writeln('Ср.ариф.массива = ',s); Repeat Until KeyPressed End.