Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPORKI_33_33_33_2jhtg.doc
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
143.36 Кб
Скачать

Способы организации циклов в языке Object Pascal.

Алгоритмы решения многих задач являются циклическими, т. с. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Например, программа контроля знаний выводит вопрос, принимает ответ, добавляет оценку за ответ к сумме баллов, затем повторяет это действие еще и еще раз, и так до тех пор, пока испытуемый не ответит на все вопросы. Другой пример. Для того чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т. д. до тех пор, пока не будет найдена нужная фамилия или не будет достигнут конец списка.

Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом.

В программе цикл может быть реализован при помощи инструкций for, while И repeat.

Операции с логическими переменными в языке Object Pascal.

not Логическое отрицание (НЕ) Возвращает false, если выражение может быть приведено к истине, в противном случае возвращает true

and Логическое (И) Возвращает true, когда оба выражения истинны. В противном случае возвращает false

or Логическое (ИЛИ) Возвращает true, когда хотя бы одно из выражений истинно. В противном случае возвращает false

xor Логическое (исключающее ИЛИ) Возвращает true, когда только одно из выражений истинно. В противном случае возвращает false

Условные операторы (операторы перехода).

Условный оператор IF

Синтаксис полного оператора IF:

if <выражение логического типа>

then <оператор 1> {здесь без ;}

else <оператор 2>;

Оператор IF выполняется так:

Вычисляется значение логического выражения. Получаем true или false и ничего другого быть не может.

Если получилось true, то выполняется ОПЕРАТОР 1, затем - операторы, расположенные правее точки с запятой, то есть выполнение оператора заканчивается и выполняются следуюшие операторы.

Вообще, операторы программы выполняются по порядку (слева-направо, сверху вниз - по тексту, пока не встретится оператор вроде IF, goto и т п).

Если получилось false, то выполняется ОПЕРАТОР 2 (оператор 1 не выполняется), затем - операторы, расположенные правее точки с запятой.

Оператор case

- мощное средство выбора альтернатив.Синтаксис оператора:

case <выражение логического типа> of

<мишень1>:<оператор1>;

. . .

[ else <операторы> ]

end;

(Квадратные скобки обозначают необязательность)

Состоит из выражения (селектора) и списков операторов, каждому из которых предшествует "мишень" того же типа, что и селектор. Это значит, что в данный момент выполняется тот оператор, "мишень" перед которым соответствует текущему значению селектора. Если совпадения значений не происходит, то не выполняется ни один из операторов, входящих в case или же выполняются операторы, стоящие после необязательного слова else, (если они есть).

попадает в диапазон значений. Если более одной мишени соответствуют значению селектора, выполняется оператор только первой (по порядку)из них.

Оператор goto (пишется слитно)

Оператор goto вызывает передачу управления оператору, которому предшествует метка, указанная в данном операторе goto.

При использовании оператора перехода должны соблюдаться следующие правила:

- Метка, которая указывается в операторе перехода, должна находиться в том же блоке или модуле, что и сам оператор перехода. Другими словами, не допускаются переходы из процедуры или функции или внутрь нее.

- Переход извне внутрь структурного оператора (например, внутрь оператора case, if, оператора цикла)(то есть переход на более глубокий уровень вложенности) может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщения об ошибке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]