Дана программа, содержащая синтаксические и алгоритмические ошибки и/или пропуски....

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

Дана программа, содержащая синтаксические и алгоритмические ошибки и/или пропуски. Указать строки, содержащие эти ошибки и их содержание. Исправить их. Если есть пропуски, заполнить их. Представить правильный вариант программы.

Определить среднее геометрическое элементов набора данных, полученных случайным образом и содержащего положительные числа.
procedure solution(n: byte; var __: double);
var
i: byte;
a: integer;
begin
s := 1;
for i := 1 to n do
begin
a := 1 + random(21);
write(a:5);
s:=s* a
end;
s:=power(s, 1/n);
writeln
end;

var
n: byte;
p: ____;

begin
randomize;
write('n? ');
readln(n);
solution(n, p);
writeln(___)
end.


Информатика (107 баллов) | 42 просмотров
0

procedure solution(n: byte; var s: double);vari: byte;a: integer;begins := 1;for i := 1 to n dobegina := 1 + random(21);write(a:5);s:=s* aend;s:=power(s, 1/n);writeln();end;varn: byte;p: double;beginrandomize;write('n? ');readln(n);solution(n, p);writeln('Среднее геометрическое = ', p);end.

Дан 1 ответ
0 голосов
Правильный ответ

Procedure solution(n: byte; var s: double);
var
    i: byte;
    a: integer;
begin
    s := 1;
    for i := 1 to n do
    begin
        a := 1 + random(21);
        write(a, ' '); {так красивше}
        s := s * a
    end;
    writeln; {строки поменяны местами просто для удобочитаемости}
    
    s := power(s, 1 / n);
end;

var
    n: byte;
    p: double;

begin
    randomize;
    write('n? ');
    readln(n);
    solution(n, p);
    writeln(p)
end.

(53.1k баллов)