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

0 голосов
68 просмотров

Pascal

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

2. Найти минимальный элемент одномерного массива.


Информатика (165 баллов) | 68 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. Современное решение

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  Writeln('Среднее положительных ',a.Where(x->x>0).Average);
  Writeln('Минимум ',a.Min)
end.

Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38

2. Школьный вариант на древних версиях

program Ex1;
const
  nn=100; { ограничение на длину массива }
var
  i,n,s,k:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]>0 then begin
      k:=k+1; s:=s+a[i]
      end
    end;
  Writeln;
  Writeln('Среднее положительных ',s/k) 
end.

program Ex2;
const
  nn=100; { ограничение на длину массива }
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  min:=100; { больше максимально возможного }
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]    end;
  Writeln;
  Writeln('Минимум ',min)
end.

Выводы о том, чему и как учат в школе, делайте самостоятельно...
(150k баллов)