{
Ужасный код, куча абсолютно бесполезных 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.