Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как исправить ошибку "ожидался оператор" в pascal abc?

Stasy Way Ученик (91), закрыт 12 лет назад
программа для проверки двух прямоугольников на равенство.
Код:
program square;
var a,b,x,y:=integer;
begin
write('введите значение a=');
readln(a);
write('введите значение b=');
readln(b);
write('введите значение x=');
readln (x);
write('введите значение y=');
readln(y);
if a=x and b=y then write('прямоугольники равны');
if a=y and b=x then write('прямоугольники равны');
else('прямоугольники не равны');
end.

выдает ошибку "ожидался оператор" в 14 строчке (else...), а как исправить не знаю
Лучший ответ
Капитан Гугл Искусственный Интеллект (146205) 12 лет назад
У оператора if есть две формы:
if ...then ...;
и
if ...then ...else ...;
Обрати внимание на точку с запятой во втором случае - она ставится только после else! Так что делай так:

if (a=x) and (b=y) then write('прямоугольники равны')
else if (a=y) and (b=x) then write('прямоугольники равны')
else('прямоугольники не равны');

(убраны точки с запятыми и добавлен else) или даже так:

if ((a=x) and (b=y)) or ((a=y) and (b=x)) then write('прямоугольники равны')
else('прямоугольники не равны');
Остальные ответы
Селин Дмитрий Мастер (1924) 12 лет назад
else write('прямоугольники не равны')
Krab Вark Оракул (56962) 12 лет назад
if (a=x) and (b=y) then write('прямоугольники равны') else
if (a=y) and (b=x) then write('прямоугольники равны')
else write('прямоугольники не равны');
Кирилл Волков Профи (671) 7 лет назад
точка с запятой не нужны
Настя Лебедева Ученик (105) 6 лет назад
перед else точка с запятой не ставится
Похожие вопросы