Задача - Функция, вычисляющая среднее арифметическое элементов массива - программирование на разных языках

Задача — Функция, вычисляющая среднее арифметическое элементов массива — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Функция, вычисляющая среднее арифметическое элементов массива
— программирование на Pascal, Си, Кумир, Basic-256, Python

Написать функцию, которая вычисляет среднее арифметическое элементов массива, переданного ей в качестве аргумента.

Среднее арифметическое определяется как сумма элементов, деленная на их количество.

Параметром функции является целочисленный массив, возвращает она вещественное число.

В теле функции элементы перебираются в цикле, каждый добавляется к переменной, в которой накапливается сумма. После завершения работы цикла полученная сумма делится на количество элементов в массиве. Полученное значение возвращается из функции в основную ветку программы. Здесь оно может быть присвоено какой-либо переменной или сразу выведено на экран.

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

from random import random
N = 10

def average(a):
s = 0
for i in range(N):
s += a[i] return s/N

arr = [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)

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий