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