Алгоритмическая структура «Ветвление» Тема урока
2 Определение Алгоритмы можно представлять как последовательность действий, состоящую из отдельных базовых (т.е. основных) структур. Любой алгоритм может быть представлена комбинацией трех базовых структур: линейная, ветвление, цикл.
3 Алгоритм с ветвлением В зависимости от результата проверки условия (да или нет) обеспечивает выбор одной из ветвей работы алгоритма. Каждая ветвь ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. В зависимости от результата проверки условия (да или нет) обеспечивает выбор одной из ветвей работы алгоритма. Каждая ветвь ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.
4 Алгоритмы с ветвлением Алгоритмы с ветвлением существует в двух основных вариантах: Неполное ветвление (если-то) Полное ветвление (если-то-иначе) Алгоритмы с ветвлением существует в двух основных вариантах: Неполное ветвление (если-то) Полное ветвление (если-то-иначе)
5 Полное ветвление Блок-схема Язык Pascal IF условие THEN Оператор 1 ELSE Оператор 2;
6 В качестве условия используется логическое выражение. В качестве Оператора 1 и Оператора 2 используются простые или составные операторы языка Паскаль.
7 Неполное ветвление Блок-схема Язык Паскаль IF условие THEN оператор
8 Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии.
9 Условие – логическое выражение Простое равенство или неравенство Сложное составляется из простых с помощью логических операций Операции отношения: =, , >, =,
10 Составной оператор Представляет собой последовательность операторов, выполняемых в том порядке, в котором они записаны в программе. Его схема: Begin Оператор_1; Оператор_2; … Оператор_N End;
11 Пример 1 Вычислить значение функции Y=sinX для положительных аргументов Вычислить значение функции Y=sinX для положительных аргументов Блок-схемаЯзык Паскаль Var x, y: Real; Begin Write(x=);Readln(x); If x > 0 Then Begin y := Sin(x); Write(y=, y:4:2); End; End.
12 Пример 2 Блок-схемаЯзык Паскаль Var a, b, y: Real; Begin Write(a=);Readln(a); Write(b=);Readln(b); If a > b Then y := Sqrt(a) + b Else y := a + Sqr(b); Write(y=, y:6:2); Readln End. ДаНет A>B 2 BAY Вывод Y
13 Пример 3 Даны два числа А и В. Найти наибольшее из них. Var a, b: Real; Begin Write(a=);Readln(a); Write(b=);Readln(b); If a > b Then Write (a больше b) Else Write (b больше a); Readln End.
14 Вложенные условные операторы IF условие 1 THEN Оператор 1 ELSE IF условие 2 THEN Оператор 2;
15 Пример 4 Решить квадратное уравнение с заданными коэффициентами А, В, С
16 Var a, b, c, x1, x2, d, x: Real; Begin Write(a=);Readln(a); Write(b=);Readln(b); Write(c=);Readln(c); If a = 0 Then Write(Уравнение с такими коэффициентами не является квадратным) Else Begin d := b*b - 4 * a * c; If d > 0 Then Begin x1 := (-b - Sqrt(d)) / (2 * a); x2 := (-b + Sqrt(d)) / (2 * a); Write(х1=, x1:5:2, х2=, x2:5:2); End; If d = 0 Then Begin x := -b / (2 * a); Write(х=, x); End; if d < 0 Then Write(Решений нет); End; End. Одно полное ветвление и три вложенных неполных ветвления
17 Пример 5 Определить, является ли введенное число – четным?
18 Var a : Integer; Begin Write(a=); Readln(a); If a Mod 2 = 0 Then Writeln(число четное) Else Writeln(число нечетное); Readln End.
19 Пример 6 Определить, является ли введенное число – трехзначным?
20 Var a: Integer; Begin Write(a=); Readln(a); If (a >= 100) And (a