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