Информатика Ответы на вопросы 3
Вид материала | Документы |
16 Метки и оператор перехода. Метка в Турбо Паскале 17 Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal`е |
- Ответы на вопросы, 90.99kb.
- Дополнение к Приложению к Сказке. Ответы на вопросы, 274.58kb.
- Масюченко Светлана Дмитриевна Ответы на вопросы Интернет конкурс, 43.06kb.
- Ответы на экзаменационные вопросы по истории России 11 класс, 4049.18kb.
- Крайон. Действовать или ждать? Вопросы и ответы, 13038.17kb.
- План урока Организационный момент. Объяснение нового материала. Лекция. Тест и ответы, 67.88kb.
- Тесты Вопросы и задания для самопроверки Ответы на тесты Ответы и задания для самопроверки, 429.4kb.
- Елина Елена Валентиновна, гбоу нпо «Профессиональный лицей №12» Элементы проникающей, 62.09kb.
- Задание объектом нашего исследования являются современные системы безопасности: охранная, 300.74kb.
- Экзаменационные вопросы. Учкекен 2005 Составитель к э. н. Кумыкова А. М. Настоящее, 1733.51kb.
16 Метки и оператор перехода.
Помимо операторов условного перехода существует также оператор безусловного перехода goto. Формат:
GOTO <метка>.
Здесь GOTO - зарезервированное слово (перейти [на метку]); <метка> - метка.
Метка в Турбо Паскале - это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В целях совместимости со стандартным языком Паскаль в языке Турбо Паскаль допускается в качестве меток использование также целых чисел без знака.
Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием. Оператор можно помечать несколькими метками, которые в этом случае отделяются друг от друга двоеточием. Перед тем как появиться в программе (процедуре или функции), в которой она используется, метка должна быть описана. Описание меток состоит из зарезервированного слова LABEL (метка), за которым следует список меток.
label 1;
begin
...
goto 1;
...
1: WriteLn('Переход к метке 1');
end.
Действие оператора GOTO состоит в передаче управления соответствующему меченному оператору.
При использовании меток необходимо руководствоваться следующими правилами:
метка, на которую ссылается оператор GOTO, должна быть описана в разделе описаний и она обязательно должна встретиться где-нибудь в теле программы;
метки, описанные в процедуре (функции), локализуются в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.
17 Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal`е
Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal`е
Оператор цикла с предусловием:
Оператор цикла с предусловием организует выполнение одного (воз-
можно составного) оператора неизвестное чило раз. Выход из цикла осу-
ществляется, если некоторое логическое выражение окажется ложным. Так
как истинность логического выражения проверяется вначале, тело цикла
может не выполнится ни разу.
Структура оператора.
WHILE <условие> DO <оператор>;
В этой структуре:
<условие> - логическое выражение, истинность которого проверяется
вначале выполнения циклического оператора;
<оператор> - любой выполняемый оператор языка (в том числе и сос-
тавной, т. е. последовательность операторов, заключённая в операторные
скобки BEGIN - END).
Порядок выполнения оператора.
Пока условие истинно выполняется оператор, следующий за служебным
словом DO. Как только условие становится ложно выпонение оператора
цикла прекращается.
Оператор цикла с постусловием организует выполнение цикла, состо-
ящего из любого количества операторов неизвестное заранее количество
раз. Выход из цикла осуществляется, если некоторое логическое выраже-
ние окажется истинным. Так как истинность логического оператора прове-
ряется в конце, тело цикла выполняется хотя бы один раз.
Структура оператора:
REPEAT
<Оператор 1>;
<Оператор 2>;
. . .
<Оператор N>;
UNTIL <условие>;
В этой структуре:
<Оператор 1>; <Оператор 2>; . . . <Оператор N>; - тело цикла.
<условие> - логическое выражение, ложность которого проверяется
после выполнения тела цикла.
Порядок выполнения оператора:
Выполняются операторы, следующие за служебным словом REPEAT. Пос-
ле этого проверяется условие. Если условие ложно, то происходит возв-
рат к выполнению операторов, следующих за служебным словом REPEAT и
снова проверяется условие. Если условие истинно, то выполнение тела
цикла прекращается.
В "жаргонном" переводе на русский язык, оператор цикла с постус-
ловием "звучит" так:
Повторять тело цикла пока не выполнится условие.
В цикле REPEAT тело цикла выполняется по крайней мере один раз.
Оператор цикла с параметром организует выполнение одного операто-
ра заранее известное количество раз.
Структура оператора
Существует два варианта оператора.
Вариант первый:
FOR i := start TO finish DO <оператор>
Вариант второй:
FOR i := start DOWNTO finish DO <оператор>
В этих структурах:
i - параметр цикла;
start - начальное значение параметра;
finish - конечное значение параметра;
<оператор> - тело цикла.
Тип переменной цикла i и значений start и finish должен быть по-
рядковым !
Порядок выполнения оператора:
1. Вычисляются и запоминаются начальное - start, и конечное - finish,
значения параметра цикла. Start и finish могут быть представлены в
виде конкретного значения (в этом случае нет необходимости в вычис-
лениях) или в виде выражения, значение которого вычисляется в нача-
ле выполнения цикла.
2. Параметру цикла i присваивается значение start.
3. Значение параметра цикла i сравнивается со значением finish. Опера-
тор "тело цикла" будет выполнен при выполнении следующего условия:
первый вариант оператора: i <= finish;
второй вариант опеартора: i >= finish.
В противном случае происходит прекращение выполнения циклического
оператора.
4. Параметру цикла присваивается:
первый выриант оператора: следующее большее значение;
второй вариант оператора: следующее меньшее значение.
5. Выполняется пункт 3 данной схемы.
Часто говорят, что первый вариант оператора цикла с параметром, -
цикл с возрастающим параметром; второй вариант, - с убывающим параметром.
Если при первой - же проверке, параметр цикла не будет удовлетворять условий пункта 3, тело цикла не выполнится ни разу.
Телом цикла может быть только один оператор. Для того, чтобы в
теле цикла с параметром выполнить несколько операторов, их необходимо
объединить операторными скобками BEGIN END.
После прекращения выполнения оператора, значение параметра цикла
не определено, за исключением случаев, когда выход из оператора был
осуществлён с помощью GOTO или стандартной процедуры Break.