Предмет: Информатика,
автор: Аноним
Встречено 'else', а ожидался оператор.
program qq;
var x,y:integer;
begin
writeln('Введите число x');
readln(x);
writeln('Введите число y');
readln(y);
if (x>=0) and (x<=2) and (y>=0) and (y<=1) then
writeln ('Входит');
else (x<0) and (x>2) and (y<0) and (y>1) then
writeln ('Не входит');
end.
13nisa13:
Перед else убери ; это один оператор
Я убрал, теперь пишется: Встречено 'and', а ожидалось ';'
Покажи текст целиком снова... Что-то не то... И условие второе взаимоисключающее х не может быть одновременно больше 2 и меньше 0...
Даны числа х и у. Определить, принадлежит ли точка с координатами (х, у) заштрихованной части плоскости
Сейчас пересоздам задачу
Ответы
Автор ответа:
3
По синтаксису Паскаля, между блоками if и else не должна стоять точка с запятой. Иначе компилятор сочтёт это за два раздельных блока и выдаст ошибку компиляции.
if (x >= 0) and (...) then writeln('Входит')
else writeln('Не входит');
То есть, после writeln('Входит') не должно быть точки с запятой.
Только тогда в блоке "else" не нужны условия ("else (...) and (...) ..." выдаст ошибку компиляции).
Ещё можно "else" заменить на "if", и получится два раздельных if-блока. Скорее всего, это и имел в виду компилятор.
if (x >= 0) and (...) then writeln('Входит')
else writeln('Не входит');
То есть, после writeln('Входит') не должно быть точки с запятой.
Только тогда в блоке "else" не нужны условия ("else (...) and (...) ..." выдаст ошибку компиляции).
Ещё можно "else" заменить на "if", и получится два раздельных if-блока. Скорее всего, это и имел в виду компилятор.
Похожие вопросы
Предмет: Русский язык,
автор: e7896578865095
Предмет: Алгебра,
автор: zajcevvadim60
Предмет: Физика,
автор: titopti777
Предмет: Математика,
автор: stassinitsyn6
Предмет: Математика,
автор: lera490