Алгоритм и его формальное исполнение 24 июля 2015 г.
Алгоритм – это строго определенная последовательность действий при решении задачи. Алгоритм содержит несколько шагов. Шаг алгоритма – это каждое отдельное действие алгоритма.
Исполнитель – это объект, умеющий выполнять определенный набор действий. Исполнителем может быть человек, робот, животное, компьютер. Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять. Среда исполнителя – обстановка, в которой функционирует исполнитель.
Задание: Задание: Назовите исполнителей следующих видов работы: Уборка мусора во дворе Обучение студентов в техникуме Вождение автомобиля Ответ у доски Приготовление пищи
АЛГОРИТМ Результативность Детерминированность Дискретность Конечность Массовость Свойства алгоритма Дискретность Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги Результативность Результативность – получение результата за конечное количество шагов Массовость Массовость – использование алгоритма для решения однотипных задач Детерминированность Детерминированность (определенность, точность) – каждое действие должно строго и недвусмысленно определено Конечность Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения
Классификация алгоритмов по форме представления: Словесные Табличные Графические (блок-схемы) Программные
Составь алгоритм сбора портфеля. Задание: Составь алгоритм сбора портфеля Способ описания алгоритма _______________ Число шагов __________________ Исполнитель ________________ Среда исполнителя _______________ Возьми портфель Открой дневник Посмотри расписание Сложи школьные принадлежности в портфель Закрой портфель Словесный 5 (пять) Человек Квартира
Таблица основных условных обозначений в блок-схемах Условное обозначение Назначение блока Начало или конец алгоритма Ввод или вывод данных. Внутри блока перечисляются данные через запятую. Процесс. Внутри блока записываются матем. формулы и операции для обработки данных. Проверка условия. Внутри блока записываются логические условия. Имеет два выхода Да(+) и Нет(-). Направление.
Классификация алгоритмов по структуре: Линейный (следование) Разветвленный (ветвление, выбор, альтернатива) Циклический (повтор)
Линейные алгоритмы состоят из команд, которые выполняются последовательно. Например, при решении задачи сварить борщ - все действия выполняются одно за другим. Они как бы выстраиваются в одну линию. Отсюда и название – линейный.
начало действие конец
Мы всё время перед выбором … В разветвляющемся алгоритме имеются разные варианты решения задачи в зависимости от результата проверки какого-либо условия. Например, алгоритм проведения выходного дня в зависимости от погоды. Если будет дождь – одни действия, если – нет, то планы будут другие. Что делать?
ЕСЛИ ТО ИНАЧЕ ЕСЛИ хочешь быть здоров, ТО закаляйся ИНАЧЕ можешь часто болеть ЕСЛИ низко ласточки летают, ТО будет дождь ИНАЧЕ дождя не будет ЕСЛИ уроки выучены ТО иди гулять ИНАЧЕ учи уроки
ЕСЛИ ТО ЕСЛИ на улице дождь ТО бери зонт
начало действие условие действие ДАНет конец
начало Посмотреть в окно Идет дождь Идем гулять конец Да Нет Остаемся дома
Циклический алгоритм предполагает наличие действий, выполняющихся многократно. Например, алгоритм рыбной ловли – отдельные действия в алгоритме будут повторяться.
начало действие условие конец действие Да Нет
Задача Вычислить периметр произвольного треугольника по его трем сторонам. Решение: 1 этап: Постановка задачи. Исходные данные: А, B, C – стороны произвольного треугольника Выходные данные: P – периметр треугольника. 2 этап: Математическая модель. P=A+B+С
3 этап: Алгоритм. Начало Ввод A, B, C P=A+B+C Вывод P Конец 3 этап: Составление алгоритма
Задание: Составить алгоритм с помощью блок-схем Линейные алгоритмы 1. Вычисление суммы четырех чисел. 2. Вычисление произведения трёх чисел. 3. Вычисление площади квадрата. 4. Составить алгоритм для уравнения y=3(x 2 +6z) 5. Вычислить скорость автомобиля, если известно расстояние и время поездки. Алгоритмы ветвления 1. По форме фигуры определить, какая фигура: квадрат, окружность. 2. Найти значение функции