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