Задача - Среднее арифметическое положительных элементов массива - программирование на разных языках

Задача — Среднее арифметическое положительных элементов массива — программирование на разных языках

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

Задача — Среднее арифметическое положительных элементов массива
— программирование на Pascal, Си, Кумир, Basic-256, Python

Найти среднее арифметическое положительных элементов линейного массива.

Данная задача имеет смысл, если массив заполнен не только положительными числами, но также содержит отрицательные числа и/или возможно нули.

Для заполнения массива можно воспользоваться генератором псевдослучайных чисел. Допустим, надо сгенерировать числа в диапазоне от -5 до 4 включительно. Всего значений 10, смещение на -5. Таким образом, с помощью стандартной функции генерируем числа от 0 до 10 и вычитаем из них 5.

Среднее арифметической находится как отношение суммы чисел к количеству этих чисел. Поскольку надо найти среднее арифметическое только положительных чисел, то, перебирая массив, нам надо определять положительные числа, добавлять их к общей сумме, а также считать их количество. Для этого потребуется две переменные (например, sum и qty), которым до цикла следует присвоить значение 0.

Осуществлять проверку с помощью условного оператора if можно как в отдельном цикле перебора массива, так и в цикле его заполнения. Если очередной элемент массива больше нуля, то следует его значение добавить к переменной sum, а значение переменной qty увеличить на 1.

После того как все элементы массива проверены, надо найденную сумму положительных чисел разделить на их количество. Тем самым будет найдено среднее арифметическое.

Pascal

const N = 20;

var
arr: array[1..N] of integer;
i, qty: byte;
sum: word;
begin
sum := 0;
qty := 0;
randomize;
for i:=1 to N do begin
arr[i] := random(10)-5;
write(arr[i],’ ‘);
if arr[i] > 0 then begin
sum := sum + arr[i];
qty := qty + 1;
end;
end;
writeln;
writeln(sum/qty:7:2);
end. -1 2 -5 -5 -3 1 4 -2 -2 -1 -4 3 -2 1 -2 -1 1 -4 4 4
2.50

Язык Си

#include <stdio.h>
#define N 20

main() {
int a[N], i, q;
float sum;
q = 0;
sum = 0;
srand(time(NULL));
for (i=0; i<N; i++) {
a[i] = rand() % 10 — 5;
printf(«%3d», a[i]);
if (a[i] > 0) {
sum += a[i];
q += 1;
}
}
printf(«n»);
printf(«%5.2fn», sum/q);
}   1 -1  2 -3  4 -2 -2 -1 -4 -2 -5  3 -2 -3  1  0  4 -4 -5 -1
2.50

Python

from random import random
N = 20
a = [] for i in range(N):
n = int(random() * 10) — 5
a.append(n)
print(a)

s = q = 0
for i in range(N):
if a[i] > 0:
s += a[i] q += 1
print(«%5.2f» % (s/q)) [1, -2, -3, 0, -4, -1, 4, 0, -3, -3, 2, 4, 0, -1, -4, -2, -1, -2, 1, -5] 2.40

КуМир

алг среднее арифм полож
нач
цел таб a[1:20] цел i
вещ sum, qty
sum := 0
qty := 0
нц для i от 1 до 20
a[i] := int(rand(-5,5))
вывод a[i], » »
если a[i] > 0 то
sum := sum + a[i] qty := qty + 1
все
кц
вывод нс
вывод sum/qty
кон 4 4 -2 -4 -3 0 -2 0 -4 -4 3 1 2 3 0 -4 4 -4 1 -1
2.75

Basic-256

N = 20
dim arr(N)
sum = 0
qty = 0
for i=0 to N-1
arr[i] = int(rand()*10)-5
print arr[i] + » «;
if arr[i] > 0 then
sum = sum + arr[i] qty = qty + 1
endif
next i
print
print sum/qty -4 4 -4 3 -3 -3 -4 -2 -5 0 4 4 3 3 -5 -2 -1 3 0 1
3.125

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

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