Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Методические указания к лабораторным работам 1-2.pdf
Скачиваний:
114
Добавлен:
09.06.2015
Размер:
521.7 Кб
Скачать

 

Наименование

 

Обозначение

 

Функция

 

 

 

 

 

 

 

Символ отображает выполнение

 

 

 

 

 

Предопределен

 

 

процесса, который определен в

 

 

другом месте программы (обычно

 

ный процесс

 

 

 

 

используется для обозначения

 

 

 

 

 

 

 

 

вызова функций).

 

Данные

 

 

Используется для обозначения

 

 

 

 

 

операций ввода-вывода.

 

 

 

 

 

 

 

 

 

 

 

 

 

Символ обозначает выход в часть

 

 

 

 

 

 

 

 

схемы и вход из другой части этой

 

Соединитель

 

 

схемы. Используется для обрыва

 

 

линии и продолжения ее в другом

 

 

 

 

 

 

 

 

месте (пример: разделение блок-

 

 

 

 

схемы, не помещающейся на листе).

 

 

 

 

Используется для более подробного

 

 

 

 

 

Комментарий

 

 

описания шага, процесса или

 

 

 

 

группы процессов

Перечень геометрические фигур, обозначающих функциональные блоки, их размеры, а также общие правила построения блок-схем определены государственным стандартом (ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения).

Основные элементы блок-схемы представлены в таблице 1.

2. БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

Различают три типа алгоритмических структур (конструкций): Следование, Ветвление, Цикл.

2.1. Следование

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

7

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

Шаблон блок-схемы алгоритма, построенного с использованием структуры «следование» представлен на рисунке 1.

2.2. Ветвление

Рисунок 1. Структура «следование»

Структура «ветвление» (или «условие») обеспечивает выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки некоторого условия.

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

На рисунке 2 представлен шаблон блок-схемы структуры «ветвление». Если условие, обозначенное в элементе «решение», окажется верным, исполнитель выполнит действие 1, указанное на ветви с пометкой «да». В противном случае, исполнитель перейдет к действию 2, размещающемуся на ветви с пометкой «нет».

8

Рисунок 2. Структура «ветвление»: Если-То-Иначе Рисунок 3. Структура

«ветвление»: Альтернативные пути выполнения алгоритма

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

Рисунок 4. Структура «ветвление»: Если-То

программы продолжится (рисунок 3).

В частном случае, один из альтернативных путей структуры «ветвление» может не содержать никаких действий (рисунок 4).

2.3. Цикл

Структура «цикл» обеспечивает многократное выполнение некоторого действия или совокупности действий.

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

9

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

Действия, выполняемые внутри цикла, принято называть телом цикла. Этап очередного выполнения действия в цикле принято называть итерацией цикла.

Проверка условия может осуществляться до или после выполнения тела цикла. В зависимости от момента проверки условия циклы классифицируются на две категории: циклы с предусловием и циклы с постусловием.

Рисунок 5. Цикл с предусловием

Рисунок 6. Цикл с

 

постусловием

Вцикле с предусловием проверка условия выполняется

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

Вцикле с постусловием проверка условия осуществляется после выполнения тела цикла (Рисунок 6). Программа вначале выполнит действие, и лишь затем

10

проверит заданное условие. Если условие верно, действие

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

Таким образом, тело цикла с постусловием, будет

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

предусловием может не быть выполнено ни одного раза (в

том случае, если условие цикла изначально не верно).

 

В терминологии алгоритмических структур очень часто

используются понятие «арифметического цикла».

 

Под арифметическим циклом подразумевается цикл с

предусловием, количество итераций которого заранее

известно или может быть вычислено. В арифметическом

цикле обычно используется переменная-счетчик, которая

определяет номер текущей итерации. На каждой итерации

цикла

значение

счетчика

увеличивается.

Цикл

выполняется до тех пор, пока счетчик не достигнет

заданного максимального значения.

 

Пример арифметического цикла показан на рисунке 7.

Здесь

в

качестве

счетчика

 

 

используется

переменная i, для

 

 

которой

установлено

начальное

 

 

значение 1. В теле цикла

 

 

значение

 

переменной

 

 

увеличивается на единицу. Цикл

 

 

выполняется

пока

значение

 

 

переменной i меньше или равно

 

 

заданного

максимального

 

 

значения

N.

Таким

образом,

 

 

легко почитать, что данный цикл

 

 

будет выполнен за N итераций.

Рисунок 7.

 

 

 

 

 

Арифметический цикл

11