Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика РГГУ.doc
Скачиваний:
27
Добавлен:
21.12.2018
Размер:
1.65 Mб
Скачать

6.2.1 Запись алгоритмов словами

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

Пример 19

Постановка задачи следующая: «На левом берегу реки находятся волк, коза, капуста и лодочник на своей лодке. Лодочник должен переправить всех на правый берег так, чтобы не оставлять наедине волка с козой и козу с капустой, при этом, в лодке одновременно не может находится более двух перевозимых предметов. Как это сделать?».

  1. Начало алгоритма.

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

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

  4. Переправить на правый берег капусту.

  5. Вернуться на левый берег с козой.

  6. Переправить на правый берег волка.

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

  8. Переправить на правый берег козу.

  9. Конец алгоритма.

Запись алгоритмов в словесной форме очень удобный способ при решении организационных и управленческих задач, в том числе с использованием ЭВМ.

6.2.2 Структурные схемы алгоритмов

Ранее вместо термина «Структурная схема алгоритма» использовался термин «Блок-схема», однако, из новых государственных стандартов данный термин исключен. В различной литературе может встречаться и новый и старый термин, что не меняет сути вопроса.

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

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

Таблица 1 – Основные правила и обозначения, используемые при построении структурных схем алгоритмов

Правила и обозначения

Пояснение

Блок начала и конца алгоритма. В данном блоке пишут слова «начало» или «конец».

Блок ввода и вывода. В блоке ввода перечисляют имена данных, подлежащих вводу в алгоритм, в блоке вывода – выводу из алгоритма.

Блок модификации, изменения параметра. Используется для организации циклических операций в алгоритме. Верхний блок – начало цикла. В начале цикла указывается название цикла, условие входа в цикл, диапазон изменения параметра цикла. Нижний блок – конец цикла. В блоке конца цикла указывается условие выхода из цикла и название цикла.

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

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

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

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

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

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

Пояснения к блокам структурной схемы. Как правило, вынос пояснений осуществляется вправо от блока структурной схемы алгоритма.

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

ЛИНЕЙНЫЕ АЛГОРИТМЫ

Составим структурную схему линейного алгоритма.

Пример 20

Необходимо найти значение функции . Построим структурную схему алгоритма решения задачи (рисунок 25).

Рисунок 25 – Структурная схема линейного алгоритма

В блоке 1 происходит ввод начальных данных, а именно, задание переменной . В блоке 2 алгоритма производится расчет приведенного выражения. Блок 3 указывает на вывод значения рассчитанного параметра алгоритма.

ВЕТВЯЩИЕСЯ АЛГОРИТМЫ

Составим структурную схему ветвящегося алгоритма.

Пример 21

Значение функции вычисляется по двум различным формулам в зависимости от значения аргумента :

, ;

, .

Построим структурную схему алгоритма решения задачи (рисунок 26).

Рисунок 26 – Структурная схема ветвящегося алгоритма

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

ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ

Составим структурную схему циклического алгоритма.

Пример 22

Необходимо вычислить сумму нечетных чисел от 1 до .

Формализация задачи следующая. Обозначим: - искомый результат;

- переменная, которая принимает значения целых нечетных чисел (); Будем использовать переменную в качестве параметра цикла.

Для накопления суммы применим формулу .

Построим структурную схему алгоритма решения задачи (рисунок 27).

Рисунок 27 – Структурная схема циклического алгоритма

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