Ошибка в простой задаче: пишет ожидался оператор, а встретил else
Pascal. Ошибка в простой задаче: пишет ожидался оператор, а встретил else.
program MaxIn_3;
var
x, y, z, res: real;
begin
writeln('Введите целые числа: X, Y, Z');
readln(x, y, z);
res := x + y + z;
if (res < 1) then
begin
if (x > y) and (x <> y) then
begin
y := (y + z) / 2;
writeln('X=', x, ',', 'Y=', y, ',', 'Z=', z, '.');
end
else
begin
if (y > x) and (x <> y) then
begin
x := (y + z) / 2;
writeln('X=', x, ',', 'Y=', y, ',', 'Z=', z, '.');
end
else
begin
Writeln('X=Y,',x,'=',y);
end;
**end;// - если убрать здесь ; то пишет MaxIn_3.pas(29) : Встречено 'else', а ожидалось ';'**
**else** //вот здеся ошибка, видимо мне мозгов не хватает понять
begin
if (x>y) and (x <> y) then
begin
x:=x*y;
writeln('X=', x, ',', 'Y=', y, ',', 'Z=', z, '.');
end
else
begin
if (y>x) and (x <> y) then
begin
y:=x*y;
writeln('X=', x, ',', 'Y=', y, ',', 'Z=', z, '.');
end
else
begin
Writeln('X=Y,',x,'=',y);
end;
end;
end;
end;
end.
Среда программирования PascalABC.NET, по моей блок-схеме все верно, разделы операторов вроде все на месте, в чем может быть ошибка? Или у меня косоглазие просто?
Источник: Stack Overflow на русском