АЛГОРИТМ КАК МОДЕЛЬ ДЕЯТЕЛЬНОСТИ
Гребченко Дарья. 11 класс.
Что такое алгоритмическая модель
Алгоритм- это понятное и точное предписание конкретному исполнителю совершить конечную последовательность действий, приводящую к поставленной цели.
Этапы деятельности от определения цели(постановки задачи) до получения результата такие:
1)Определение цели
2) Планирование работы исполнителя
3 )Работа исполнителя
4 )Получение результата
Алгоритм является информационной моделью деятельности исполнителя . Такую модель будем называть алгоритмической .
Этапы движения от цели к результату
Построение плана - алгоритма
Работа исполнителя
Определение цели(постановка задачи)
Получение результата
Модель работы исполнителя
Система команд исполнителя
Чтобы построить реальный план – алгоритм, который окажется выполнимым, нужно точно знать возможности исполнителя. Эти возможности определяются системой команд исполнителя (СКИ). Составляя алгоритм, нельзя выходить за рамки СКИ. В этом состоит свойство понятности алгоритма.
Для автомата СКИ – это строго определенный конечный набор команд, заложенный в него конструкторами. Поэтому алгоритм представляет собой точное описание его работы, и автомат выполняет работу, формально следуя указаниям алгоритма. Для управления автоматом или компьютером не трудно придумать формализованный язык описания алгоритмов. Такие языки называются языками программирования , а алгоритм, представленный на языке программирования, называется программой .
Пример алгоритмической модели
Первый игрок загадывает целое число из заданного диапазона чисел, например от 1 до 100. Второй должен угадать это число за наименьшее количество вопросов.
Алгоритм угадывания числа методом половинного деления, ориентированный на исполнителя-человека.
Алгоритм Угадывание числа
Дано : диапазон чисел от А до В
Надо : угадать число X, задуманное игроком, используя алгоритм половинного деления
Начало
- Задать вопрос: Х меньше среднего значения между А и В?
- Если ответ «ДА», то принять за значение В целую часть среднего значения.
- Если ответ «НЕТ», то принять за значение А ближайшее целое число, большее, чем среднее.
- Если значения А и В равны, то их общее значение и есть искомое число Х.
- Если значения А и В не равны, то вернуться к выполнению пункта 1.
Конец
Данный алгоритм ориентирован на исполнителя-человека, а не на компьютер.
Алгоритм «Половинное деление»
Алг Половинное деление
Цел А, В, Х
Начало
Ввод А, В, Х
Пока А ≠ В, повторять
Нц
Если Х≤(А+В)/2
То В:= Цел((А+В)/2)
Иначе А:=Цел ((А+В)/2)+1
Кв
Кц
Вывод А
Конец
Н ачало
Ввод А, В, Х
нет
А≠В
да
нет
да
Х≤(А+В)/2
А:=ЦЕЛ ((А+В)/2)+1
В:=ЦЕЛ ((А+В)/2)
Вывод А
Конец
Блок-схема
Блок-схема – это ориентированный граф, указывающий порядок исполнения команд алгоритма исполнителем. Блоки - вершины этого графа – обозначают отдельные команды, которые отдаются исполнителю, а дуги указывают на последовательность переходов от одной команды к другой.
В прямоугольниках на блок-схемах записываются команды – действия, в ромбах – условия, определяющие направление дальнейшего исполнения команд; в параллелограммах – команды ввода или вывода информации; в овалах – начало или конец исполнения алгоритма. Здесь можно говорить о пути прохождения графа в ходе выполнения алгоритма. Любой путь начинается от вершины «Начало» и заканчивается выходом на вершину «Конец».Внутри же путь может быть разным в зависимости от исходных данных и от результатов проверки условий.
Блок-схема – графическая форма, алгоритмический язык - две разные формы представления алгоритмической модели.
Структурное программирование
Структура построенного алгоритма - цикл с вложенным ветвлением . Любой алгоритм можно построить из сочетания трех основных алгоритмических структур: следования, ветвления и цикла . Это утверждение - основа методики, которая называется структурным программированием . Современные языки программирования позволяют легко переходить от описания алгоритма к программе, если алгоритм построен структурно. Поэтому наиболее рациональной моделью деятельности исполнителя является структурная алгоритмическая модель.
Трассировка алгоритма - модель работы процессора
Для того чтобы проверить правильность алгоритма совсем не обязательно переводить его на язык программирования и выполнять тесты на компьютере. Протестировать алгоритм может и человек – путем трассировки. Выполняя ручную трассировку, человек моделирует работу процессора , исполняя каждую команду алгоритма и занося результаты выполнения команд в трассировочную таблицу. Она является моделью работы процессора при выполнении программы. Программа выполняется по шагам (первый столбец таблицы). В столбце «Команда алгоритма» отображается содержимое регистра команд процессора . Куда помещается очередная команда. В столбце «Переменные» отображается содержимое ячеек памяти компьютера(или регистров памяти процессора), отведенных под переменные величины. В графе «Выполняемые действие» отражаются действия, выполняемые арифметико-логическим устройством процессора.