Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическое задание 1- 10.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
440.95 Кб
Скачать

2 Оператор case.

Оператор case позволяет сделать выбор из произвольного числа имеющихся вариантов.

С его помощью можно сопоставить различным значениям некоторого выражения, называемого селектором (от selection - выбор), соответствующие им операторы. Оператор case имеет следующий формат:

case <выражение-селектор> of

константа или список констант №1 : <оператор 1>;

константа или список констант №2 : <оператор 2>;

константа №N : <оператор N>

else <альтернативный оператор>

end;

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

writeln('Введите значение n =’);

readln(n);

case n of

1 : у:=х;

2 : у:=х*х;

3 : у:=х*х*х

else y:=0

end:

writeln(‘y=’, у);

При n=1 выполняется оператор у:=x.

При n=2 выполняется оператор у:=х*х.

При n=3 выполняется оператор у:=х*х*х.

При любых других значениях n выполняется оператор у:=0).

После завершения оператора case выполняется оператор writeln('y=’,у). Кроме одиночных констант могут быть заданны списки и/или диапазоны значений. Например:

case n of

0,1..4 :у:=х;

2,5 : у:=х*х;

3 : у:=х*х*х

end;

При использовании оператора case должны выполняться следующие правила:

- значение селектора должно принадлежать дискретному типу; для целого типа integer оно должно лежать в диапазоне -32768 .32767;

- все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом селектора;

- все константы в альтернативах должны быть уникальны в пределах оператора case;

- диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или в других альтернативах.

3 Оператор goto.

Оператор безусловного перехода goto означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий оператор, а какой-нибудь другой. Метка объявляется в разделе описания меток и может содержать как цифровые, так и буквенные символы. Метка отделяется от помеченного оператора двоеточием. Например:

………………………….

label M1;

var

n : Integer;

х,у : real;

begin readln(n,x);

…………………………

goto M1;

…………………………

М1:

у:=х*2-3/х;

writeln(‘y=’ у);

Тестирование готовой программы

Задача №1: составить программу для вычисления значения функции .

Для того чтобы вычислить значение функции, сначала необходимо проверить условие . Согласно определению условного выражения данное условие является простым.

Для составления программы будем использовать полную форму записи оператора условного перехода (IF <условие> THEN <оператор 1> ELSE <оператор 2>).

После оператора IF записывают проверяемое условие (для данной задачи–это условие x-4<>0), после оператора THEN записывают выполнения действий, удовлетворяющие проверяемому условию (для данной задачи–это y=1/(x-4)– оператор присваивания). А после оператора ELSE запишем вывод сообщения о неопределенности функции.

Программа будет выглядеть следующим образом:

Program zadacha1_10;

Название программы

var x, y: real;

Осуществляется описание используемых в программе переменных

begin

Начало программы

writeln ('Введите произвольное значение x ');

Осуществляется вывод поясняющего текста

readln (x);

Осуществляется ввод исходных данных: значение переменной x

if x - 4 <> 0 then y: = 1/(x-4)

Смотрите примечание 1, 2

else writeln (' Функция y не определена ');

Осуществляется вывод сообщения

end.

Завершение программы

Примечание 1: После оператора IF указано проверяемое условие, после оператора THENвычисление функции по указанной формуле.

Примечание 2: после запуска программы на исполнение нажатием клавиши F9 на экране появится подсказка оператора ввода «Введите произвольное значение x», после которого необходимо ввести произвольное значение переменной x. Затем нажатием клавиши Enter получаем искомый результат–значение функции y.

Задача №2: составить программу для вычисления значения функции по одной из формул

Программа:

Program zadacha2_10;

begin

var a, b, x, y: real;

writeln ('Введите a, b, x ');

readln (a, b, x);

if x - 4 < 10 then y: = (x + a)

else y: = SIN(x) – b;

writeln (' y = ' , y);

end.