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


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




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


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


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


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


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


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

Конспект урока

Предмет : Информатика и ИКТ

Тема: Алгоритм как модель деятельности

Тип урока : урок развивающего контроля

Форма урока – традиционная

Цели:

Обучающие:
- продолжить формирование представлений об алгоритмах;

–– вспомнить понятие модели и дать определение алгоритмической модели; - составление алгоритмов с использованием условий и циклов.
Развивающие:
- создать условия для развития познавательной активности учащихся;
- развивать словесно-логическое мышление; культуру общения;

-
развивать у учащихся личностные качества самоконтроля и самооценки.
Воспитывающие:
- воспитывать уверенность в своих возможностях;

- воспитывать чувство товарищества, взаимопомощи.
Требования к результатам Предметные:
- формировать умение составления алгоритмов;

- научиться работать с новыми ЦОР-ами (стрелочки);
- составлять команды для выполнения поставленной цели;
- самостоятельно выполнять задание.
Универсальные учебные действия:
Личностные:

- действие смыслообразования;
- установление учащимися связи между командами и поставленными целями;
Регулятивные:
- целеполагание;
- формирование умения планировать любую деятельность в виде алгоритмов как модели деятельности;
- формирование самоконтроля и самооценки;
- волевая саморегуляция;

- прогнозирование;
- контроль;
- коррекция.

Познавательные:

- формирование логических действий анализа, сравнения, установления причинно- следственных связей; - постановка и формулирование проблемы, самостоятельный поиск ее решения.

Коммуникативные

- формировать умение сотрудничать;
- учить говорить, рассуждать;
- учить взаимодействовать в парах.

Формы обучения: фронтальная, индивидуальная, в парах.

Методы обучения: наглядный, словесный, практический, контроля.

Используемые педагогические технологии:

Технология диалога,

Технология обучения в сотрудничестве,

ИКТ.

Оборудование урока:

Интерактивный комплекс, презентация, ЦОР «стрелочки».

Оформление

результатов

Локализация затруднений

Выявить место и причины затруднения и определить цели урока.

Осознать потребность к контролю и самоконтролю результата, а также выявлению причин затруднений в деятельности.

Итоги выполнения задания по составлению алгоритмов (представлены на слайдах)

Побуждающий диалог

Организует мотивирование учащихся к коррекционной деятельности.

Анализирует правильность самопроверки учащимися своих работ.

Уточняет алгоритм и правила устранения ошибок.

Помогает определить причины ошибок в различных типах заданий.

Определяет учеников-консультантов (проверяющих правильность составленного алгоритма).

Определяют места

Указывают способы действий.

Сравнивают с эталоном и выполняют задания творческого уровня

Оценивают себя

Осознают причины допущенных ошибок на основании

Запись в тетрадь и проверка результата на экране.

Построение проекта коррекции выявленных затруднений

Запуск на экране правильных вариантов ответов.

Побуждающий диалог, мозговой штурм, обсуждение.

Организует процесс обсуждения учащимися целей коррекции, а также помогает выбрать необходимые средства и способы их достижения.

Организовывает работу в парах по типам допущенных ошибок.

Формулируют индивидуальные цели и алгоритм коррекционных действий.

Выбирают способ и средство коррекции.

Реализация построения проекта

Организация коррекционной самостоятельной работы над ошибками.

Творческие задания для учащихся, выполнивших контрольную работу без ошибок.

Самостоятельная работа с проверкой по эталону.

Направляет консультантов на помощь другим учащимся.

Учащиеся, выполнившие работу без ошибок могут выполнять творческие задания.

Выполняют работу над ошибками.

Выбирают задания в соответствии с ошибками;

выполняют работу, предложенную учителем.

Работа над ошибками в тетрадях.

Обобщение

Закрепить способы действий, вызвавших затруднение.

Побуждающий диалог.

Организует обсуждение типовых затруднений.

Проговаривает формулировки способов действий, которые вызвали затруднение

Формулируют способы действий, которые вызвали затруднение.

Самостоятельна работа с самопроверкой по эталону

Провести самостоятельную работу

Практическая работа.

Индивидуальная деятельность и работа в парах.

Организует выполнение учащимися самостоятельной работы.

Осуществляет знаковую фиксацию преодоления затруднений.

Вывод критериев оценивания учащихся.

Выполняют самостоятельную работу.

Выполняют самопроверку. Показывает результаты учителю

Результат- правильно разработаннаяпрограмма.

Рефлексия деятельности

Провести самооценку результатов деятельности

Коммуникативное воздействие, самостоятельная работа.

Карточка самооценки

Побуждающий диалог.

Организует проговаривание механизма деятельности по контролю.

Организует оценивание полученных результатов, а также фиксацию цели последующей деятельности.

Проговаривают механизм деятельности по контролю.

Дают оценку полученным результатам.

Фиксируют цель последующей деятельности.

Оценивают деятельность на уроке.

План –конспект урока

Организационный момент (2 мин)

1.Организационный момент

Всем, всем добрый день!

Локализация затруднений

Мне принесли коробку, дали задание разобраться с тем, что находиться в данной коробке.

Что может в ней лежать?

Отвечают на вопросы. Высказывают предположения.

Выбирают задания творческого характера.

Построение проекта коррекции выявленных затруднений

С чего начать? Как мы называем такую последовательность действий? Зачем нужна инструкция? Можно ли ее назвать алгоритмом и почему?

Зачем нам нужны алгоритмы? Как мы схематично можем представить алгоритм?

Формулируют алгоритм коррекционных действий.

Выбирают способ и средство коррекции

Реализация построения проекта

2. В бутылке, стакане, кувшине и банке находится молоко, лимонад, квас и вода. Известно, что вода и молоко находятся не в бутылке, сосуд с лимонадом стоит между кувшином и сосудом с квасом, в банке не лимонад и не вода. Стакан стоит около банки и сосуда с молоком. Куда налита каждая жидкость?

Ответ:

Молоко

Лимонад

Квас

Вода

Бутылка

Стакан

Кувшин

Банка

Выполняют работу самостоятельно.

Проверяют по эталону. Оценивают работу.

Обобщение затруднений во внешней речи.

И так у нас четыре различные ситуации:

1 ситуация: я являюсь директором фирмы и мне нужно нарисовать эмблему фирмы в виде буквы Ф. На рабочем столе в папке исполнитель задача 1_1 (необходимо составить список команд для выполнения данного задания используя команды: шаг, поворот, прыжок) Продемонстрировать учителю. За выполнение данного задания 1 балл

2 ситуация: Мне как директору необходимо оградить забором территорию. Используя процедуру необходимо написать команды для получения нужного результата. В папке на рабочем столе задача 1_2 Оценивается в 1 балл

3 ситуация: Мне как директору необходимо отправить деньги по безопасному маршруту, для этого мне нельзя изменять маршрут. Написать команды используя цикл для доставки денег из пункта А в пункт В. Задача в папке Исполнитель на рабочем столе задача 1_3. За выполнение данного задания 1 балл

4 ситуация: Необходимо написать алгоритм движения машины по доставке пиццы, с условием, что она не въедет в стену. Использовать условный оператор. Задача 1_4. За выполнение данной задачи с помощью условного оператора 2 балла, за использование линейного алгоритма 1 балл

Самостоятельна работа с самопроверкой по эталону

Учащиеся: Алгоритм - это понятное и точное предписание конкретному исполнителю совершить конечную последовательность действий, приводящую к поставленной цели.

Учащиеся оценивают свою работу самостоятельно и показывают результат учителю. Учащиеся: составляют алгоритмы.

Учитель: а теперь давайте проверим верно ли выполнили данное задание (на экране один из учеников запускает правильно составленные алгоритмы, остальные проверяют)

Выполняют самостоятельную работу.

Выполняют самопроверку (слайд).

Оценивают.

Рефлексия

По ходу урока определяем затруднительные ситуации .

Графический исполнитель стоит в левом верхнем углу поля. Направление - произвольное . Что будет изображено на экране после выполнения графическим исполнителем следующего алгоритма (опишите все возможные варианты ): если впереди край то поворотиначе прыжок прыжок конец ветвления пока впереди не край шаг конец цикла

Что такое алгоритмическая модель? Почему алгоритм можно назвать моделью и что он моделирует? 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 кон

Тема урока: «Алгоритм как модель деятельности».

Цель: интересно и понятно объяснить новую тему.

Ознакомить учащихся с темой: “Понятие алгоритма. Виды алгоритмов и их свойства”;

Учащиеся должны знать понятие алгоритма, свойства алгоритмов;

Учащиеся должны уметь приводить примеры алгоритмов.

Ход урока:

1.Организационный момент.

2.Изучение новой темы.

Повторение понятия алгоритма начнем с рассмотрения примера. Предположим, вы хотите вырезать из бумаги модель автомобиля. Результат во многом будет зависеть от вашего умения и опыта. Однако достичь поставленной цели окажется гораздо легче, если вы предварительно наметите план действий, например следующий:

1. Изучить образ автомобиля по имеющейся модели.

2. Начертить двери, кузов машины на бумаге.

3. Вырезать эскизы.

4. Попробовать скрепить эскизы, откорректировать ошибки.

5. Склеить части модели.

Следуя подготовленному плану, любой человек, даже не обладающий художественными способностями, но имеющий терпение, обязательно получит хороший результат. Подобный план с подробным описанием действий, необходимых для получения ожидаемого результата, получил название алгоритма.

Понятие алгоритма. ( Привести доп.информацию)

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал спо¬ собы выполнения арифметических действий над многозначными числами. Само слово «алгоритм» возникло в Европе после перевода на латынь книги этого среднеазиатского математика, в которой его имя писалось как «Алгоритми».

Алгоритм - описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Алгоритмизация - процесс разработки алгоритма (плана дейст вий) для решения задачи.

Примеры алгоритмов:

Любой прибор, купленный в магазине, снабжается инструкцией по его использованию.

Каждый шофер должен знать правила дорожного движения.

Массовый выпуск автомобилей стал возможен только тогда, когда был придуман порядок сборки машины на конвейере.

Свойства алгоритмов.

Мы на каждом шагу встречаем алгоритмы. Некоторые из них мы выполняем машинально, даже не задумываясь об этом. Выполняя некоторые действия мы даже не подозреваем, что выполняем определенный алгоритм.

Эти примеры не что иное, как алгоритм. Несмотря на значительное различие в сути самих действий этих примеров, можно найти в них много общего. Эти общие характеристики называют свойствами алгоритма. Рассмотрим их.

Дискретность (от лат. discretus - разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов). В приведенных выше алгоритмах общим является необходимость строгого соблюдения последовательности выполнения действий. Попробуем пе реставить в первом примере второе и третье действия. Вы, конечно, сможете выполнить и этот алгоритм, но дверь вряд ли откроется. А если поменять местами, предположим, пятое и второе действия во втором примере, алгоритм станет невыполнимым.

Детерминированность (от лат. determinate - определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно опре¬делено в каждом случае.

Например, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута - 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, - скажем, три.

Конечность - каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения. В приведенных примерах каждое описанное действие реально и может быть выполнено. Поэтому и алгоритм имеет предел, то есть - конечен.

Массовость - один и тот же алгоритм можно использовать с разными исходными данными.

Результативность - в алгоритме не было ошибок.

Виды алгоритмов.

Существует 4 вида алгоритмов: линейный, циклический, разветвляющийся, вспомогательный.

Линейный (последовательный) алгоритм - описание действий, которые выполняются однократно в заданном порядке.

Линейными являются алгоритмы отпирания дверей, заваривания чая, приготовления одного бутерброда. Линейный алгоритм применяется при вычислении арифметического выражения, если в нем используются только действия сложения и вычитания.

Циклический алгоритм - описание действий, которые должны по вторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называется телом цикла.

Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий. Каждый год наступают весна, лето, осень и зима. Жизнь растений в течение года проходит одни и те же циклы. Подсчитывая число полных поворотов минутной или часовой стрелки, человек измеряет время.

Условие - выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».

Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Примеры разветвляющих алгоритмов: если пошел дождь, то надо открыть зонт; если болит горло, то прогулку следует отменить; если билет в кино стоит не больше десяти рублей, то купить билет и занять свое место в зале, иначе (если стоимость билета больше 10 руб.) вернуться домой.

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

Неполная форма, в которой действия пропускаются: «если условие, то...».

Вспомогательный алгоритм - алгоритм, который можно использовать в других алгоритмах, указав только его имя.

Домашняя работа. § 16,

1.Придумать свои примеры на каждый вид алгоритма.

2. Составить алгоритм перехода автодороги при наличии светофора и без него.

Итог урока.

Дети, что нового вы сегодня узнали?

Сегодня мы узнали, что такое алгоритм, узнали виды и свойства алгоритмов