Действий в алгоритмах
Доказано, что организовать действия в любой задаче можно, используя комбинации основных управляющих структур: функционального блока, условных структур, циклических структур. В приведенных ниже блок-схемах основных управляющих структур организации действий в алгоритмах приняты такие обозначения: P, P1, … – проверяемые условия (логические выражения); S, S1, S2, … – действия по обработке ин формации.
1. Функциональный блок имеет вид:
S может быть оператором, командой вызова с возвратом некоторой процедуры, другой управляющей структурой организации действий в алгоритме.
2. Условные структуры.
а) Команда ветвления в полной форме – “if P then S1 else S2”, “если P то S1 иначе S2” имеет вид:
В этой команде сначала проверяется истинность логического выражения P. Если P истинно, то выполняются операторы, определяемые функциональным блоком S1 и далее оператор, следующий за командой ветвления, а S2 игнорируется; если P ложно, то выполняются операторы, определяемые функциональным блоком S2 и далее оператор, следующий за командой ветвления, а S1 игнорируется.
б) Команда ветвления в сокращенной (неполной) форме –“if P then S”, “если P то S” имеет вид:
Эту команду можно рассматривать как сокращенную запись структуры 2а), если отсутствует функциональный блок S2. Если выражение P истинно, то выполняются операторы, определяемые функциональным блоком S и далее операторы, следующие за командой ветвления, если ложно, то выполняется оператор, непосредственно следующий за командой ветвления.
3. Циклические структуры.
а) Команда повторения «пока» – “while P do S”, “пока P истинно выполняй S”, “цикл с предусловием” имеет вид:
По этой команде сначала проверяется условие P. Если оно выполняется, то производятся действия, определяемые функциональным блоком S, затем снова проверяется условие P и так далее. При невыполнении условия P (по стрелке с надписью «нет») происходит выход из цикла, далее выполняются операторы, следующие за командой повторения.
б) Команда повторения “repeat S until P”, “повторять S до P”, “цикл с постусловием” (повторять S, пока P не станет истинным) имеет вид:
Эта организация цикла такова, что сначала выполняются операторы, определяемые функциональным блоком S, а затем проверяется необходимость его повторения.
2.2.3. Дополнительные управляющие команды организации
действий в алгоритмах
Если при решении задачи необходимо выбрать один из многих вариантов действий, то для написания алгоритма решения такой задачи используется управляющая команда выбора в полной или неполной форме.
1. Выбор в неполной форме.
По этой команде сначала проверяется условие P1. Если оно выполняется, то производятся действия, определяемые функциональным блоком S1 и далее оператор, следующий за командой выбора; если P1 ложно, то проверяется условие P2. Если условие P2 истинно, то производятся действия, определяемые функциональным блоком S2 и далее оператор, следующий за командой выбора; если P2 ложно, то проверяется условие P3 и т.д. до Pn. Если Pn выполняется, то производятся действия, определяемые функциональным блоком Sn и далее оператор, следующий за командой выбора; если Pn ложно, то команда выбора никаких действий не предписывает и сразу выполняется следующий за ней оператор.
2. Выбор в полной форме.
Так же как и в выборе в неполной форме, по этой команде сначала проверяется условие P1. Если оно выполняется, то производятся действия, определяемые функциональным блоком S1 и далее оператор, следующий за командой выбора в полной форме; если P1 ложно, то проверяется условие P2 и т.д. Если условие Pn выполняется, то производятся действия, определяемые функциональным блоком Sn, и далее выполняется оператор, следующий за командой выбора в полной форме; если условие Pn ложно, то производятся действия, предписываемые функциональным блоком Sn+1, и далее выполняется оператор, следующий за командой выбора в полной форме.
3. Цикл «для», цикл с параметром.
Команда предписывает выполнять действия, которые содержит функциональный блок S, для всех значений некоторой переменной i (параметра цикла) в заданном диапазоне от i1 до i2 с шагом h.
Перечисленные структуры (команды) имеют один вход и один выход (одна входящая и одна выходящая стрелка). Структуры и любые комбинации структур, имеющие один вход и один выход, могут рассматриваться как один функциональный блок.
Решение любой задачи можно представить в виде цепочки (линейной комбинации базовых структур): |
С другой стороны, отдельные функциональные блоки могут быть заменены одной из базовых структур или их комбинацией.
Запись алгоритмов с использованием основных структурных элементов улучшает читаемость блок-схем и программ, облегчает общение между программистами, делает возможным доказательство некоторых свойств программ.
Дата добавления: 2015-01-26; просмотров: 2199;