Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LYeKTsIYa_15_2.doc
Скачиваний:
13
Добавлен:
20.04.2019
Размер:
199.68 Кб
Скачать

Пример 2.

Составить программу вычисления функции

Решение:

PROGRAM pr2;

VAR x,y:real;

BEGIN

writeln(‘ввести данные:’);

readln(x);

y:=0;

if x>0 then y:=sqr(x);

writeln(‘y=’,y:8:2,’ при x=’,x:5:2)

END.

Пример 3.

Вычислить корни квадратного уравнения общего вида

в области действительных чисел.

Решение:

PROGRAM pr3;

VAR a,b,c,x1,x2,d:real;

BEGIN

writeln(‘ввести данные:’);

readln(a,b,c);

d:=sqr(b)-4*a*c;

if d<0 then writeln(‘корней действительных нет’)

else BEGIN

if abs(d)=0 then BEGIN

x1:=-b/(2*a);

x2:=x1

END

else BEGIN

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a)

END;

writeln(‘x1=’,x1,’ x2=’,x2)

END

END.

ОПЕРАТОР ВАРИАНТА CASE

Если один условный оператор может обеспечить выбор из двух альтернатив, то оператор варианта (выбора) позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором (selection – выбор альтернативы), и списка параметров, каждому из которых предшествует список констант выбора (список может состоять и из одной константы).

В общем случае оператор имеет вид:

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

<список-меток-1>: <оператор 1>;

<список-меток-2>: <оператор 2>;

. . . . . . . . . . . . . . . . . . . . . . ;

<список-меток-N>: <оператор N>

ELSE <оператор>

END;

где

  • селектором является выражение любого скалярного типа, кроме вещественного;

  • <список-меток-1, ... , список-меток-N> представляет собой список разделенных запятыми значений выражения селектора или одно его значение. Эти константы должны иметь тот же тип, что и селектор, и называются метками варианта.

  • <оператор 1, ... , оператор N> являются любыми операторами языка Pascal, в том числе и составными.

Метка варианта - не обычная метка: это не обязательно целое число, она не описывается в разделе LABEL, на нее нельзя ссылаться в операторе GOTO.

Оператор варианта работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, то выполняется оператор, стоящий за словом else. Если слово else отсутствует, активизируется оператор, находящийся за словом end, т.е. первый оператор за границей оператора выбора case. Хотя наличие слова else и не обязательно, рекомендуется всегда обрабатывать случай, когда значение выражения не совпадает ни с одной из констант. Это облегчает поиск ошибок при отладке программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]