http://laska-samp.biz/informatika/articles/qbsk/vetvln
Информатика :: Теория, задания, программирование :: QBasic

Ветвление в программах

Рассмотрим запись условного оператора на языке Basic.
Простая форма оператора выглядит следующим образом:
IF <УСЛОВИЕ> THEN <ОПЕРАТОР> 
или
IF <УСЛОВИЕ> 
<ОПЕРАТОР 1>
<ОПЕРАТОР 2>
            …
<ОПЕРАТОР N>
END IF
Если условие справедливо, то программа выполняет тот оператор, который стоит после ключевого слова THEN (или серию операторов от ключевого слова THEN до END IF), и дальше руководствуется обычным порядком действий. Если уловие не справедливо, то оператор, стоящий после THEN (или серия операторов от THEN до END IF) не выполняется, и программа сразу переходит к обычному порядку действий.
Конструкция IF...THEN  позволяет в зависимости от справедливости условия либо выполнить  оператор, либо пропустить этот оператор.
Конструкция IF...THEN...END IF  позволяет в зависимости от справедливости условия либо выполнить группу операторов, либо пропустить эту группу операторов.
Условия - еще один тип логических выражений. В них используются следующие операторы сравнения:
=
равно
<> 
не равно
больше
меньше
>=
больше или равно
<=
меньше или равно
Справа и слева от знака сравнения должны стоять величины, относящиеся к одному типу. В результате сравнения получается логическая величина, имеющее значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE).
Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция IF...THEN...ELSE...END IF
IF <УСЛОВИЕ> THEN 
<ОПЕРАТОРЫ 1>
ELSE
<ОПЕРАТОРЫ 2>
END IF
Если условие справедливо (ИСТИНА), то выполняются <операторы 1> (стоящие между THEN и ELSE), а <операторы 2> (стоящие между ELSE и END IF) будут пропущены.
Если условие не справедливо (ЛОЖЬ), то <операторы 1> игнорируются и выполняются <операторы 2>.
IF - если, THEN - тогда, ELSE - иначе.
Если в комнате темно, тогда надо включить свет. 
Если пойдет дождь, тогда надо взять зонтик, 
иначе, зонтик не брать. 
Пример: Проверить, равно ли введенное число некоторому значению, и в случае равенства выдать  на экран сообщение о равенстве чисел.
REM ‘сравнить число с каким-то значением
INPUT "Введите а", а
IF a=7 THEN PRINT "Числа равны"
END
После запуска программы проверяется равно ли введенное значение семи или нет. Если равно, то на экран выводится сообщение 'Числа равны'.
Пример: Определить большее из двух чисел, вывести его на экран, затем - увеличить его в двое и вывести результат на экран.
(Сначала программа запрашивает оба числа, затем проверяет условие a>b. Если условие верно, то на экран выводится число a, затем это число удваивается. Иначе на на экран выводится число b, затем  число b удваивается. В завершении на экран выводится удвоенное значение большего числа.)
 
 
 
 
 
REM определить большее из двух чисел...
INPUT "Введите а", а
INPUT "Введите b", b
IF a>b THEN
PRINT "Большее число: ", a
с=2*a
ELSE
PRINT "Большее число: ", b
с=2*b
END IF
PRINT "результат: ", c
END
Пример: Решение квадратного уравнения. (Решение квадратного уравнения зависит от значения дискриминанта.)
REM Решение квадратного уравнения
INPUT "Введите коэффициент a: ", а
INPUT "Введите коэффициент b: ", b
INPUT "Введите коэффициент c: ", c
d=b*b-4*a*c
IF d<0 THEN
PRINT "Корней нет"
ELSE
    IF d=0 THEN
    x=-b/(2*a)
    PRINT "корень уравнения: ", x
    ELSE
    x1=(-b-SQR(d))/(2*a)
    x2=(-b+SQR(d))/(2*a)
    PRINT "корни уравнения: ", x1, x2
    END IF
END IF
END



Опубликовано 20 December 2015