Презентация на тему алгоритм как модель деятельности. Алгоритм как модель деятельности. Практическая работа «Управление алгоритмическим исполнителем. Способы записи алгоритмов

Что такое алгоритмическая модель? Почему алгоритм можно назвать моделью и что он моделирует? n Алгоритм – это понятное и точное предписание конкретному исполнителю совершить конечную последовательность действий, приводящую к поставленной цели. Т. е. цель достигается через деятельность некоторого исполнителя.

Этапы деятельности: n n Определение цели; Планирование работы исполнителя; Работа исполнителя; Получение результата. Где же здесь место алгоритму? Алгоритм – это детальный план работы исполнителя, это описание последовательности действий, которые должен совершить исполнитель.

Следовательно - Алгоритм является информационной моделью деятельности исполнителя. Такую модель будем называть алгоритмической. Рис. Этапы движения от цели к результату. Определение цели Построение планаалгоритма Модель работы исполнителя Работа исполнителя Получение результата

Система команд исполнителя Чтобы построить реальный план-алгоритм, нужно знать возможности исполнителя. Эти возможности определяются СКИ. Составляя алгоритм нельзя выходить за рамки СКИ. Проще построить алгоритм для программно управляемого автомата, чем для человека. Для автомата СКИ – это строго определённый набор команд на формализованном языке описания алгоритмов. Такие языки называются языками программирования, а алгоритм – программой. СКИ человека невозможно полностью описать.

Пример алгоритмической модели. Задача: угадывание целого числа из заданного диапазона методом половинного деления. Первый игрок загадывает целое число из заданного диапазона чисел, например от 1 до 100. Второй должен угадать число за наименьшее количество вопросов.

Алгоритм для исполнителя-человека. Алгоритм Угадывание числа Дано: диапазон чисел от А до В Надо: угадать число Х, задуманное игроком, используя алгоритм половинного деления Начало 1. Задать вопрос: Х меньше среднего значения между А и В? 2. Если ответ «да» , то принять за значение В целую часть среднего значения. 3. Если ответ «нет» , то принять за значение А ближайшее целое число, большее, чем среднее. 4. Если значения А и В равны, то их общее значение и есть искомое число Х. 5. Если значения А и В не равны, то вернуться к исполнению пункта 1. Конец

Алгоритм для исполнителя-компьютера. Блок-схема начало Ввод А, В, Х нет А≠В да нет Х≤(А+В)/2 В=ЦЕЛ((А+В)/2) А=ЦЕЛ((А+В)/2)+1 Вывод А Конец

Алгоритм для исполнителя-компьютера. Алгоритмический язык Алг Половинное деление Цел А, В, Х Начало Ввод А, В, Х Пока А≠В, повторять Нц Если Х≤(А+В)/2 То В: =ЦЕЛ((А+В)/2) Иначе А: =ЦЕЛ((А+В)/2)+1 Кц Вывод А Конец

Структурное программирование Структура построенного алгоритма – цикл с вложенным ветвлением. Любой алгоритм можно построить из сочетания трёх основных алгоритмических структур: следования, ветвления и цикла. Это утверждение – основа методики, которая называется структурным программированием. Если алгоритм построен структурно, то легко перейти от описания алгоритма к программе.

Трассировка алгоритма - модель работы процессора. Чтобы проверить правильность алгоритма, совсем не обязательно переводить его на язык программирования. Протестировать алгоритм может и человек - путём трассировки. Выполняя ручную трассировку, человек моделирует работу процессора, исполняя каждую команду и занося результаты выполнения команд в трассировочную таблицу. Выберем интервал угадываемых чисел от 1 до 8. Пусть игрок задумал число 3.

№ шага Команда алгоритма Переменные Х А 3 1 Выполняемы е действия В 1 Ввод А, В, Х 2 А≠В 1 ≠ 8, да 3 Х ≤ (А+В)/2 3 ≤ 4, 5, да 4 В: =ЦЕЛ((А+В)/ 2) 5 А≠В 1 ≠ 4, да 6 Х ≤ (А+В)/2 3 ≤ 2, 5, нет 3 1 8 4 В: = 4

7 А: =ЦЕЛ((А+В)/2+1) 3 8 А≠В 3 ≠ 4, да 9 Х ≤ (А+В)/2 3 ≤ 3, 5, да 10 В: =ЦЕЛ((А+В)/2) 11 А≠В 3 ≠ 3, нет 12 Вывод А Ответ: 3 3 4 3 А: =3 В: =3

Трассировка алгоритма - модель работы процессора. n n Программа выполняется по шагам (первый столбец таблицы). В столбце «Команда алгоритма» отображается содержимое регистра команд процессора, куда помещается очередная команда. В столбце «Переменные» отображается содержимое ячеек памяти, отведённых под переменные величины. В графе «Выполняемое действие» отражаются действия, выполняемые арифметико-логическим устройством процессора.

Вывод: n Таким образом, алгоритм в совокупности с трассировочной таблицей полностью моделируют процесс обработки информации, происходящий в компьютере.

Система основных понятий Алгоритм - модель деятельности Объект моделирования – целенаправленная деятельность исполнителя. Исполнитель-человек Исполнитель-автомат(в том числе компьютер) Неформализованная СКИ Формы представления алгоритмов Блок-схема Учебный алгоритмический язык Язык программирования Трассировка алгоритма- пошаговое исполнение алгоритма с тестовым вариантом исходных данных. «Ручная трассировка» -заполнение трассировочной таблицы. Трассировочная таблица- модель работы процессора при исполнении алгоритма.

Домашняя работа § 16 читать, ответить на вопросы 3, 4, 5, 8, 11 (любые 3 вопроса из заданных)

Представить в виде блок -схемы В среде Word Представить данный алгоритм в виде блок-схемы, используя автофигуры алг нач цел a, b a: =2 b: =0 нц пока a 10 a: =a+2 b: =b+3*a кц вывод b кон

Cлайд 1

Cлайд 2

Что такое алгоритмическая модель? Почему алгоритм можно назвать моделью и что он моделирует? Алгоритм – это понятное и точное предписание конкретному исполнителю совершить конечную последователь-ность действий, приводящую к поставленной цели. Цель достигается через деятельность некоторого исполнителя.

Cлайд 3

Этапы деятельности: Определение цели; Планирование работы исполнителя; Работа исполнителя; Получение результата. Где же здесь место алгоритму? Алгоритм – это детальный план работы исполнителя, это описание последовательности действий, которые должен совершить исполнитель.

Cлайд 4

Алгоритм является информационной моделью деятельности исполнителя. Такую модель будем называть алгоритмической. Рис. Этапы движения от цели к результату. Определение цели Построение плана- алгоритма Работа исполнителя Получение результата Модель работы исполнителя

Cлайд 5

Система команд исполнителя Чтобы построить реальный план-алгоритм, нужно знать возможности исполнителя. Эти возможности определяются СКИ. Составляя алгоритм нельзя выходить за рамки СКИ. Проще построить алгоритм для программно управляемого автомата, чем для человека. Для автомата СКИ – это строго определённый набор команд на формализованном языке описания алгоритмов. Такие языки называются языками программирования, а алгоритм – программой. СКИ человека невозможно полностью описать.

Cлайд 6

Пример алгоритмической модели. Задача: угадывание целого числа из заданного диапазона методом половинного деления. Первый игрок загадывает целое число из заданного диапазона чисел, например от 1 до 100. Второй должен угадать число за наименьшее количество вопросов.

Cлайд 7

Алгоритм для исполнителя-человека. Алгоритм Угадывание числа Дано: диапазон чисел от А до В Надо: угадать число Х, задуманное игроком, используя алгоритм половинного деления Начало 1.Задать вопрос: Х меньше среднего значения между А и В? 2.Если ответ «да», то принять за значение В целую часть среднего значения. 3.Если ответ «нет», то принять за значение А ближайшее целое число, большее, чем среднее. 4.Если значения А и В равны, то их общее значение и есть искомое число Х. 5. Если значения А и В не равны, то вернуться к исполнению пункта 1. Конец

Cлайд 8

Cлайд 9

Алгоритм для исполнителя-компьютера. Алгоритмический язык Алг Половинное деление Цел А, В, Х Начало Ввод А, В, Х Пока А≠В, повторять Нц Если Х≤(А+В)/2 То В:=ЦЕЛ((А+В)/2) Иначе А:=ЦЕЛ((А+В)/2)+1 Кц Вывод А Конец

Cлайд 10

Структурное программирование Структура построенного алгоритма – цикл с вложенным ветвлением. Любой алгоритм можно построить из сочетания трёх основных алгоритмических структур: следования, ветвления и цикла. Это утверждение – основа методики, которая называется структурным программированием. Если алгоритм построен структурно, то легко перейти от описания алгоритма к программе.

Cлайд 11

Трассировка алгоритма - модель работы процессора. Чтобы проверить правильность алгоритма, совсем не обязательно переводить его на язык программирования. Протестировать алгоритм может и человек - путём трассировки. Выполняя ручную трассировку, человек моделирует работу процессора, исполняя каждую команду и занося результаты выполнения команд в трассировочную таблицу. Выберем интервал угадываемых чисел от 1 до 8. Пусть игрок задумал число 3.

Cлайд 12

№ шага Команда алгоритма Переменные Выполняемые действия Х А В 1 Ввод А, В, Х 3 1 8 2 А ≠ В 1 ≠ 8, да 3 Х ≤ (А+В)/2 3 ≤ 4,5, да 4 В:=ЦЕЛ((А+В)/2) В:= 4 5 А ≠ В 1 ≠ 4, да 6 Х ≤ (А+В)/2 3 ≤ 2,5 № шага Команда алгоритма Переменные Выполняемые действия Х А В 1 Ввод А, В, Х 3 1 8 2 А ≠ В 1 ≠ 8, да 3 Х ≤ (А+В)/2 3 ≤ 4,5, да 4 В:=ЦЕЛ((А+В)/2) 3 1 4 В:= 4 5 А ≠ В 1 ≠ 4, да 6 Х ≤ (А+В)/2 3 ≤ 2,5, нет

Название предмета: информатика Класс: 10 УМК (название учебника, автор, год издания): Семакин И.Г., Хеннер Е.К. «Информатика и ИКТ 10­11 класс» Бином, Лаборатория Знаний, 2011 Уровень обучения (базовый, углубленный, профильный): базовый Тема урока: Алгоритм как модель деятельности. Практическая работа «Управление алгоритмическим исполнителем» Общее количество часов, отведенное на изучение темы: 2 часа Место урока в системе уроков по теме: урок практических знаний Цель урока: дополнить и обобщить представления учащихся о компьютерных моделях, закрепить навыки работы с графическими исполнителями Задачи урока:  Образовательные: закрепить представления учащихся о моделях и видах информационных моделей; систематизировать моделировании, полученные знания, обобщить знания в управлении алгоритмическим исполнителем  Развивающие: развитие творческих способностей, логического мышления учащихся, их исследовательских умений и навыков.  Воспитательные: воспитание самостоятельности при выполнении заданий, умения самостоятельно оценивать результат своей проектной деятельности и работы своих одноклассников. Планируемые результат:  Предметные – Повторить определение алгоритма, его свойства и виды. Вспомнить понятие модели и дать определение алгоритмической модели. Познакомить учащихся с примером алгоритмической модели, расширить представление учащихся о возможных сферах применения информационных моделей, показать выполнение трассировки алгоритма на конкретном примере.  метапредметные – учащиеся получат возможность развивать и отрабатывать умение анализировать, адекватно самостоятельно оценивать

правильность выполнения действия и вносить необходимые коррективы в исполнение, как в конце действия, так и по ходу его реализации.  личностные – способствовать формированию творческой активности учащихся через создание ситуации успешности Техническое обеспечение урока проектор, экран, ноутбук, компьютеры Дополнительное методическое и дидактическое обеспечение урока (возможны ссылки на интернет­ресурсы) учебник­практикум Семакин И.Г., Хеннер Е.К. Содержание урока 1. Организационный момент Здравствуйте, начнём наш урок страничкой из истории. 2. Актуализация базовых знаний №1 У исполнителя, который работает с положительными однобайтовыми двоичными числами, две команды, которым присвоены номера: 1. сдвинь влево 2. вычти 1 Выполняя первую из них, исполнитель сдвигает число на один двоичный разряд влево, а выполняя вторую, вычитает из него 1. Исполнитель начал вычисления с числа 104 и выполнил цепочку команд 11221. Запишите результат в десятичной системе. Решение: 1) важно, что числа однобайтовые – на число отводится 1 байт или 8 бит 2) главная проблема в этой задаче – разобраться, что такое «сдвиг влево»; так называется операция, при которой все биты числа в ячейке (регистре) сдвигаются на 1 бит влево, в младший бит записывается нуль, а старший бит попадает в специальную ячейку – бит переноса: 7 6 5 4 3 2 1 0 0 0 1 0 1 1 0 1 = 45 0 1 0 1 1 0 1 0 = 90 0 ? 0

бит переноса можно доказать, что в большинстве случаев результат этой операции – умножение числа на 2, однако есть исключение: если в старшем (7­ом) бите исходного числа x была 1, она будет «выдавлена» в бит переноса, то есть потеряна1, поэтому мы получим остаток от деления числа 2x на 28=256 3) попутно заметим, что при сдвиге вправо2 в старший бит записывается 0, а младший «уходит» в бит переноса; это равносильно делению на 2 и отбрасыванию остатка 4) таким образом, фактически команда сдвинь влево означает умножь на 2 5) поэтому последовательность команд 11221 выполняется следующим образом Код команды 1 1 2 2 1 Действие Результат Примечание 104 умножь на 2 208 умножь на 2 160 вычти 1 вычти 1 умножь на 2 159 158 60 остаток от деления 208*2 на 256 остаток от деления 158*2 на 256 6) правильный ответ – 60. №2 Исполнитель Робот действует на клетчатой доске, между соседними клетками которой могут стоять стены. Робот передвигается по клеткам доски и может выполнять команды 1 (вверх), 2 (вниз), 3 (вправо) и 4 (влево), переходя на соседнюю клетку в направлении, указанном в скобках. Если в этом направлении между клетками стоит стена, то Робот разрушается. Робот успешно выполнил программу 3233241 1 2

Какую последовательность из трех команд должен выполнить Робот, чтобы вернуться в ту клетку, где он был перед началом выполнения программы, и не разрушиться вне зависимости от того, какие стены стоят на поле? Решение: 1) фактически заданная программа движения Робота, которую он успешно выполнил, показывает нам свободный путь, на котором стенок нет 2) поэтому для того, чтобы не разрушиться на обратном пути, Робот должен идти точно по тому же пути в обратном направлении 3) нарисуем путь Робота, который выполнил программу 3233241: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Робот начал движение из клетки, отмеченной красной точкой, и закончил в клетке, где стоит синяя точка 4) чтобы вернуться в исходную клетку (с красной точкой) по пройденному пути, Роботу нужно сделать шаг влево (команда 4), затем шаг вверх (команда 1) и еще один шаг влево (команда 4) 5) таким образом, ответ – 414. 3. Практическая работа Тема "Управление алгоритмическим исполнителем" Цель работы: закрепление навыков программного управления учебными исполнителями алгоритмов, полученных при изучении базового курса информатики в 8­9 классах. Используемое программное обеспечение: среда какого­либо учебного исполнителя алгоритмов графического типа, назначение которого ­ рисование на экране компьютера. К числу таких исполнителей относятся: Грис, Черепашка Лого, Чертёжник, Кенгуренок и др. Задание 1

Написать подпрограмму (процедуру) и с её помощью составить программу рисования лесенки по диагонали через все поле рисунка. Задание 2 Написать программы для рисования следующих рисунков на всю ширину листа, используя вспомогательные алгоритмы (подпрограммы). Задание 3 Описать подпрограмму для рисования следующей фигуры. Задание 4 Используя подпрограмму из предыдущего задания, составить программу для рисования "забора" через все поле рисунка.

Задание 5 Оформить решение задания 4 в виде подпрограммы и с ее помощью составить программу рисования следующей фигуры. Домашнее задание Параграф 16, с.89 , вопрос 11


Что такое алгоритмическая модель Алгоритм- это понятное и точное предписание конкретному исполнителю совершить конечную последовательность действий, приводящую к поставленной цели. Этапы деятельности от определения цели(постановки задачи) до получения результата такие: 1)Определение цели 2) Планирование работы исполнителя 3)Работа исполнителя 4)Получение результата Алгоритм является информационной моделью деятельности исполнителя. Такую модель будем называть алгоритмической.




Система команд исполнителя Чтобы построить реальный план – алгоритм, который окажется выполнимым, нужно точно знать возможности исполнителя. Эти возможности определяются системой команд исполнителя(СКИ). Составляя алгоритм, нельзя выходить за рамки СКИ. В этом состоит свойство понятности алгоритма. Для автомата СКИ – это строго определенный конечный набор команд, заложенный в него конструкторами. Поэтому алгоритм представляет собой точное описание его работы, и автомат выполняет работу, формально следуя указаниям алгоритма. Для управления автоматом или компьютером не трудно придумать формализованный язык описания алгоритмов. Такие языки называются языками программирования, а алгоритм, представленный на языке программирования, называется программой.


Пример алгоритмической модели Первый игрок загадывает целое число из заданного диапазона чисел, например от 1 до 100. Второй должен угадать это число за наименьшее количество вопросов. Алгоритм угадывания числа методом половинного деления, ориентированный на исполнителя-человека. Алгоритм Угадывание числа Дано: диапазон чисел от А до В Надо: угадать число X, задуманное игроком, используя алгоритм половинного деления Начало 1) Задать вопрос: Х меньше среднего значения между А и В? 2) Если ответ «ДА», то принять за значение В целую часть среднего значения. 3) Если ответ «НЕТ», то принять за значение А ближайшее целое число, большее, чем среднее. 4) Если значения А и В равны, то их общее значение и есть искомое число Х. 5) Если значения А и В не равны, то вернуться к выполнению пункта 1. Конец Данный алгоритм ориентирован на исполнителя-человека, а не на компьютер.


Алгоритм «Половинное деление» Алг Половинное деление Цел А, В, Х Начало Ввод А, В, Х Пока А В, повторять Нц Если Х(А+В)/2 То В:= Цел((А+В)/2) Иначе А:=Цел ((А+В)/2)+1 Кв Кц Вывод А Конец Н ачало Конец Ввод А, В, Х Вывод А АВ Х(А+В)/2 В:=ЦЕЛ ((А+В)/2)А:=ЦЕЛ ((А+В)/2)+1 нет да нетда


Блок-схема Блок-схема – это ориентированный граф, указывающий порядок исполнения команд алгоритма исполнителем. Блоки - вершины этого графа – обозначают отдельные команды, которые отдаются исполнителю, а дуги указывают на последовательность переходов от одной команды к другой. В прямоугольниках на блок-схемах записываются команды – действия, в ромбах – условия, определяющие направление дальнейшего исполнения команд; в параллелограммах – команды ввода или вывода информации; в овалах – начало или конец исполнения алгоритма. Здесь можно говорить о пути прохождения графа в ходе выполнения алгоритма. Любой путь начинается от вершины «Начало» и заканчивается выходом на вершину «Конец».Внутри же путь может быть разным в зависимости от исходных данных и от результатов проверки условий. Блок-схема – графическая форма, алгоритмический язык - две разные формы представления алгоритмической модели.


Структурное программирование Структура построенного алгоритма - цикл с вложенным ветвлением. Любой алгоритм можно построить из сочетания трех основных алгоритмических структур: следования, ветвления и цикла. Это утверждение - основа методики, которая называется структурным программированием. Современные языки программирования позволяют легко переходить от описания алгоритма к программе, если алгоритм построен структурно. Поэтому наиболее рациональной моделью деятельности исполнителя является структурная алгоритмическая модель.


Трассировка алгоритма - модель работы процессора Для того чтобы проверить правильность алгоритма совсем не обязательно переводить его на язык программирования и выполнять тесты на компьютере. Протестировать алгоритм может и человек – путем трассировки. Выполняя ручную трассировку, человек моделирует работу процессора, исполняя каждую команду алгоритма и занося результаты выполнения команд в трассировочную таблицу. Она является моделью работы процессора при выполнении программы. Программа выполняется по шагам (первый столбец таблицы). В столбце «Команда алгоритма» отображается содержимое регистра команд процессора. Куда помещается очередная команда. В столбце «Переменные» отображается содержимое ячеек памяти компьютера(или регистров памяти процессора), отведенных под переменные величины. В графе «Выполняемые действие» отражаются действия, выполняемые арифметико-логическим устройством процессора.

Поделитесь с друзьями или сохраните для себя:

Загрузка...