Иногда сокращенной формы ветвления недостаточно, т.к. необходимо выполнить одну команду/команды если условие истинно, и совсем другую команду/команды, если оно ложно. Простейшим примером может служить квадратное уравнение: если дискриминант больше или равен нулю - мы вычисляем корни уравнения. Если же дискриминант меньше нуля - никаких вычислений производить не нужно, нужно просто сказать "корней нет".
Для таких случаев и нужна полная форма ветвления.

Ветвление. Полная форма

В полную форму ветвление входит слово "else", что значит "иначе". Это слово отделяет команды, которые выполняются при истинности условия от команд, которые выполняются при ложности условия. Синтаксис полной формы ветвления таков:

if условие then
Команда a1
Команда a2
...
Команда an
else
Команда b1
Команда b2
...
Команда b1
End if

Примечание: Команды а1n, будут выполняться в случае, если указанное условие будет истинным. Если же условие будет ложным, будут выполняться команды b1-bn.

Пример 1:

Пользователь вводит в программу число. Если это число 5 - программа удваивает его и выводит результат на экран. Если же число не равно 5 - программа делит его на 2 и выводит результат на экран
Dim Z as Double
Input Z
If Z=5 then Z=Z*2
else
Z=Z/2
print a

Разберем пример более подробно:

Dim Z as Double
Этой командой мы объявляем переменную Z. Данная переменная будет принимать числовые значения
Input Z
Эта команда записывает в переменную Z число, введенное пользователем с клавиатуры
If Z=5 then
Обязательно перейти на следующую строчку, чтобы компьютер не принял запись за сокращенную форму.
Z=Z*2
Если значение переменной Z (т.е. введенное пользователем число) равно 5 - выполняется команда Z=Z*2, т.е. значение переменной Z удваивается
else
Слово "Иначе". Отделяет команды, выполняющиеся при истинности условия от команд, выполняющихся при ложности условия. И тут тоже обязательно перейти на следующую строчку.
Z=Z/2
Команда "Z=Z/2" выполнится только в том случае, если введенное условие "Z=5" будет ложно
end if
"Конец если". Стандартное завершение ветвления.
print Z
Вывод значения переменной Z на экран.

Задание 1. Написать программу, которая попросит пользователя ввести два числа, сравнит их, и выдаст сообщение типа "первое число больше второго" или "второе число больше первого"

Dim a as Long
Dim y as Long
Примечание: Объявляем переменные.
print "Введите первое число"
Input a
print "Введите второе число"
Input b
Примечание: Вводим с клавиатуры числа. Без команды "print" тут можно обойтись, она нужна только для красоты.
if a>b then
Примечание: Сравниваем числа
Print "Первое число больше второго"
Не буду пояснять, что делает эта команда, но сработает она только в случае, если первое введенное пользователем число больше второго.
else
Слово "Иначе". Отделяет команды, выполняющиеся если условие истинно, от команд, выполняющихся если условие ложно.
Print "Второе число больше первого"
А эта страшная команда выполнится только в случае, если условие будет ложно
End if
Окончание ветвления

Задание 2. Написать программу, которая спросит имя пользователя. Если введенное имя - "Вася", программа должна выдать сообщение "Привет, Вася", иначе - сообщение "ты не мой хозяин"

Dim a as String
Примечание: Объявляем переменные.
print "Введите ваше имя"
Input a
Примечание: Вводим имя. Без команды "print" тут можно обойтись, она нужна только для красоты.
if a="Вася" then
Примечание: Сравниваем введенное пользователем с эталоном.
Print "Привет, Вася"
И так понятно.
else
Слово "Иначе". Отделяет команды, выполняющиеся если условие истинно, от команд, выполняющихся если условие ложно.
Print "Ты не мой хозяин".
Очередной призыв эльфов.
End if
Окончание ветвления.


Вложенные ветвления

Рассмотрим задачу: Написать программу, определяющую количество корней квадратного уравнения.
С виду эта задача не выглядит чем-то серьезным. Известно, что кол-во корней такого уравнения зависит от значения дискриминанта. Вычислим его:
Dim a as Double
Dim b as Double
Dim c as Double
Dim d as Double
Объявляем 4 переменные: а,b,с - исходные коэффициенты квадратного уравнения, d - для хранения значения дискриминанта
Input a,b,c
Вводим коэффициенты
d=b^2-4*a*c
Вычисляем значение дискриминанта, и... и вот тут нас поджидает засада, т.к. конструкция "if...then...else" позволяет нам описать лишь два взаимоисключающих варианта, а у нас их целых три: d>0; d=0; d<0.
Что же делать? Вложить одно ветвление внутрь другого:
if d>0 then
Первый вариант развития событий - дискриминант, больший нуля.
Print "Это уравнение имеет два корня"
В случае, если условие "d>0" выполнится, компьютер выведет на экран сообщение "Это уравнение имеет два корня"
else
этот оператор отделяет команды, которые выполнятся при d>0 от команд, которые будут выполняться во всех остальных случаях. Один вариант развития событий мы разобрали, осталось еще два:
if d=0 then
Второй вариант развития событий - дискриминант, равный нулю.
Print "Это уравнение имеет один корень"
В случае, если условие "d=0" выполнится, компьютер выведет на экран сообщение "Это уравнение имеет один корень"
else
этот оператор отделяет команды, которые выполнятся при d=0 от команд, которые будут выполняться во всех остальных случаях. Таким образом, нами уже описаны действия программы при двух вариантах развития событий: при d>0 и при d=0. Если же оба эти варианта не выполнятся, нам останется признать, что заданное уравнение корней не имеет:
Print "Это уравнение не имеет корней"
В случае, если ни условие "d>0", ни условие "d=0" не выполнятся, компьютер выведет на экран сообщение "Это уравнение не имеет корней"
end if
Закроем последнее ветвление.
end if
Закроем первое ветвление

Это важно: Каждое ветвление необходимо закрыть. Закрываются они в порядке, обратном открытию (т.е. сначала закрывается последнее ветвление, затем предпоследнее, и так далее).
Таким образом, команд "end if" в программе должно быть ровно столько же, сколько команд "if" исключая использование сокращенной формы ветвления.

Задание 1. Написать программу, выдающую рекомендации по длине пароля: Пользователь вводит в программу пароль. Если в нем более 20 символов - программа выдает сообщение "Пароль слишком длинный". Если в нем менее 4 символов - сообщение "Пароль слишком короткий". Во всех остальных случаях - сообщение "Длина пароля оптимальна"

Dim a as String
Примечание: Объявляем переменную.
print "Введите ваш пароль"
Input a
Примечание: Вводим имя. Без команды "print" тут можно обойтись, она нужна только для красоты.
if (len(a))>20 then
Примечание: Сравниваем длину введенного пароля с 20.
Print "Ваш пароль слишком длинный. Не задолбаетесь вводить?"
Реакция программы на пароль, в котором больше 20 символов
else
Слово "Иначе". Отделяет команды, выполняющиеся если условие истинно, от команд, выполняющихся если условие ложно.
if (len(a))<4 then
Примечание: Сравниваем длину введенного пароля с 4.
Print "Ваш пароль слишком короткий. Его легко подобрать."
Реакция программы на пароль, длина которого меньше 4 символов
else
Print "Длина пароля оптимальна"
Реакция программы на длину пароля большую 4, но меньшую 20.
End if
End if
Окончание ветвления. 2 раза мы использовали слово "if", значит - и закрываем мы его 2 раза.

Задание 2. Лера занимается танцами, Тимур - боевыми искусствами, Илья - велоспортом, Сергей - киберспортом. Написать программу, которая сообщит хобби человека, чье имя в нее введут. Если же в программу введут любое имя кроме перечисленных, она должна сообщить "не знаю такого".

Dim a as String
Примечание: Объявляем переменную.
print "Введите ваше имя"
Input a
Примечание: Вводим имя. Без команды "print" тут можно обойтись, она нужна только для красоты.
if a="Лера" then
Примечание: Сравниваем введенное пользователем с первым вариантом имени.
Print "Ваше хобби - танцы"
Реакция программы на введенное имя "Лера"
else
Слово "Иначе". Отделяет команды, выполняющиеся если условие истинно, от команд, выполняющихся если условие ложно.
if a="Тимур" then
Примечание: Сравниваем введенное пользователем со вторым вариантом имени.
Print "Ваше хобби - боевые искусства"
Реакция программы на введенное имя "Тимур"
else
if a="Илья" then
Примечание: Сравниваем введенное пользователем с третьим вариантом имени.
Print "Ваше хобби - велоспорт"
Реакция программы на введенное имя "Илья"
else
if a="Сергей" then
Примечание: Сравниваем введенное пользователем с четвертым вариантом имени.
Print "Ваше хобби - киберспорт"
Реакция программы на введенное имя "Сергей"
else
Print "Извините, я вас не знаю"
Реакция программы на введенное неизвестное имя"
End if
End if
End if
End if
Окончание ветвления. 4 раза мы использовали слово "if", значит - и закрываем мы его 4 раза.