Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ГОСТу.doc
Скачиваний:
19
Добавлен:
14.11.2019
Размер:
10.65 Mб
Скачать

5. Лабораторная работа №2: Программирование разветвляющихся процессов

Цель работы: изучение логических и побитовых операций, условного оператора, составного оператора и правил программирования разветвляющихся процессов.

5.1. Методические указания

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

В ромбе, как правило, записывается условие, на основе которого производится выбор ветви, в которой будет выполняться оператор.

Рис. 5.1. Блок схемы алгоритма принятия решения

В качестве условия могут использоваться операции сравнения, логические операции или переменные логического типа Boolean. При истинности условия (True) выполняется оператор(ы) в ветви с надписью "Да". "Оператор(ы) 2" будет выполнен, если условие примет ложное значение (False). На рис. 5.1 (б) при ложности условия не будет выполнен ни один оператор, такой блок часто называют "обход".

В общем случае выполнение разветвляющегося алгоритма можно разбить на ряд этапов (рис.5.2.)

I этап - выполнение операторов, общих для всех ветвей программы (блок 1);

II этап - принятие решений (логический блок 2), проверяется некоторое логическое условие и в зависимости от его значения False (Ложь) или True (Истина) осуществляется выбор одной из ветвей программы;

Рис. 5.2. Обобщенная блок-схема разветвляющегося процесса

III этап - реализация одного из выбранных путей решения задачи (блок 3 или 4), которые в свою очередь могут содержать ветвления (сложный разветвляющийся процесс);

IV этап - независимо от пути решения задачи осуществляется возвращение к общему линейному участку 2 (блок 5).

5.2. Условный оператор If и составной оператор Begin … End

Для записи на языке программирования Pascal ветвящихся вычислительных процессов используется условный оператор:

If <условие> Then <оператор_1> Else <оператор_2>;

где If, Then, Else - служебные слова; <условие> - логическое выражение.

Эта форма условного оператора приемлема для алгоритма изображённого на рис. 5.1 (а). При истинности условия, выполняется <оператор_1>, записанный за служебным словом Then, в противном случае - <оператор_2>, следующий за служебным словом Else.

Допускается использовать сокращённую форму записи условного оператора:

If <условие> Then <оператор>;

Данная форма приемлема для алгоритма изображённого на рис. 5.1 (б). Оператор, следующий за служебным словом Then, будет выполнен при истинном условии, в противном случае управление передаётся на следующий по порядку оператор.

Допускается использование вложенных условных операторов. При этом после служебных слов Then или Else записывается очередной условный оператор. Однако необходимо помнить следующее правило - каждому служебному слову Else соответствует предыдущее служебное слово Then. Степень вложенности неограниченна.

При необходимости выполнить более одного оператора при истинности или ложности условия необходимо использовать составной оператор (его ещё называют операторные скобки). Составной оператор начинается, как и тело программы, служебным словом Begin, заканчивается служебным словом End, за которым ставится " ; ", между ними записываются операторы, которые необходимо выполнить. Количество операторов, объединяемых составным оператором неограниченно.

Begin

<Оператор_1>;

<Оператор_2>;

<Оператор_3>;

<Оператор_N>;

End;