Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_ИП (Часть 1 - алгоритмизация и основы языка Па...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
897.54 Кб
Скачать

Разветвляющие процессы.

Подавляющее число алгоритмов содержит проверки условия, которые определяют дальнейший ход алгоритма. Такие алгоритмы и процессы, которые они описывают, называют разветвляющимися.

У словия записываются в циклах-ромбах. Внутри них всегда задается вопрос. Вариантов может быть два и более. Обычно предполагаются ответы «Да» и «Нет». Часто используются блоки с проверкой значения числа, в таких блоках есть три выхода.

Для осуществления множественного выбора, когда вариантов больше чем 3.

В ситуации с двоичным выбором выделяется четыре варианта ветвления:

1. 2. 3. 4.

повторение

Циклы.

Ц икл – последовательность действий, которые многократно повторяются.

Итерация – однократное выполнение цикла.

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

Тело цикла – действия, выполняющиеся в цикле. Выделяются два типа цикла, в зависимости от расположения тела цикла по отношению к блоку проверки условия выхода.

Цикл с предусловием:

Т ело цикла выполняется 0 или более раз.

Корректен в любых случаях.

Цикл с постусловием:

Тело цикла выполняется не менее одного раза.

Корректен только тогда, когда цикл наверняка выполняется один и более раз.

По способу организации выхода из цикла, циклы делятся на два вида:

- с заранее известным количеством итераций;

- с неизвестным количеством итераций.

1 ) Если количество итераций неизвестно к началу выполнения цикла, то такой цикл организуется при помощи двух элементов.

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

П еременная цикла или счетчик - это целочисленная переменная, в которой должно храниться количество уже выполненных итераций.

Перед циклом счетчику нужно присвоить начальное значение (обычно 0). При каждой итерации увеличивать значение счетчика, а в БПУВИЦ сравнивать счетчик с количеством необходимых итераций. Такие циклы состоят из 4х элементов.

Блоки циклов используются для упрощения записи циклов с заранее известным количеством итераций. Блоки циклов не являются обязательным элементом блок-схемы. Они могут заменяться обычными блоками организации циклов, но их использование упрощает внешний вид блок-схем, поэтому их применение рекомендуется.

Для сравнения рассмотрим задачу поиска суммы N чисел с обычной формой записи цикла и с блоками цикла.

Начальный блок цикла заменяет БПНЗ+БПУВИЦ, в нем указывается счетчик, значение – начальное и конечное, которое счетчик последовательно принимает. Текст в открывающем блоке наз. заголовком цикла. В некоторых случаях этот блок может иметь другой вид.

БИЗС заменяется закрывающим блоком цикла. В нем не пишется способ изменения, а только указывается название переменной цикла. Если в заголовке цикла нет специальных указаний, то подразумевается, что в закрывающем блоке счетчик увеличивается на единицу.

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

* при входе в открывающий блок сверху, выполняются следующие действия:

- переменной цикла присваивается начальное значение (в примере 1); i:=1

- проверяются условие выхода. Выход происходит, если счетчик превысил конечное значение (в примере N). i>N

* в закрывающем блоке после изменения значения счетчика происходит безусловный переход на открывающий блок. Стрелка подразумевается, но не рисуется. Таким образом, стрелка возврата, которая используется при обычной записи цикла, при использовании блоков цикла опускается.

* при входе в открывающий блок сбоку (по нерисуемой стрелке из закрывающего) выполняется ПУВИЦ. Если счетчик не превышает конечного значения, выполняется очередная итерация. В противном случае происходит выход из цикла. При этом управление передается на следующий блок после закрывающего. Стрелка перехода не рисуется, но подразумевается.

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

* во многих языках программирования допускается досрочное прерывание цикла, при котором управление передается на следующую строку после цикла.

* после выхода из цикла значение счетчика считается неопределенным.

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