Программирование алгоритмов разветвленной структуры
Оператор ветвления IF … THEN … ELSE
При выполнении работы необходимо знать:
Теоретический минимум: 1. Алгоритмы разветвленной структуры. Разветвленным вычислительным процессом называют алгоритм (программу), имеющую несколько альтернативных ветвей (путей), причем выбор направления выполнения вычислительного процесса (выбор ветви) происходит в результате проверки указанных условий. Разветвление бывает полным или сокращенным.
Структура полного ветвления
Структура сокращенного ветвления
2. Условный оператор IF … THEN … ELSE. Если в программе, в зависимости от некоторого условия, требуется выбрать тот или иной вариант действий, можно воспользоваться одним из условных операторов. В Turbo Pascal предусмотрено два условных оператора— IF и CASE. Оператор IF имеет следующий вид:
При выполнении этого оператора сначала вычисляется некоторое логическое выражение p (условие), в случае истинности которого выполняется оператор a1, а в случае ложности—оператор a2. Возможен сокращённый вариант оператора IF. If p 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; if a and (b> c) then d: =a+b else d: =c;
В языке Turbo Pascal допускает вложенность операторов IF: if x> 0 then y: =1 else if x< 0 then y: =-1 else y: =0; При вложении операторов IF один в другой может возникнуть синтаксическая неоднозначность. Действительно, к какому из двух ключевых слов IF относится ключевое слово ELSE в операторе
if x then if y then S1 else S2; На самом деле ключевое слово ELSE ассоциируется с ближайшим IF, еще не связанным со словом ELSE.
|