АЛГОРИТМЫАЛГОРИТМЫ
Алгоритмы Понятие алгоритма Исполнители алгоритма Свойства алгоритма Способы записи алгоритма Основные алгоритмические структуры Основные алгоритмические структуры Завершить показ
Алгоритм – описание последовательности действий, строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) учёный из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль – Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово «алгоритм» возникло в Европе после перевода на латынь книги этого среднеазиатского математика, в которой его имя писалось как «Алгоритми»
Исполнители алгоритма Человек – может выполнять алгоритм формально, не вникая в содержание поставленной задачи, а только строго выполняя последовательность действий, предусмотренную алгоритмом Компьютер – автоматическое исполнение алгоритма, представленного в виде программы (алгоритме, записанного на «понятном» языке программирования)
Исполнителя характеризуют: Среда – «место обитания» исполнителя Система команд – каждый Исполнитель может выполнять команды только из некоторого строго заданного списка системы команд исполнителя (СКИ). Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. Элементарное действие, которое совершает исполнитель после вызова команды Отказ – возникает, если команда вызывается при недопустимом для неё состоянии среды
Свойства алгоритма Алгоритм Понятность Определённость Дискретность Массовость Результативность
Понятность – исполнитель алгоритма должен знать, как его выполнять
Определённость – каждое правило алгоритма должно быть чётким, однозначным и не оставлять места для произвола
Результативность – состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов
Массовость – означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными
Дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов
Свойства алгоритма Алгоритм Понятность Определённость Дискретность Массовость Результативность
Способы записей алгоритмов Словесный способ – представляет собой описание последовательных этапов обработки данных. Алгоритм задаётся в произвольном изложении на естественном языке. Словесный способ не имеет широкого распространения, т.к. такие описания страдают многословностью записей и допускают неоднозначности толкования отдельных предписаний. Графический способ – изображения из графических символов (блок-схемы)Графический способ Псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие как элементы языка программирования, таки фразы естественного языка, общепринятые математические обозначения и др.)Псевдокоды
Блочные символы да нет Проверка условий Начало, конец алгоритма, вход и выход в подпрограмму Вычислительное действие или последовательность действий Вычисления по подпрограмме Ввод-вывод в общем виде Вывод результатов на печать
Основные служебные слова школьного алгоритмического языка Алг (алгоритм) сим (символьный) Нач (начало) Арг (аргумент) лит (литерный)таб (таблица) Рез (результат) лог (логический)кон (конец) нц (начало цикла) Цел (целый)кц (конец цикла) Вещ (вещественный) длин (длина) ДанонадоеслитоУтв Иначевсепокадля выбор Отдоприне ввод Значиилидавывод Общий вид алгоритма Алг название алгоритма (аргументы и результаты) дано условие применимости алгоритма надо цель выполнения алгоритма Нач описание промежуточных величин последовательности команд (тело цикла) кон
Основные алгоритмические структуры
Линейная структура алгоритма Линейным называется алгоритм, в котором команды выполняются последовательно друг за другом начало Команда 1 Команда 2 конец
Алгоритмическая структура «ветвление» Разветвляющийся алгоритм – алгоритм, в котором проверяется условие, в зависимости от которого выполняется то или иное действие. Условие – выражение, находящееся между словами «если» и словом «то» и принимающее значение «истина» или «ложь» Полное ветвлениеНеполное ветвление Условие Действие 1Действие 2 да нет Условие Действие да Нет
Алгоритмическая структура «выбор» В алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд при истинности соответствующего условия Блок-схема структуры: Условие 1 Условие 2 Действие 1 Действие N Действие 2 Условие N …… да нет
Алгоритмическая структура «цикл» Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие Перечень повторяющихся действий называется телом цикла Цикл с предусловием Цикл с постусловием Цикл с параметром Условие Тело цикла да нет ….. Тело цикла Условие нет да … Счётчик Тело цикла …