Алгоритмическая конструкция «ветвление» Презентацию разработал Мащенко П.С., учитель МБОУ СОШ 2 муниципального образования Щербиновский район станицы Старощербиновской Краснодарского края
Алгоритмическая конструкция «ветвление» Данная конструкция применяется в алгоритмах для задач, при решении которых необходимо делать выбор между различными действиями в зависимости от некоторого условия. Ветвление обеспечивает в зависимости от результата проверки условия выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Ветвление это такая форма организации действий, при которой выполнение одного или иного действия зависит от выполнения или невыполнение некоторого условия. Условие это логическое выражение, содержащее знаки сравнения и логические операции
знаки сравнения логические операции равно=ANDлогическое "и" (пересечение) меньше<ORлогическое "или" (объединение) больше>NOT"не" (отрицание) меньше или равно<= больше или равно>= не равно<> Логическая операция NOT (отрицание) выполняется над простым логическим выражением: NOT ( А>В ) математическая запись на языке Бейсик ( X>0 ) и (Y<0 )( X>0 ) AND (Y<0 ) -2<= X <=2(X>=-2 ) AND (Y<= 2 ) X 10( X 10 )
Организация ветвления в языке программирования QBASIC
Организация ветвления в языке программирования BASIC Ветвление в большинстве языков программирования, в том числе и в Бейсике, реализуется с помощью условного оператора, в котором используются ключевые слова IF, THEN, ELSE, в переводе на русский они означают ЕСЛИ, ТО, ИНАЧЕ. В языке QBASIC имеется два варианта условного оператора IF : блоковый формат однострочный формат. Блоковый формат операторов позволяет использовать внутри их конструкции целый набор операторов - блок, как один синтаксический элемент оператора. Характерным внешним синтаксическим признаком блокового формата является наличие в их конце "блочной скобки" END IF.
Многоальтернативный блоковый IF: где: условие 1, условие 2 - любое выражение, которое может быть оценено как истинное (не ноль) или ложное (ноль). блок операторов 1, блок операторов 2, блок операторов n - один или несколько операторов в одной или нескольких строках IF THEN ELSEIF условие 2 THEN... ELSE END IF
Многоальтернативный блоковый IF: При выполнении условного оператора проверяется условие 1. Если оно истинно, то выполняется блок операторов 1, следующий за ключевым словом THEN. В противном случае проверяются условия, следующие за каждым ключевым словом ELSEIF (а их может быть несколько) до тех пор, пока не обнаружится условие, являющееся истинным. Если это случается, то выполняется блок операторов, следующий за соответствующим ключевым словом THEN. Если не одно из условий ELSEIF не удовлетворено, то выполняется блок операторов n, следующий за ключевым словом ELSE. После этого управление передается оператору, следующему за END IF. Конструкции ELSEIF и ELSE необязательны. Любые блоки операторов могут содержать другие вложенные блоковые операторы
Пример. Определение наибольшего из двух заданных чисел. INPUT Введите первое число; A INPUT Введите второе число; В IF A>B THEN PRINT Наибольшее число; A ELSEIF B>A THEN PRINT Наибольшее число; B ELSE PRINT Числа равны ENDIF END Многоальтернативный блоковый IF:
Двухальтернативный блоковый IF Двухальтернативный блоковый IF есть просто частный случай многоальтернативного. Его логика более прозрачна, что резко уменьшает вероятность неправильного его использования. IF THEN ELSE END IF
Двухальтернативный блоковый IF ПРИМЕР: INPUT А IF А=1 THEN PRINT "работает ветвь ДА " ELSE PRINT "работает ветвь НЕТ" END IF END
Однострочный IF IF условие THEN блок операторов 1 ELSE блок операторов 2 где блок операторов - один или несколько операторов, разделенных двоеточиями. Во время исполнения проверяется, что записано непосредственно после ключевого слова THEN. Если за ним следует что-то отличное от пробела или комментариев, то данная конструкция воспринимается как однострочная. Для него не требуется блочная скобка END IF. В противном случае, конструкция интерпретируется как блочная. Однострочный IF очень компактен, но его возможности ограничены количеством операторов, которые можно уместить на одной строке. Работа оператора: если условие истинно, то выполняется блок операторов 1, если условие ложно, то выполняется блок операторов 2.
Однострочный IF ПРИМЕР: INPUT А IF A=1 THEN PRINT "ДА" ELSE PRINT "НЕТ" PRINT "КОНЕЦ END Здесь операторы работают следующим образом: если условие А=1 "ИСТИННО", то выполняются операторы PRINT "ДА" и PRINT "КОНЕЦ"; если условие А=1 "ЛОЖНО", то выполняются операторы PRINT"НЕТ" и PRINT "КОНЕЦ".
Сокращённая (неполная) форма ветвления. 2) Блоковая форма записи неполного ветвления: IF THEN END IF Работа оператора: если условие истинно, то выполняется блок операторов, если условие ложно, то ветвление завершается и управление передаётся к очередной строке. Существует сокращённая (неполная) форма ветвления: 1) однострочная форма записи неполного ветвления: IF THEN
Оператор перехода GOTO При организации ветвления в языке BASIC можно использовать оператор перехода GOTO, который передаёт управление из одной строки программы к другой, помеченной номером или меткой. Общий вид оператора: GOTO N где N - номер строки или метки оператора, на который происходит переход в программе. безусловный переход условный переход X=3 GOTO 7 Y=2*X 7 Z=5*X GOTO W... W: PRINT "решение получено" 10 INPUT X 20 IF X<0 THEN GOTO 10