Алгоритмы Это понятное и точное предписание (инструкция) исполнителю выполнить конечную последовательность действий (команд), приводящих от исходных данных к искомому результату. Виды алгоритмов Линейный Порядок однозначный. Газовая плита. Циклический Повтор действий Зарядка. Чистка картошки. Ветвление Выбор порядка действий (игра) Свойства алгоритмов Понятность В алгоритме используются только команды из СКИ Конечность Результат получается за конечное число шагов. Точность Каждая команда однозначно определяет действие исполнителя Формальная работа исполнителя Множество команд управления исполнителем называется системой команд исполнителя Алгоритм Программа исполнитель данные результат Д/зад §28 Дискретность Разбивается на последователь- ность отдельных шагов п.6 стр.153, вопросы к § 28
Вспомогательный алгоритм Пишется 1 раз, исполняется многократно. Экономия времени Выделяется из основного в качестве самостоятельного Решается подзадача Вызвать из других алгоритмов Графический исполнитель (робот, муравей) Можно детально описать весь алгоритм зарисовки (повтор процедур) Программа число 1919 нач Сделай ЕДИНИЦА Прыжок Сделай ДЕВЯТЬ Прыжок Сделай ЕДИНИЦА Прыжок Сделай ДЕВЯТЬ Процедура ЕДИНИЦА Нач Поворот Шаг Поворот Прыжок Поворот кон Процедура ДЕВЯТЬ Нач Шаг Поворот Шаг Поворот Шаг Поворот Шаг Поворот Шаг Поворот Прыжок Поворот кон Программирование сверху вниз (метод последовательной детализации) Программирование снизу вверх (сборочное программирование) Д/зад §42
Циклические алгоритмы (повтор действий) Графический исполнительГоризонтальная линия 15 команд - шаг Линейный алгоритм (шаг 15 раз) Циклический алгоритм Пока впереди не край, повторять нц шаг кц нц – начало цикла кц – конец цикла Цикл должен быть конечным Блок схема нач.линия Впереди не край? да шаг Нет кон.лин Блок схема вспомогательног о алгоритма ЛИНИЯ (циклический) Условные обозначения Начало и конец алгоритма. Простая команда в алгоритме Обращение к вспомогательному алгоритму Проверка условия повторения условие Экран ЭВМ рамка Основная программа РАМКА Основной алгоритм РАМКА Нач Сделай ЛИНИЯ Поворот Сделай ЛИНИЯ Поворот Сделай ЛИНИЯ Поворот Сделай ЛИНИЯ Кон начало линия поворот линия поворот линия поворот линия конец Блок схема основного алгоритма (рамка) Д/зад §43
Виды циклических алгоритмов «Цикл – до» Нач «забор» Подойти к левому краю забора Покрасить 1 доску Шаг в сторону на ширину доски Забор кончился? нет да уйти конец Тело счёта «Цикл – пока» Начало «забор» Подойти к левому краю забора Забор кончился? нет Покрасить 1 доску Шаг в сторону да уйти конец «Цикл с параметрами» Начало «забор» Подойти к левому краю забора Считать от 1 до 200 с шагом счёта в 1 Покрасить 1 доску Шаг в сторону на ширину доски уйти конец Тело счёт а В циклическом алгоритме с параметрами, условие повторения не ставится, а просто задаётся количество повторений. Д/зад записи Тело счёта
Алгоритмы ветвления (выбор действий) Хоккей, шахматы, футбол, карты Полное ветвлениеНеполное ветвление Если то иначе кв. нач Уменьшить скорость Ремонт проведён? да 5 км нет 10 км АЗС конец нач Подойти к кассе Билеты есть? да купить нет уйти конец Алгоритм зарисовки рамки на экране ЭВМ (блок схема) Начальное положение ГРИС начало Задать счёт от 0 до 40 с шагом счёта в 1 Впереди край? да поворот нет шаг конец Алгоритм неполного ветвления вложенный в циклический алгоритм с параметрами Д/зад записи §44
Виды алгоритмических структур Следование Линейный алгоритм Цикл - до Тело счёта ? Цикл - пока ? Тело счёта Цикл с параметрами Тело счёта Полное ветвление ? Неполное ветвление ? Простые структуры Сложные структуры Следование ветвлений и циклов ? ? Вложенные циклы или ветвления Тело счёта ? «Цикл – до» вложенный в цикл с параметрами Д/зад Подготовка к зачёту