Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Do Label






}

Write " Готово! "

Do {

Set a=5 Do Label1

} While y> 4, y< 10

Write " Готово! "

 

Важное отличие между этими конструкциями заключается в том, что в случае Do/While блок кода выполняется хотя бы один раз, чего нельзя сказать о While. Команда Write в обоих примерах не входит в циклы.

Как было показано в примерах для команды For, команда Quit внутри блока кода прерывает цикл.

Команда Goto может передавать управление в любую точку вне блока кода или на метку внутри данного блока на том же уровне, но не в другой блок кода, независимо от его местоположения (внутри или вне текущего блока).

Команда CONTINUE

Команда CONTINUE может использоваться в пределах блока кода, следующего за командами For, WHILE, или Do WHILE. Это приводит к переходу обратно на начало цикла для проверки необходимости повторного выполнения этого блока кода. Таким образом, команда CONTINUE имеет тот же эффект, что и достижение закрывающей скобки блока кода. Команда CONTINUE может быть использована с постусловием. Как и после любой безаргументной команды, после нее должно быть минимум два пробела.

В качестве примера возьмем фрагмент кода из раздела о циклах For, который распечатывает первые сто простых чисел.

Set pa=1

For p=3: 2 {

CONTINUE: ' $$" PrimeTest (p)

Write!, p, " простое" Set pa=pa+1

If pa> 100 {

Quit

}

}

 

Если функция $$^PrimeTest(р) возвращает 0, текущее выполнение тела цикла прерывается. Если получена 1, значит, было найдено простое число, постусловие в команде не будет выполнено и команда CONTINUE будет пропущена.

Основные правила для блоков {кода}

Следующие правила относятся к блокам кода внутри управляющих конструкций:

§ Вход в управляющую конструкцию может осуществляться только в ее начало, но не на метку внутри нее.

§ Аналогично, вход в блок кода должен выполняться только в начало «{».

§ Использование Goto внутри блока кода допустимо, только если переход осуществляется:

1. внутри того же блока;

2. в блок кода, внутрь которого вложен текущий блок кода;

3. на строку вне всех блоков кода.

Goto не может передать управление в новый блок кода.

 

Примеры применения блоков кода

Следующие несколько примеров помогут понять основные принципы.

Классическая условная конструкция If /Else в одной строке:

If x> 3, y< 4 {Set z=1 Do label1) Else (Set z=2 Do label2}

Функционально эквивалентен первому, но размещен в нескольких строках программы:

If x> 3, y< 4 {

Set z=1

Do label1

} Else {

Set z=2

Do label2

}

Пример программы с числами Фибоначчи. Программа набирается в Caché Studio, текст программы приведен ниже:


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал