Знать и уметь строить алгоритмы разветвленной структуры.
Условный оператор IF … THEN … ELSE.
Составной оператор.
Уметь составить схему программы (алгоритм) разветвленной структуры для конкретной задачи и записать программу по готовому алгоритму.
Теоретический минимум:
1. Алгоритмы разветвленной структуры.
Разветвленным вычислительным процессом называют алгоритм (программу), имеющую несколько альтернативных ветвей (путей), причем выбор направления выполнения вычислительного процесса (выбор ветви) происходит в результате проверки указанных условий.
Разветвление бывает полным или сокращенным.
Структура полного ветвления
Структура сокращенного ветвления
2. Условный оператор IF … THEN … ELSE.
Если в программе, в зависимости от некоторого условия, требуется выбрать тот или иной вариант действий, можно воспользоваться одним из условных операторов. В Turbo Pascal предусмотрено два условных оператора— IF и CASE.
Оператор IF имеет следующий вид:
При выполнении этого оператора сначала вычисляется некоторое логическое выражение p (условие), в случае истинности которого выполняется оператор a1, а в случае ложности—оператор a2.
Возможен сокращённый вариант оператора IF.
Ifp then a1;
Здесь, если условие р истинно, выполняется оператор a1. Если же условие р ложно, управление просто передаётся следующему (за оператором IF) оператору в программе. Можно сказать, что первый вариант оператора IF осуществляет выбор между двумя действиями, а второй—между действием и отсутствием действия.
Что представляет собой условие? Как правило, в качестве условия используется переменная (или выражение) логического типа (типа Boolean) либо один из операторов сравнения. Сравнивать между собой числа и другие значения в Turbo Pascal можно c помощью шести операторов. Речь идёт об операторах > (больше), < (меньше), = (равно), <> (не равно),>= (больше или равно),<=(меньше или равно). Результат сравнения всегда представляет собой значение логического типа. Так, результатом сравнения 77>63 будет TRUE, а результатом сравнения 82<47—FALSE.
В условии так же широко могут использоваться три логических оператора: NOT, AND и OR. Например, выражение x1 AND x2 будет иметь значение TRUE, если значения х1 и х2 принадлежат логическому типу и оба равны TRUE.
Примеры операторов IF, которые могут встретиться в программах.
If x>y then z:=x/2 else z:=y+2;
ifa and (b>c) then d:=a+b else d:=c;
В языке Turbo Pascal допускает вложенность операторов IF:
if x>0 theny:=1
else ifx<0 then y:=-1
else y:=0;
При вложении операторов IF один в другой может возникнуть синтаксическая неоднозначность. Действительно, к какому из двух ключевых слов IF относится ключевое слово ELSE в операторе
if x then
if y then S1
else S2;
На самом деле ключевое слово ELSE ассоциируется с ближайшим IF, еще не связанным со словом ELSE.