Помогите пожалуйста. Написала программу с подпрограммой на паскале, но что-то нет так. В компьютере не работает помогите найти и исправить ошибку.
Задание: 5.1 (на фото)
Программа:
program lab5;
const n=12;
type masiv=array[1..n] of integer;
var A,L,B
i:integer;
sr1,sr2,sr3,s:real;
procedure vvod(var x:masiv);
var i: integer;
begin
for i:=1 to n do
readln(x[i]);
end;
procedure sred(var x:masiv;n:integer;var s,sr:real);
var i:integer;
begin
s:=0;
for i:=1 to n do;
begin
s:=s+x[i];
end;
sr:=s/n;
end;
begin
vvod(A7);
vvod(L12);
vvod(B8);
sred(A,7,sr1);
sred(L,12,sr2);
sred(B,8,sr3);
y:=(sr1+sr2+sr3)/3;
writeln('y=',y:5:3);
end.
Answers & Comments
Листинг программы и скриншот работы в приложениях.
Написано на PascalABC.NET но будет работать и в других Паскалях.
Исправленная программа ниже.
}
program lab5;
const
n = 12;
type
masiv = array[1..n] of integer;
var
A, L, B: masiv;
i: integer;
sr1, sr2, sr3, s,y: real;
procedure vvod(var x: masiv; n: byte);
var
i: integer;
begin
writeln('Введите элементы массива');
for i := 1 to n do
read(x[i]);
end;
procedure sred(var x: masiv; n: integer; var sr: real);
var
i, s: integer;
begin
s := 0;
for i := 1 to n do;
s := s + x[i];
sr := s / n;
end;
begin
vvod(A, 7);
vvod(L, 12);
vvod(B, 8);
sred(A, 7, sr1);
sred(L, 12, sr2);
sred(B, 8, sr3);
y := (sr1 + sr2 + sr3) / 3;
writeln('y=', y:5:3);
end.
const maxsize = 12;
type masiv=array[1..maxsize] of integer;
var A7, L12, B8:masiv;
var sr1,sr2,sr3,y:real;
procedure vvod(var x: masiv; n:integer);
var i: integer;
begin
for i:=1 to n do
readln(x[i]);
end;
function sred(x:masiv;n:integer):real;
var i:integer;
var s:real;
begin
s := 0.0;
for i:=1 to n do begin
s := s + x[i];
end;
sred := s / n;
end;
begin
vvod(A7, 7);
vvod(L12, 12);
vvod(B8, 8);
sr1 := sred(A7,7);
sr2 := sred(L12,12);
sr3 := sred(B8,8);
y:=(sr1+sr2+sr3)/3.0;
writeln('y=',y:5:3);
end.