
- •Выражения
- •Операции отношения
- •Работа со строковыми величинами
- •Логические операции
- •Операторы. Оператор присваивания
- •Условные операторы: if, case. Составной оператор. Оператор перехода goto
- •Оператор if может иметь сокращенную форму. Её синтаксис:
- •Оператор case
- •Оператор goto (пишется слитно)
- •Задания по этой теме.
- •Операторы цикла. Массивы.
- •Операторы цикла
- •Оператор while
- •Оператор repeat
- •Оператор for
Оператор goto (пишется слитно)
Оператор goto уже упоминался в лекции 1. Рассмотрим его подробнее. Оператор goto вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе goto.
При использовании оператора перехода должны соблюдаться следующие правила:
- Метка, которая указывается в операторе перехода, должна находиться в том же блоке или модуле, что и сам оператор перехода. Другими словами, не допускаются переходы из процедуры или функции или внутрь нее.
- Переход извне внутрь структурного оператора (например, внутрь оператора case, if, оператора цикла)(то есть переход на более глубокий уровень вложенности) может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщения об ошибке.
Пример - вводим символы с клавиатуры. Программа подсчитывает - сколько введено заглавных латинских гласных, сколько цифр, сколько двоеточий. goto используется для многократного повторения действий. :
Задания по этой теме.
Задания можно найти в справочнике-задачнике. Щелкните "Задания", Задание 2: Ветвящиеся алгоритмы, операторы if и case.
При выполнении имейте в виду следующее:
Старый модуль CRT на современных компьютерах "глючит". Есть свежие версии, но ссылок у меня нет, я пользуюсь расширенной профи-версией tpcrt. Пишите - размещу на сайте. Модуль нужен для работы с клавиатурой, экраном и звуком.
Процедура sound() тоже не будет работать на многих компьютерах.
.
Операторы цикла. Массивы.
Операторы: |
||
Условный оператор IF |
IF - сокращенная форма |
Составной оператор |
CASE - оператор выбора из нескольких вариантов |
goto - оператор перехода |
Оператор присваивания |
Оператор цикла: while |
Оператор цикла: repeat |
Оператор цикла: for |
Оператор над записями и объектами: with |
Пустой оператор |
|
Операторы цикла
Эти операторы служат для повторного выполнения какого-либо действия. Существует 3 вида операторов цикла.
Оператор while
Синтаксис этого оператора:
While <выражение логического типа> do
<оператор1>;
Порядок выполнения этого оператора:
Вычисляется выражение логич. типа.
Если результат есть true, то выполняется оператор1, затем снова вычисляется выражение. И так эти 2 пункта повторяются, пока результат выражения не станет равным false.
Если результат выражения равен false, оператор1 не выполняется, и программа переходит к выполнению операторов, расположенных далее по тексту, то есть после ;
Примечания: 1. Понятно, что возможен случай, когда оператор1 не выполнится ни разу. 2. Понятно также, что возможен случай, когда этот цикл не прекращает работы. Такой случай называют зацикливанием. 3. Если нужно, чтобы повторно выполнялась группа операторов, применяйте СОСТАВНОЙ оператор.
Оператор repeat
Синтаксис этого оператора:
repeat
<операторы>
until
<выражение логического типа>;
Порядок выполнения этого оператора:
Выполняются (в обычном порядке) операторы, расположенные между repeat и until.
Вычисляется выражение логич. типа.
Если результат есть false, переходим к пункту 1, то есть повторно выполняются операторы и вычисляется выражение. И так до тех пор, пока выражение не станет = true.
Если результат выражения равен true, программа переходит к выполнению операторов, расположенных далее по тексту, то есть после ;