Шпаргалки по Fortrany (cikl)

Посмотреть архив целиком

DO-Циклы. Операторы EXIT и CYCLE

Простейшая конструкция DO

[имя:] DO

БОК

END DO (имя]

задает бесконечный цикл. Поэтому такой цикл должен содержать по край­ней мере

один оператор, например EXIT [имя], обеспечивающий выход из этого цикла.

Имя конструкции, если оно присутствует, должно появляться в операторах DO и END DO.

Рекомендуемая форма DO-цикла с параметром:

[имя:] DO dovar = start, stop [, inc]

БОК END DO [имя]

dovar - целая переменная, называемая переменной цикла или параметром цикла;

start, stop - целые скалярные выражения, задающие диапазон изменения dovar;

inc - целое скалярное выражение, задающее лаг изменения dovar. Значение inc не может

быть равным нулю. Если параметр inc отсутствует, то он принимается равным единице.

Рекомендуемая форма DO WHILE-цикла:

[имя] DO WHILE(ЛB)?

БОК

END DO [имя]

Если DO WHILE-цикл не содержит операторов прерывания цикла,

БОК выполняется до тех пор, пока истинно скалярное ЛВ.

DO-цикл, DO-цикл с параметром и DO WHILE-цикл могут быть

рваны операторами GOTO, EXIT и CYCLE, а также в результате

выполнения оператора RETURN, обеспечивающего возврат из подпрограммы.

Оператор EXIT [имя}

передает управление из DO-конструкции на первый следующий за kohi рукцией

выполняемый оператор. Если имя опущено, то EXIT обеспечив; выход из текущего цикла,

в противном случае EXIT обеспечивает выход цикла, имя которого присутствует в операторе EXIT.

Оператор CYCLE [имя]

передает управление на начало DO-конструкции. При этом оператор расположенные

между CYCLE и оператором END DO конца цикла, не выполняются. Если имя опущено, то CYCLE

обеспечивает переход на начало текущего цикла, в противном случае CYCLE обеспечивает

переход на начало цикла, имя которого присутствует в операторе CYCLE.


Условный логический оператор IF

IF(ЛВ) оператор

Если истинно ЛВ, то выполняется оператор, в противном случае управ­ление передается на

последующий оператор программы.

Конструкция IF THEN ENDIF

[имя-.]IF(ЛВ) THEN

БОК

END IF [имя]

БОК выполняется, если истинно ЛВ. Если присутствует имя конструк­ции, то оно должно

быть и в первом и в последнем операторе конструкции, например:

swap: if(x < у) then

hold = х; х = у; у = hold

end if swap

Замечание. Если БОК содержит один оператор, то лучше использовать

оператор

IF(ЛВ) оператор

Конструкция IF THEN ELSE ENDIF

[имя:] IF(ЛВ) THEN

БОК1

ELSE [имя]

БОК1

END IF [имя]

В случае истинности ЛВ выполняется БОК1 и выполняется БОК2, если ЛВ ложно.

Имя конструкции, если оно задано, должно обязательно присут­ствовать и перед IF,

и после END IF.

Конструкция IF THEN ELSE IF

[имя:] IF(ЛВ) THEN

БОК1

ELSE IF(ЛВ2) THEN [имя]

БОК2

[ELSE [имя]

БОКn

END IF [имя]

В случае истинности ЛВ1 выполняется БОК1 и управление передается на

следующий за END IF оператор. Если ЛВ1 ложно, то управление

пере­дается на следующий ELSE IF, то есть вычисляется значение

ЛВ2 и, если оно истинно, то выполняется БОК2. Если оно ложно, то

управление пере­дается на следующий ELSE IF, и так далее. Если ложны все

ЛВ, то выпол­няется следующий за завершающим ELSE БОКп.

Если завершающий ELSE отсутствует, то управление передается на расположенный

за END IF опера­тор. Число операторов ELSE IF в конструкции может быть

произвольным. Имя в ELSE и в ELSE IF можно задавать, если это имя имеют

операторы IF и END IF. Имя, если оно задано, во всех частях

конструкции должно быть одинаковым.

Конструкция SELECT CASE

[имя:] SELECT CASE (тест-выражение)

CASE(CП1) [имя]

[БОК1]

[CASE(CП2) [имя]

[БОК2]]

[CASE DEFAULT [имя]

[БОКп]]

END SELECT [имя]

Тест-выражение - целочисленное, символьное типа CHARACTER(l)

Или логическое скалярное выражение.

СП - список констант, тип которых должен соответствовать типу тест-выражения.

Конструкция SELECT CASE-работает так: вычисляется значение тест-выражения. Если

полученное значение находится в списке СП1, то выпол­няется БОК1; далее управление

передается на следующий за END SELECT оператор. Если значение в СП1 не находится,

то проверяется, есть ли оно в СП2, и так далее. Если значение тест-выражения не найдено

ни в одном списке и присутствует оператор CASE DEFAULT, то выполняется БОКп, а далее

выполняется расположенный за END SELECT оператор. Если же значение тест-выражения

не найдено ни в одном списке и CASE DEFAULT отсутствует, то ни один из БОКл не выполняется

и управление передается на следующий за END SELECT оператор.

Список констант СП может содержать одно значение, или состоять из разделенных

запятыми констант, или быть задан как диапазон разделенных двоеточием значений,

например 5:10 или T:'N'. Левая граница должна был меньше правой. Если задается

диапазон символов, то код первого символе должен быть меньше кода второго. Если

опущена левая граница, например :10, то в СП содержатся все значения, меньшие

или равные правой грани­це. И наоборот, если опущена верхняя граница, например 5:,

то в СП по­падают все значения, большие или равные нижней границе. СП можеч

включать также и смесь отдельных значений и диапазонов. Разделителям! между отдельны

ми элементами СП являются запятые, например:

case(1, 5, 10:15, 33)

Нельзя задать в СП диапазон значений, когда тест-выражение имеег логический тип.

Каждое значение, даже если оно задано в диапазоне зна чений, может появляться только в одном СП.




Случайные файлы

Файл
179114.rtf
116225.rtf
92776.rtf
69199.rtf
60626.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.