Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основные понятия программирования

.pdf
Скачиваний:
179
Добавлен:
13.02.2015
Размер:
962.19 Кб
Скачать

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «ветвление»

Ветвление – это выполнение действий по одной из возможных ветвей решения задачи. Эта структура обеспечивает, в зависимости от результата проверки условия (истина или ложь), выбор одного из альтернативных путей работы алгоритма, причем каждый из путей ведет к общему выходу. Возможные пути выполнения алгоритма помечают соответствующими метками: истина/ложь, да/нет, и т.д.

Алгоритм, в состав которого входит базовая структура «ветвление», называется разветвляющимся. В разветвляющемся алгоритме в зависимости от выполнения или невыполнения условия выполняется та или иная последовательность операторов.

Виды ветвлений:

обход (если-то)

разветвление (если-то-иначе)

множественный выбор (если-то-иначе-если)

11

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «ветвление» (продолжение)

Разветвление (если-то-иначе)

Обход (если-то)

• применяется, когда в зависимости

• частный случай разветвления,

от результата проверки условия

когда одна ветвь не содержит

требуется выполнить либо одно

никаких действий.

действие, либо другое действие.

 

 

 

Если

 

 

Если

 

 

 

 

 

 

Проверка

Нет

Да

 

 

 

Проверка

Нет

условия

 

 

 

 

 

 

 

то

условия

иначе

 

 

 

 

 

Оператор 1

 

Оператор 2

Да

 

 

 

 

 

 

 

то

 

 

 

 

Оператор

 

12

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «ветвление» (продолжение)

Множественный выбор

 

Если-то-иначе-если

 

• обобщение разветвления, когда в

 

• Организация множественного

 

зависимости от значения

 

 

 

 

 

выбора с помощью нескольких

 

переменной условия выполняется

 

 

структур «если-то-иначе»

 

одно из нескольких действий.

 

 

 

 

 

 

Такую структуру всегда можно

 

 

 

 

 

 

представить в виде совокупности

 

 

 

Если

 

 

 

 

 

 

 

 

нескольких базовых структур

Да

 

Проверка

Нет

 

«если-то-иначе».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условия 1

 

 

 

 

 

 

 

 

 

 

 

то

иначе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

 

 

 

 

 

Да

Проверка

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I1

I2

 

 

Ii

In

 

 

 

 

Условия 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

i

n

то

иначе

 

 

 

 

 

 

Оператор 2

Оператор 3

13

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «повторение»

Повторение (цикл) – некоторая часть операций выполняется многократно. Эта последовательность операций называется телом цикла.

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

Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными циклами.

Алгоритм, в состав которого входит базовая структура «повторение»,

называется циклическим.

14

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «повторение» (продолжение)

Существуют три типа циклов:

Цикл с предусловием (цикл-пока) - тело цикла расположено после проверки условия (пока результат проверки условия истинен, выполняется тело цикла)

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

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

Цикл с постусловием (цикл-до) - тело цикла расположено перед проверкой условия.

Tело цикла выполняется до тех пор, пока результат проверки условия не станет ложным. Цикл с постусловием можно определить и по-другому: тело цикла выполняется до тех пор, пока результат проверки условия не станет истинным. Таким образом, в трактовке условия цикла с постусловием в разных языках есть различия. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно), а в Си и его потомках — как условие продолжения (цикл завершается, когда условие ложно).

15

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «повторение» (продолжение)

Цикл с предусловием (цикл-пока)

пока результат проверки условия (блок 3) остается истинным, тело цикла (блок 2) выполняется. При этом может случиться, что при определенных условиях тело цикла не выполнится ни разу

1

Нет

3

Да

2

Цикл с постусловием (цикл-до)

тело цикла (блок 2) выполняется по крайней мере один раз и будет повторяться до тех пор, пока результат проверки условия (блок 3) не станет ложным (а). Другой вариант формулировки: пока результат проверки условия не станет истинным (б).

а)

б)

1

 

 

1

 

 

 

 

 

 

2

 

2

Да

Нет

 

3

 

3

Нет

Да

 

 

16

Принципы простого алгоритма

Простой алгоритм - алгоритм, для которого:

Существует единственный вход и единственный выход.

Для каждого элемента алгоритма существует путь от входа к выходу через этот элемент (т.е. алгоритм не содержит бесконечных циклов и не содержит бесполезных (недостижимых) фрагментов).

Бесконечный цикл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простой алгоритм

 

Недостижимый фрагмент

17

Язык псевдокода

Некоторые операторы внешнего синтаксиса псевдокода

Следование. Операции записываются последовательно одна за другой.

Разветвление. Если…то…иначе. Используются операторы if (если) … then (то) … else (иначе) end-if (конец-если). Происходит проверка if-условия. Если результат проверки истинен, то выполняется then-

часть; если результат проверки ложен, то выполняется else-часть.

Индексная последовательность (цикл по счетчику с заранее определенным числом шагов ). Используются операторы for (для) … do (выполнять) …end-do (конецвыполнять). Do-часть составляет тело цикла.

Цикл-Пока. Do-часть выполняется пока while-условие имеет значение истина. Do-часть модифицирует условие while для того, чтобы окончить вычисления. Используются операторы while (пока) … do (выполнять) … end-do (конецвыполнять). Do-часть составляет тело цикла.

первая операция вторая операция третья операция

if

if-условие then

then-часть else

else-часть end-if

for

индексный список

do

do-часть end-do

while while-условие

do

do-часть end-do

18