Другие языки программирования и технологии

Помогите пожалуйста найти ошибку. Паскаль. Оператор Case of

Program zadanie_1;
Var
x,a,b,c,y:real;
Begin
a:=2.1;
b:=1.8;
c:=-20.5;
Write('Введите х=');
Read(x);
Case x of
begin
x<4 : y:=a/x+b*sqr(x)+c;
x>=4 : y:=x+a*x+b*exp(3*ln(x));
end;
Writeln('Исходные данные: a=',a:3:1,' b=',b:3:1,' c=',c:5:1,' x=',x:4:2);
Writeln('Результат выполнения y=',y:6:4);
End.

При ошибке курсор указывает перед of. Я неправильно метки написала? Как правильно указать диапазон: х до 4, и х больше либо равно 4, чтобы выполнились операции?
Юрий Климешин
Юрий Климешин
2 227
ошибка в использовании операторных скобок.

Пиши на почту если не разберешься.
Віталій Боршош
Віталій Боршош
20 142
Лучший ответ
Оператор выбора
Оператор выбора выполняет одно действие из нескольких в зависимости от значения некоторого выражения, называемого переключателем. Он имеет следующий вид:

case переключатель of
список выбора 1: оператор1;
...
список выбора N: операторN;
else оператор0
end;

Переключатель представляет собой выражение порядкового типа, а списки выбора содержат константы совместимого по присваиванию типа. Как и в операторе if, ветка else может отсутствовать.

Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.

Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b (константа a должна быть меньше константы b); можно также перечислить несколько констант или диапазонов через запятую:

case DayOfWeek of
1..5: writeln('Будний день');
6,7: writeln('Выходной день');
end;

Списки выбора не должны пересекаться. Например, следующий фрагмент

case i of
2,5: write(1);
4..6: write(2);
end;

приведет к ошибке компиляции.
ну сравнение вроде там должно быть где курсор показывает, а не внизу.
кейсов должно быть столько сколько проверок на условие, хотя я этот язык лет пять не пользовала уже.
KK
Kairat Kambarov
8 712
Вам по поводу ошибки в операторе case уже написали, но в этой программе он совсем не нужен. Нужно использовать оператор if .
Илья **artes**
Илья **artes**
1 417
А "х" разве в скобки не надо ставить??
Віталій Боршош нет, не надо.