- •Пояснительная записка
- •Основы теории алгоритмов
- •Понятие алгоритма
- •Свойства алгоритма
- •Способы описания алгоритма
- •Условные графические обозначения, используемые в схемах алгоритмов и программ, правила их выполнения
- •Примеры применения символов при выполнении схем алгоритмов и программ
- •Типы алгоритмов
- •Линейные алгоритмы
- •Алгоритмы ветвящейся структуры
- •Алгоритмы циклической структуры
- •Циклы с известным числом повторений
- •Циклы с неизвестным числом повторений (итерационные)
- •Массивы
- •Выписка из гост 19.701-90 (исо 5807-85) Схемы алгоритмов, программ, данных и систем Условные обозначения и правила выполнения
- •Примеры выполнения алгоритмов
- •Индивидуальные задания
- •Библиографический список
- •Содержание
Основы теории алгоритмов
Понятие алгоритма
Термин "алгоритм" происходит от имени узбекского математика IX в. Мухаммеда,
уроженца Хорезма (по-арабски "Аль-Хорезми"), который сформулировал правила
выполнения четырех арифметических действий, получивших название "алгоризм".
Позднее оно трансформировалось в "алгоритм". К настоящему времени это слово стало
собирательным названием отдельных правил определенного вида.
Алгоритм - это точная система правил, которая определяет содержание и порядок действий над объектами (исходными и промежуточными данными) для получения (после конечного числа шагов) искомого результата. Такую цепочку дискретных действий называют алгоритмическим процессом, а каждое действие - шагом. Создать алгоритм – это понять, как решить задачу.
Свойства алгоритма
Характерными чертами алгоритма являются следующие его свойства:
Однозначность (определенность) - алгоритм должен быть настолько точно сформулирован, что применяя его к одним и тем же исходным данным несколько раз, мы всегда получим одни и те же результаты.
Результативность – алгоритм должен приводить к искомому результату во всех тех случаях, для которых он создан, за конечное число простых шагов.
Массовость – возможность применения алгоритма для решения множества задач данного типа.
Дискретность – решение задачи алгоритм сводит к решению отдельных более простых задач (разбивка).
Общепонятность - алгоритм должен быть изображен при помощи таких символов, которые могут быть понятны каждому пользователю.
Способы описания алгоритма
Для записи алгоритмов существует множество способов, отличающихся по простоте, наглядности, компактности, степени формализации, ориентации на машинную реализацию и другими показателями.
В практике программирования наибольшее распространение получили:
Текстуальная (содержательная) запись. Первоначально для записи алгоритмов пользовались средствами естественного языка, но с тщательно отобранным набором слов и фраз, не допускающим повторений, синонимов, двусмысленностей, лишних слов. Кроме того, принимались определенные соглашения о форме записи, порядке выполнения действий, допускалось использование математических символов. Такая запись алгоритма выглядела громоздко
Кодирование (запись) алгоритма на языке программирования. Языком в теории программирования называют совокупность символов (алфавит языка) и правила, определяющие способы объединения этих символов в языковые конструкции для записи осмысленных текстов. Простейшим языком программирования является язык команд конкретной ЭВМ, или машинный язык (языки программирования низкого уровня).
Расчленив действия алгоритма до уровня машинных операций и заменив каждый пункт соответствующей командой, можно получить программу решения задачи.
Программирование на машинном языке является исключительно трудоемким процессом из-за громоздкости записи и необходимости чрезмерной детализации алгоритма. Поэтому машинные языки постепенно утратили свое значение как языки программирования и были заменены более совершенными языками (языки программирования высокого уровня), которые позволяют значительно повысить производительность программирования, дают возможность описывать широкие классы алгоритмов, не ограничиваясь конкретным типом ЭВМ.
Схема алгоритмов и программ (логические блок-схемы) - графическое изображение структуры алгоритма, в которой каждый этап вычислительного процесса представлен в виде геометрического символа. Эти символы соединены между собой линиями, указывающими путь процесса. Внутри фигур дается краткое описание содержания данного этапа. Условные графические изображения и правила выполнения блок-схем алгоритмов и программ определяются государственным (ГОСТ) и международным (ИСО) стандартами.
Степень детализации в изображении алгоритма зависит от программиста.
Блок-схема является исключительно наглядным и простым способом представления
алгоритма. Наиболее часто используемые стандартные графические обозначения элементов схем алгоритмов и программ приведены в таблице.
