72641

Структурный IF

Доклад

Информатика, кибернетика и программирование

Сначала вычисляется условие e, а затем в зависимости от его истинности выполняется на выбор один из двух блоков, а после этого - следующий оператор. Один оператор if можно вкладывать в другой оператор IF. Один из таких случаев вложения, а именно if в блок НЕТ другого IF допускает...

Русский

2014-11-26

21.71 KB

0 чел.

Структурный IF

Структурный IF - самый общий случай записи условного оператора. 
Он реализует двухблочную конструкцию "если (условие e)  то .. .. иначе .. .. ". Условие задается логическим выражением e. Структурный IF записывается так :

if (условие then
   .. .. ! любые исполняемые операторы, образующие блок "ДА"
else
   .. .. ! любые исполняемые операторы, образующие блок "НЕТ"
end if

Можно писать endif без пробела или с пробелом end if

Кострукцию if можно писать с именем, повторяя имя дважды в начале (с двоеточием) и в конце.

имя: if (условие then
   .. .. ! любые исполняемые операторы, образующие блок "ДА"
else
   .. .. ! любые исполняемые операторы, образующие блок "НЕТ"
end if   
имя

Блок-схема, реализуемая структурным IF , полностью симметрична:

Сначала вычисляется условие eа затем в зависимости от его истинности выполняется на выбор один из двух блоков, а после этого - следующий оператор.

Один оператор if можно вкладывать в другой оператор IF. Один из таких случаев вложения, а именно if в блок "НЕТ" другого  IF допускает упрощенную запись:

IF (условие eTHEN

IF (условие eTHEN

.. .. ! блок "ДА"

.. .. ! блок "ДА"

ELSE ! блок "НЕТ"

ELSEif (условие) then ! блок "НЕТ"

if (условиеthen
.. .. ! блок "да"
else
.. .. ! "нет"
end
 if

.. .. ! блок "да"
else
.. .. ! "нет"

ENDIF

ENDIF

Одноблочный IF-частный случай структурного IF, когда отсутствует блок "НЕТ", он реализует конструкцию "если (условие то .. .. ". Условие задается логическим выражением .

Частный случай структурного IF, когда отсутствует блок "ДА", сводится к предыдущему и реализует конструкцию "если (инверсия_условия то .. .. ". Следует помнить о правилах Деморгана при инвертировании суммы  ~(a+b) = ~a & ~b  и произведения  ~(a &b) = ~a +  ~b

Одноблочный IF записывается так :

if (условие ) then
.. .. ! любые операторы, образующие блок "ДА"
end if

Блок-схема, реализуемая одноблочным IF , ассимметрична:

Сначала вычисляется условие e : если оно истинно, то выполняется блок "ДА", а после этого - следующий оператор: если ложно - то сразу следующий оператор.