Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_po_INZh_ST_PPP_dlya_zaochnikov ооо.doc
Скачиваний:
8
Добавлен:
27.09.2019
Размер:
1 Мб
Скачать
☆
    1. Виды алгоритмов

Виды алгоритмов как логико-математических средств:

  • механические – или детерминированные, жесткие, задают определенные действия в единственной и достоверной последовательности, обеспечивая однозначный и требуемый результат;

  • гибкие – дают последовательность нахождения решения задачи несколькими путями или способами, или это такие алгоритмы, в которых достижение результата однозначно не определено;

  • линейные – набор действий, выполняемых во времени последовательно, друг за другом;

  • разветвляющиеся – алгоритмы, содержащие хотя бы одно условие, в результате проверки которого программа переходит к одному из двух возможных шагов;

  • циклические – алгоритмы, предусматривающие многократное повторение одного и того же действия, но над новыми данными;

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

Процессы вычислений циклической структуры в свою очередь можно разделить на три группы:

  • циклические процессы, для которых количество повторений известно – счетные циклы или циклы с заданным количеством повторений;

  • циклические процессы, завершающиеся по достижении или нарушении некоторых условий - итерационные циклы;

  • циклические процессы, из которых возможны два варианта выхода: по завершении процесса и досрочный выход по какому-либо дополнительному условию – поисковые циклы.

    1. Методы изображения алгоритмов

На практике распространены формы представления алгоритмов:

  • словесная  в виде последовательности записей на естественном языке;

  • графическая в виде совокупности графических знаков;

  • псевдокоды – полуформализованное описание алгоритма на условном языке, включающем в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.;

  • программная – текст на языке программирования.

Запись алгоритмов на естественном языке (словесная форма) не получила широкого распространения, из-за отсутствия наглядности; ввиду возможности неоднозначного толкования записей, и их многословности. Пример словесной формы алгоритма:

  1. Определить форматы переменных А, С и В.

  2. Ввести значения А и В с клавиатуры.

  3. Сравнить А и В.

  4. Если А больше В, то переменной С присвоить значение А.

  5. Если В больше А, то переменной С присвоить значение В.

  6. Если А равно В, переменной С присвоить значение 0.

  7. Вывести на экран значения А, В и С.

  8. Конец.

Запись алгоритма в виде совокупности графических знаков называется блок-схемой, и получила широкое распространение в научной и учебной литературе. На изображение схем алгоритмов существует ГОСТ 19.701-90. Знаки (блоки) соединены линиями информационного потока (стрелками); каждый знак имеет определенный смысл (см. табл. 1) и соответствует одному шагу (действию) алгоритма. Внутри блока дается описание соответствующего действия. Для простоты чтения схем желательно, чтобы линия входила в блок сверху, а выходила снизу, или шла слева направо. Блоки должны быть одного масштаба. В случае, когда схема алгоритма не умещается на листе, используются соединители. В Microsoft Word для выполнения алгоритмов используется панель инструментов «Рисование – Автофигуры – Блок-схема».

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

Таблица 1.

Знаки для изображения схем алгоритмов

Обозначение

(графическое изображение)

Название

Назначение

Наименование автофигуры в Word

Терминатор

Начало или завершение программы или подпрограммы

Знак завершения

Процесс

Обработка данных (вычисления, пересылки т.п.)

Процесс

Решение

Ветвления, выбор, итерационные и поисковые циклы

Решение

Данные

Операции ввода-вывода

Данные

Подготовка

Счетные циклы

Подготовка

Документ

Вывод на бумагу

Документ

Архив

Данные, хранящиеся в архиве или взятые из архива

-

Документ

Документ, подготовленный вручную

-

Файл

Файл или база данных

Магнитный диск

Предопреде-ленный процесс

Вызов подпрограмм

(процедур)

Типовой процесс

Источник или

приемник данных

Указание источника или

приемника данных

-

Монитор

Вывод информации на экран

Дисплей

Соединитель

Маркировка разрывов линий

Узел

Соединитель

Маркировка разрывов линий

Ссылка на другую страницу

Комментарий

Пояснения к действиям

Выноска

Поток информации

Линии, связывающие блоки

Стрелка

В теории программирования доказано [1, 2], что для записи любого сложного алгоритма достаточно трех базовых структур: следование – последовательное выполнение действий (рис. 1,а); ветвление – соответствует выбору одного из двух вариантов действий (рис. 1,б); цикл-пока – определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла (рис. 2).

Рис. 1. Базовые алгоритмические структуры: а) следование, б) ветвление

Рис. 2. Базовая структура: цикл-пока

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

Рис. 3. Дополнительная структура «выбор» и реализация ее через базовые структуры

Рис. 4. Дополнительная структура: цикл – до

Рис. 5. Дополнительная структура: цикл с заданным числом повторений (счетный цикл).

На основе алгоритмов создается программное обеспечение (ПО) для решения прикладных задач.

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