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