Алгоритмы
Слово алгоритм произошло от algorithm – латинского написания имени аль – Хорезми, величайшего ученого из города Хорезма, Мухамеда бен Мусу, жившего в 783 – 850 гг. Описание алгоритма
Алгоритм – совокупность четко определенных правил для решения задачи за конечное число шагов. Примеры алгоритмов: рецепт приготовления блюда, решение квадратного уравнения, правила по русскому языку и др. АЛГОРИТМИЗАЦИЯ – процесс разработки алгоритма (плана действий) для решения задачи.
Исполнитель алгоритма Исполнитель – тот, кто будет выполнять алгоритм. Например: человек, автомат, компьютер, солдат. Система команд исполнителя – команды, «понятные» данному исполнителю. Формальное выполнение алгоритма – строгое выполнение последовательности действий алгоритма без понимания целей решения задачи.
СВОЙСТВА АЛГОРИТМОВ АЛГОРИТМ ДИСКРЕТНОСТЬ РЕЗУЛЬТАТИВНОСТЬ ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ) МАССОВОСТЬКОНЕЧНОСТЬ
ДИСКРЕТНОСТЬ (от лат. discretus –разделенный, прерывистый)., указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определённом порядке. РЕЗУЛЬТАТИВНОСТЬ требует, чтобы в алгоритме не было ошибок и каждый его шаг приводил к конкретному результату. ДЕТЕРМИНИРОВАННОСТЬ (ОДНОЗНАЧНОСТЬ) (от лат. Determinate – определённость, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. МАССОВОСТЬ показывает, что один и тот же алгоритм можно использовать с разными исходными данными. КОНЕЧНОСТЬ определяет, что каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
Способы записи алгоритмов Словесный Табличный Графический (блок- схема) Алгоритмический язык
1.Налить в чайник воду. 2. Зажечь спичку. 3. Открыть кран газовой горелки. 4. Поднести спичку к горелке. 5. Поставить чайник на плиту. 6. Ждать, пока вода закипит. 7. Выключить газ. Словесный способ представления алгоритмов
Графический способ представления алгоритмов Или Блок-схема началоконец Выполнение действия
Графический способ представления алгоритмов Или Блок-схема Проверка условия Ввод/вывод данных
начало Подойти к переходу Дождаться зеленого света Перейти улицу Конец Алгоритм действий человека при переходе улицы в виде блок-схемы
Алгоритм посадки дерева 1)Выкопать в земле ямку; 2)Опустить в ямку саженец; 3)Засыпать ямку с саженцем землей; 4)Полить саженец водой.
начало Выкопать в земле ямку Опустить в ямку саженец Засыпать ямку с саженцем землей Конец Полить саженец водой
Линейные алгоритмы состоят из команд, которые выполняются последовательно. Например, при решении задачи сварить борщ - все действия выполняются одно за другим. Они как бы выстраиваются в одну линию. Отсюда и название – линейный.
начало действие конец
начало Пойди на кухню Открой холодильник конец Возьми банан Закрой холодильник
Мы всё время перед выбором … В разветвляющемся алгоритме имеются разные варианты решения задачи в зависимости от результата проверки какого-либо условия (расходятся в разные стороны как веточки на дереве, отсюда название – разветвленный). Например, алгоритм проведения выходного дня в зависимости от погоды. Если будет дождь – одни действия, если – нет, то планы будут другие. Что делать?
ЕСЛИ ТО ИНАЧЕ ЕСЛИ хочешь быть здоров, ТО закаляйся ИНАЧЕ можешь часто болеть ЕСЛИ низко ласточки летают, ТО будет дождь ИНАЧЕ дождя не будет ЕСЛИ уроки выучены ТО иди гулять ИНАЧЕ учи уроки
ЕСЛИ ТО ЕСЛИ на улице дождь ТО бери зонт
начало действие условие действие ДАНет конец
начало Посмотреть в окно Идет дождь Идем гулять конец Да Нет Остаемся дома
Циклический алгоритм предполагает наличие действий, выполняющихся многократно. Например, алгоритм рыбной ловли – отдельные действия в алгоритме будут повторяться.
начало действие условие конец действие Да Нет
Последовательность действий ученика 6 класса Васи: «Если Павлик дома, будем решать задачи по математике. В противном случае следует позвонить Марине и вместе готовить доклад по биологии. Если же Марины нет дома, то надо сесть за сочинение.»
начало Решать задачи Готовить реферат Конец Павлик дома? данет Звонить Марине Марина дома? нет да Писать сочинение
Составить блок-схему для задачи: Из трех монет одинакового достоинства одна фальшивая (более легкая). Как её найти с помощью одного взвешивания на чашечных весах без гирь?
начало Конец Отложенная монета фальшивая Весы в равнове сии? нет да Положить по 1 монетке на каждую чашу весов, третью монету отложить в сторону Монета на поднявшейся вверх чаше фальшивая
Составить блок-схему действий школьника, которому перед вечерней прогулкой следует выполнить домашнее задание по математике.
начало Решаем задачу Есть нерешенные задачи конец Идем гулять ДА Нет
начало Конец Разделить число на 2 Число четно? нет да Вычесть из числа 1 Число нет Полученное число > 0? да Прочитать алгоритм