{ Ужасный код, куча абсолютно бесполезных begin end, которые не стоят друг под другом, что только загромождает код! Ошибка в том, что Вы не форматируете код, и не видите, какой end закрывает какой begin. Уберите их из кода и получите: program gg; var a, b, c, d, e, max: integer;
begin writeLn('введите пять целых чисел'); read(a, b, c, d, e); if (a >= b) and (a >= c) and (a >= d) and (a >= e) then max := a else if (b >= a) and (b >= c) and (b >= d) and (b >= e) then max := b else if (c >= b) and (c >= a) and (c >= d) and (c >= e) then max := c else if (d >= b) and (d >= c) and (d >= a) and (d >= e) then max := a else max := e; writeln('наибольшее число ', max); end.
Форматирование кода: if () then begin оператор1; оператор2; end else begin оператор1; оператор2; end; }
Включите мозг и напишите нормальный код program gg;
var a, b, c, d, e, max: integer;
begin writeLn('введите пять целых чисел'); read(a, b, c, d, e); max:=a; if b > max then max:=b; if c > max then max:=c; if d > max then max:=d; if e > max then max:=e; Writeln(max); end.
or // PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (a,b,c):=readinteger3; var (d,e):= readinteger2; Writeln(max(a,max(b,max(c,max(d,e; end.
function f(n:integer):real; var p:real; i:integer; begin p:=1; for i:=1 to n do p:=p*i; f:=p end;
var x,y,z:integer;
begin Write('Введите x,y,z через пробел: '); Read(x,y,z); Writeln((f(x)+f(y))*f(z)) end.
Примеры Введите x,y,z через пробел: 8 12 5 57485030400
Введите x,y,z через пробел: 23 15 41 8.64815278005251E+71
2. Современное решение
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var f:integer->BigIinteger:=n->1.To(n).Aggregate(BigInteger(1),(x,y)->x*y); var (x,y,z):=ReadInteger3('Введите x,y,z через пробел:'); Writeln((f(x)+f(y))*f(z)) end.
Примеры Введите x,y,z через пробел: 8 12 5 57485030400
Введите x,y,z через пробел: 23 15 41 864815278005250908694716268480895614135710289321049211273216000000000000
Ужасный код, куча абсолютно бесполезных begin end, которые не стоят друг под другом, что только загромождает код! Ошибка в том, что Вы не форматируете код, и не видите, какой end закрывает какой begin. Уберите их из кода и получите:
program gg;
var
a, b, c, d, e, max: integer;
begin
writeLn('введите пять целых чисел');
read(a, b, c, d, e);
if (a >= b) and (a >= c) and (a >= d) and (a >= e) then
max := a
else
if (b >= a) and (b >= c) and (b >= d) and (b >= e) then
max := b
else
if (c >= b) and (c >= a) and (c >= d) and (c >= e) then
max := c
else
if (d >= b) and (d >= c) and (d >= a) and (d >= e) then
max := a
else
max := e;
writeln('наибольшее число ', max);
end.
Форматирование кода:
if () then
begin
оператор1;
оператор2;
end
else
begin
оператор1;
оператор2;
end;
}
Включите мозг и напишите нормальный код
program gg;
var
a, b, c, d, e, max: integer;
begin
writeLn('введите пять целых чисел');
read(a, b, c, d, e);
max:=a;
if b > max then max:=b;
if c > max then max:=c;
if d > max then max:=d;
if e > max then max:=e;
Writeln(max);
end.
or
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,c):=readinteger3;
var (d,e):= readinteger2;
Writeln(max(a,max(b,max(c,max(d,e;
end.
function f(n:integer):real;
var
p:real;
i:integer;
begin
p:=1;
for i:=1 to n do p:=p*i;
f:=p
end;
var
x,y,z:integer;
begin
Write('Введите x,y,z через пробел: ');
Read(x,y,z);
Writeln((f(x)+f(y))*f(z))
end.
Примеры
Введите x,y,z через пробел: 8 12 5
57485030400
Введите x,y,z через пробел: 23 15 41
8.64815278005251E+71
2. Современное решение
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var f:integer->BigIinteger:=n->1.To(n).Aggregate(BigInteger(1),(x,y)->x*y);
var (x,y,z):=ReadInteger3('Введите x,y,z через пробел:');
Writeln((f(x)+f(y))*f(z))
end.
Примеры
Введите x,y,z через пробел: 8 12 5
57485030400
Введите x,y,z через пробел: 23 15 41
864815278005250908694716268480895614135710289321049211273216000000000000