Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователем1581mgtu.ru
1 Ветвление
2 определение Разветвляющимся называется процесс, в котором естественный порядок выполнения нарушается в зависимости от условия.
3 ОПЕРАЦИИ ОТНОШЕНИЯ Для описания условия (логического выражения) используются следующие операции отношения: > больше = равно не равно >= больше или равно
4 ЛОГИЧЕСКИЕ ОПЕРАЦИИ Not – НЕ (отрицание) And – И (логическое умножение) Or – ИЛИ (логическое сложение) Xor- выбор
5 Логический блок Логич. Выраж. да нет
6 ВЕТВЬ Каждое направление вычисления называется ветвью. Каждая ветвь должна заканчиваться в блоке «конец».
7 Блок-схемы ветвлений Неполное ветвление Полное ветвление ДАНЕТ ДА НЕТ условие действие действие1 действие2 IF THEN ; IF THEN ELSE ;
8 ПРИМЕРЫ 1. If x>1 THEN y:=sqr(x)+1 ELSE y:=x-3; 2. If a>b then c:=a else c:=b; 3. If x
9 РАБОТА ПОЛНОГО УСЛОВНОГО ОПЕРАТОРА Если условие после слова IF выполняется, то выполняется после слова THEN, что соответствует ветви «ДА» на блок-схеме. Если условие не выполняется, то выполняется, что соответствует ветви «НЕТ» на блок-схеме.
10 РАБОТА КОРОТКОГО УСЛОВНОГО ОПЕРАТОРА Если условие после слова IF выполняется, то выполняется после слова THEN, что соответствует ветви «ДА» на блок-схеме. Если условие не выполняется, то управление программой передается следующему оператору, что соответствует ветви «НЕТ» на блок-схеме.
11 Определите по блок-схеме значение переменной y, если введено значение х=-4: y=sqr(x) y=x+5 ввод х вывод y начало конец x
12 Упражнение 1 Какое значение будет принимать переменная Х после выполнения фрагмента программы? 1. F:=5;D:=7; If f>=d then x:=f else x:=d; Ответ: Х= 2. a:=3;b:=4; If a>b then x:=a*b else x:=a-b ; Ответ: Х= 3. a:=53; b:=14; If ab then x:=a+b else a:=b+c; x:=a-3*b; Ответ: Х=
13 Упражнение 1 Какое значение будет принимать переменная Х после выполнения фрагмента программы? 5. a:=9;b:=8;c:=2; If (a>b) and (b>c) then x:=2*a+b+c else x:=a-b+c; Ответ: Х= 6. a:=1; b:=4; c:=8; If (a c) then x:=5*a-b else x:=4*a*b; Ответ: Х= 7. a:=7; b:=3; c:=6; If (a c) then x:=4*a-a*b else x:=a-b; Ответ: Х=
14 СЛОЖНЫЕ УСЛОВИЯ ПРИМЕР 1. Вычислить значение выражения для заданных пользователем (или случайно выбранных) значений аргументов: PROGRAM SL_USL; Var x, y, V: Real; BEGIN Write(Введите x и y:); ReadLn(x,y); If (x>2) and (y1) Then Begin V := (x+y)/sqrt(x-2)+1/abs(y-1) ; Write(V=,V:8:1); End Else WriteLn(Аргументы не входят в область допустимых значений) ; END. (x>2) и (y1) да начало x, y V Аргументы не входят в область допустимых значений нет конец Если в какую-то ветвь ветвления входит более одного действия, в Турбо Паскале эти операторы необходимо заключать в операторные скобки!
15 Примеры выражений и соответствующих условий Арифметическое выражение Логическое условие проверки того, принадлежат ли значения аргументов допустимой области определения ( a0) and (b0) and (a>=0.5) (x>=2) and (x-1) and (y2) (x0) and (xy) and (y>=2) (y0) and (x-2) and (y>=-3)
16 ПРИМЕР 2. Определить, попадёт ли точка с координатами (x,y) в заштрихованную область: x y 1 1 Область ограничивается четырьмя прямыми: y=1-x; y=-1+x; y=-1-x; y=1+x. Можно задать в условии их все. Но можно также заметить, что незаштрихованная область соответствует условию Следовательно, заштрихованная область описывается через отрицание данного условия, т.е. Not(abs(x+y)
17 Примеры областей и соответствующих условий ОбластьУсловие x y -2 2 (sqr(x) + sqr (y) =0) x y 2 -2 ( sqr(x)+sqr(y) >= 4) or (y =0) and (y =y) or ((x>=1) and(x=0) and(x =0) and(y =y)
18 Запись логического выражения PROGRAM p1; VAR a:boolean; … BEGIN a:=(sqr(x) + sqr (y) =0); IF a THEN …
19 Сложные ветвления IF THEN if then else ELSE if then else ; ДА НЕТ Условие 1 ДА НЕТ Условие 2 ДА НЕТ Условие 3 действие1действие2 действие3 действие4
20 Задача1 Определить наибольшее из 3-х чисел. Способ 1 Сравним попарно все три числа. ДА НЕТ a
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.