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

Разветвляющиеся вычислительные процессы

До сих пор мы решали задачи, не учитывая области допустимости.

  1. Например: при решения уравнения y=1/x, х не может быть равным 0, а в уравнении, х не может быть <0.

Для решения подобных задач необходимо выбрать одну из двух альтернатив.

Например, для того чтобы решить уравненияy=1/x, необходимо:

Ввести х

Если х=0 то вывести сообщение «решений нет»

иначе начать действия

посчитать чему будет равен y,

и вывести ответ

закончить действия

Общая форма записи

IF <Логическое выражение> THEN оператор 1 ELSE оператор 2;

Если условие равно значению истина, т.е. Логическое выражение=TRUE– выполняется оператор 1, еслиЛогическое выражение=FALSE– оператор 2.

После слов THENиELSEразрешено выполнение одного оператора. В том случае, когда возникает необходимость вставить несколько операторов, их необходимо заключить в операторные скобкиBEGIN…END.

Сложные условия расписываются с помощью логических операций.

Пример:

или xIF (x>=1) and (x<=5) then…

2)IF (x<1) or (x>5) then…

Программа на языке Паскаль для уравнения у=1/х будет выглядеть так:

Var

x,y:real;

begin

Read (X);

If x=0 then write (‘решений нет’)

Else begin

Y=1/x;

Write (‘y=’,y:5:2);

End;

End.

2.Оператор выбора case

Если один оператор IF может обеспечить выбор из двух альтернатив, то оператор Case позволяет сделать выбор из произвольного числа имеющихся вариантов.

Он состоит из выражения, называемого селектором и списка параметров, каждому из которых соответствует один оператор или набор операторов.

Общая форма записи

Case<Выражение селектор>of

<параметр1>:<оператор1;>

<параметр2>:<оператор2;>

……

<параметрN>:<операторN;>

else<оператор;>

end;

В начале вычисляется выражение селектор, затем выполняется соответствующий этому значению оператор. Селектор должен относится к одному из целочисленных типов (от –32768 .. 32767), булевскому, литерному или пользовательскому.

Например:

Case i of

1..10: Writeln (‘числа от 1 до 10’);

12,14,16,18,20: Writeln(‘четные числа от 12 до 20’);

end;

Задача:

По введенному номеру дня вывести его наименование (например: 1 – понедельник, 2 – вторник).

Var

I:integer;

Begin

Writeln(‘введи номер дня’);

Readln(i);

Case i of

1:writeln(‘понедельник’);

2:writeln(‘вторник’);

3:writeln(‘среда’);

4:writeln(‘четверг’);

5:writeln(‘пятница’);

6:writeln(‘суббота’);

7:writeln(‘воскресенье’);

elsewriteln(‘такого дня нет’);

end;

end.

Блок – схема CASE

Вопросы для закрепления:

  1. Вычислить значение выражения:

  1. AORB

  2. b)AORBANDNOTA

  3. c)

  1. Необходимо определить заштрихованную область в виде условия.

3. Записать в виде условия, в котором значение переменной вычисляется по формуле:

4. Записать в виде условия, в котором значение переменной вычисляется по формуле:

5. Записать приведенные ниже высказывания в виде выражений:

а) значение А не принадлежит интервалу (0,3);

б) значение А принадлежит отрезку [-2,0];

в) значение А принадлежит одному из отрезков: [-5, -4], [0,2], [3.2,7];

г) точка А с координатами (X, Y) лежит внутри круга с центром в начале координат и радиусом 2,3;

д) точка А с координатами (X, Y) лежит на границе или вне единичного круга с центром в начале координат.

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