Top.Mail.Ru
Ответы
Аватар пользователя
13лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

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

программа для проверки двух прямоугольников на равенство.
Код:
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...), а как исправить не знаю

По дате
По рейтингу
Аватар пользователя
Новичок
13лет

У оператора 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('прямоугольники не равны');

Аватар пользователя
Мастер
13лет

else write('прямоугольники не равны')

Аватар пользователя
Ученик
7лет

перед else точка с запятой не ставится

Аватар пользователя
8лет

точка с запятой не нужны