Помогите с программированием пожалуйста ( Pascal ). Дан массив случайных целых чисел D из...

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

Помогите с программированием пожалуйста ( Pascal ).
Дан массив случайных целых чисел D из промежутка [0;10], состоящий из 10 элементов. Составить программу вычисления суммы трех элементов. В качестве подпрограммы оформить вычисление суммы трех последовательно расположенных элементов массива с номерами от k до m: D[1], D[2], D[3], D[3], D[4], D[5], D[4], D[5],D[6].


Информатика (41 баллов) | 12 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Const
  n = 10;

var
  D: array[1..n] of integer;

function Sum3(k: integer): integer;
begin
  Sum3 := D[k] + D[k + 1] + D[k + 2]
end;

var
  i: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  for i := 1 to n do
  begin D[i] := Random(11); Write(D[i]:3) end;
  Writeln;
  Writeln('Сумма D[1]..D[3]: ', Sum3(1));
  Writeln('Сумма D[3]..D[5]: ', Sum3(3));
  Writeln('Сумма D[4]..D[6]: ', Sum3(4))
end.

Тестовое решение:
Элементы массива
  2  1  5  9 10  2  9  7  2  1
Сумма D[1]..D[3]: 8
Сумма D[3]..D[5]: 24
Сумма D[4]..D[6]: 21


(142k баллов)
0 голосов
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 uses crt; const n=10; var a:array[1..n] of integer;     i,k,k0:integer;     s:real; begin  clrscr;   writeln('Массив :');    for i:=1 to n do     begin      write(i,' = ');       read(a[i]);     end;     k:=1;   for i:=1 to n do    if a[i]<0 then     begin      s:=s+a[i];      inc(k);     end    else      begin       if a[i]>0 then       inc(k0);      end;   s:=s/k; writeln;   if (k=1) and (k0=0) then    writeln('Положительных или отрицательных элементов в массиве нет,среднее ариф-ское = 0')   else    writeln('Среднее ариф-ского отрицательных элементов массива =',s:0:2);      readkey; end.

(246 баллов)