Алгоритмическая структура «Ветвление» Учитель информатики МОУ города Кургана «Гимназия 47» Вольман Н.Н.
Алгоритм – конечная последовательность команд, адресованных исполнителю, четко и однозначно задающая процесс решения задач какого-либо типа во всех деталях и позволяющая получить за конечное число шагов результат, однозначно определяемый исходными данными.
Следование – команды выполняются одна за другой в том порядке, в котором записаны в программе (линейные алгоритмы) Команда 1 Команда 2 Команда N... Базовые структуры алгоритмов: 1. Линейный алгоритм или структура следования
Алгоритмы решения большинства задач не являются последовательными. Действия (вычисления), которые необходимо выполнить, могут зависеть от определённого условия, например входных данных, или результатов, полученных во время выполнения программы.
1. Если два дела делать одновременно, то ничего не получится За двумя зайцами погонишься – ни одного не поймаешь 2. Если делать дело не торопясь, то быстрее его закончишь Тише едешь – дальше будешь
3. Если не будешь трудится, то не сваришь ухи Без труда – не вынешь рыбки из пруда 4. Если сам натворил дел, то сам и отвечай Сам кашу заварил, сам и расхлебывай
Ветвление (выбор) – в зависимости от заданных условий, при выполнении программы выбирается один из возможных вариантов последовательности действий. Условие Серия 1Серия 2 2. Структура ветвления
Ветвление – это такой вычислительный процесс при котором выбирается одно из нескольких заранее предусмотренных направлений вычисления; каждое такое направление называют ветвью, условие, определяющее выбор направления – условием выбора или просто условием; после проверки условия выполняется только одна из ветвей.
Если условие истинно, выполняется серия действий 1, после чего выполнение Ветвления заканчивается; иначе выполняется серия действий 2 и Ветвление также заканчивается. Важно, что в обоих случаях мы попадаем в точку выхода из Ветвления. ЕСЛИ условие ТО команда 1 ИНАЧЕ команда 2 Условие Серия 1Серия 2
Терморегулятор контролирует изменение температуры какого-либо процесса. Опишем его действие, при котором он следит за тем, чтобы температура не была выше b˚ C.
Существует укороченный вариант Ветвления – в нем ветвь ИНАЧЕ может отсутствовать. Тогда если условие истинно, то выполняется команда 1. Если же условие ложно, то ничего не выполняется, а Ветвление заканчивается, то есть мы сразу попадаем в точку выхода ЕСЛИ условие ТО команда Словесная запись:
Полная форма ветвления Неполная форма ветвления
Полное ветвление IF условие THEN группа действий 1 ELSE группа действий 2; Неполное ветвление IF условие THEN группа действий 1;
Условие – это логическое выражение = Равно <> Неравно < Меньше > Больше <= Меньше или равно >= Больше или равно Это или операция сравнения Или переменная типа boolean, которая может принимать два значения: истина или ложь
IF a>b THEN a:=2 Else b:=2; Какая переменная получит значение 2, если первоначально обе равны 1 ? b Если a=1 b=0? a b Если a=0 b=1?
Y=14 Y=6
Для x = 1 процесс всех проверок повториться, два первых условия ложны, третье – истинно. Поэтому будет выведено значение y, равное - 9.
Для x = - 5 первое условие ложно, вторе истинно, так что здесь y = 6, третье условие тоже ложно. Поэтому будет выведено значение, равное 6.
Переменной С присвоить большее значение из чисел А и В НАЧАЛО А, В А > В ? С:=АС:=B С КОНЕЦ Program zz1; Var a, b, c : integer; BEGIN Write(Введи два числа); Readln (a, b); IF a > b THEN c := a ELSE c :=b; Writeln (c=, c); END.
Вычислить значение Y var X,Y:integer; begin writeln (Введите X'); readln(X); if X>=0 then Y:=X+3 else Y:=X*X; writeln(Y=', Y); end. Начало Конец Y:=X*X ДАНЕТ начало конец Ввод X Вывод Y X>=0 Y:=X+3
ВАРИАНТ 1 ВАРИАНТ 2 ВАРИАНТ 3
ВАРИАНТ 4 ВАРИАНТ 5
ВАРИАНТ 6 ВАРИАНТ 7 ВАРИАНТ 8 Дано двузначное число. Определить какая из его цифр больше, первая или вторая. Составить программу, определяющую, является ли введенное число М четным
ВАРИАНТ 9 ВАРИАНТ 10 ВАРИАНТ 11 Определить меньшее из трех чисел А, В и С. Даны три числа. Вывести сумму двух наибольших из них. Даны три числа. Вывести вначале наибольшее из трех, а затем вывести наименьшее из трех.