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

2.2 Оператор выбора.

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

CASE_выражение-селектор OF

константа_1 : оператор1;

константа_2 : оператор2;

……………………………

Константа_ N : операторN

ELSE операторE

END;

Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна вычисленному значению селектора. Если ни одна из констант не равна текущему значению селектора, то выполняется оператор, стоящий после ELSE.

2.3. Примеры программ.

1. Найти максимальное из двух чисел a и b

Program example1;

Var a,b,max:real;

begin

writeln(‘введите два числа ’);

readln(a,b);

if a>b then max:=a

else max:=b;

writeln(‘максимальное значение=’,max:5:2)

end.

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

В данной задче вся числовая прямая разбивается на три интервала: [0;0], [- ;0], [0; + ]. Заданная точка х может попасть в один из них. Сначала проверяется, попадает ли точка в первый интервал. Если попадает, то функцию вычисляем по первому выражению. Если нет, то точка может принадлежать второму или третьему интервалу. Поэтому проверяем принадлежность точки второму интервалу. Если точка принадлежит интервалу, то вычисляем функцию по второму выражению. Если нет, то можно без проверки принадлежности точки третьему интервалу вычислять функцию по третьему выражению.

Program example2;

Var x,y:real;

begin

writeln(‘введите x ’);

readln(x);

if x=0 then y:=0

else if x<0 then y:=x+1

else y:=sqr(x)-1;

writeln(‘y(‘,x,’)=’,y:5:2)

end.

3. Дана точка с координатами x,y. Определить принадлежит ли эта точка заданной заштрихованной области.

Program example3;

Var x,y:real;

begin

writeln(‘введите координаты точки ’);

readln(x,y);

if (abs(x)<4) and (abs(y)<2) then writeln(‘точка внутри области’)

else if (abs(x)>4) or (abs(y)>2 then writeln(‘точка вне области’)

else writeln(‘точка на границе области’)

end.

4. Определить диапазон, в котором находится вводимое с клавиатуры число.

Program example4;

Var i:integer;

begin

READ(I);

CASE I OF

1..10: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 1 до 10’);

11..20: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 11 до 20’);

21..30: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 21 до 30’);

ELSE WRITELN(‘число I=’,I:3,’находится вне диапазона 1 - 30’);

end; end.

2.4 Упражнения.

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

1.

2..

3.

4. Вычислить .

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

а) ; б) ; в)

6. Найти минимальное число из x1, x2, x3. Расположить эти три числа в порядке возрастания, убывания.

7. Дана точка на плоскости М (х, у ). Составить программу, которая дает ответ на вопрос: «Принадлежит ли точка заданной области: окружности с радиусом=2, кольцу с внешним радиусом 10 и внутренним радиусом 2, полукольцу?»

8. Дана точка с координатами x, y. Определить принадлежит ли эта точка заданной области:

9. Дано действительное число а. Для функций у = f(х), графики которых представлены на рисунке, вычислить f(a).