Оператор If...then...else

Если необходимо выполнить альтернативные действия, конструкция If...then может быть расширена блокомelse:

If(логическое выражение)then

Блок true

Else

Блок false

Endif

Внимание! Ключевое слово then пишется в той же строке, что и логическое выражение, ключевое слово else – в отдельной строке. Если нет «блока false», то и else лучше не писать.

Изображение данного оператора на блок-схеме:

В такой конструкции при выполнении условия, заданного логическим выражением, выполняется Блок true, если условие не выполняется – Блок false.

Пример:

If(x>=0)then

y = sqrt(x)

Write(*,*)’x= ’, x, ’ y= ’, y

Else

Write(*,*)’x= ’, x, ’ x<0, y не определен’

Endif

Оператор If с тремя и более блоками

В наиболее полной форме оператор If...then...else может содержать несколько блоков альтернативных действий, добавляемых конструкцией elseif...then:

If(логическое выражение 1)then

Блок if

Elseif(логическое выражение 2)then

Блок elseif2

Elseif(логическое выражение 3)then

Блок elseif3

Else

Блок default ! выполняется при невыполнении всех условий

Endif

Ключевое слово Elseif,логическое выражение и словоthen пишутся в одной строке. Это один составной оператор, и завершающий Endif тоже только один.

Ветвей Elseif...then в операторе может быть несколько, ветвь Else может отсутствовать.

Изображение такой конструкции на блок-схеме:

Оператор выполняется следующим образом: последовательно проверяются логические выражения в скобках, пока не будет найдено истинное. Тогда проверка прекратится, и будет выполнен соответствующий блок, а затем управление будет передано операторуEndif. Если среди всех условий нет ни одного истинного, выполнится Блок default. Если же в этой ситуации ветвь Else отсутствует, не будет выполнено никаких действий.

Это наиболее общая форма структурного оператора If. Очевидно, что оператор If...then...else с двумя блоками является ее частным случаем и может быть получен удалением ветвей Elseif. Если, кроме того, удалить ветвь Else, то в операторе If останется только один блок.

Пример 1

If(x > 0)then

Write(*,*) 'x > 0'; y = sqrt(x)








Дата добавления: 2017-09-19; просмотров: 424;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.