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

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 показан пример использования поясняющих записей.