Методическая разработка занятия по теме:
«Основы алгоритмизации. Алгоритмы и способы их описания»
Цели занятия:
Образовательная - Познакомить с понятием алгоритма, свойствами дискретности, понятности, точности, конечности, массовости, способами записи алгоритмов. Рассмотреть основные алгоритмические структуры: следования, ветвления, цикла.
Развивающая - развивать мышление, грамотную речь, навыки самоконтроля
развивать умения проводить анализ, синтез, сравнение, обобщать полученные знания, делать выводы
Воспитательная - воспитывать толерантное отношение к мнению другого человека, умение работать в группах, на недопустимость действий, нарушающих этические, правовые нормы работы с информацией
План занятия:
1. Организационный момент
2. Повторение пройденного материала:
Изложение нового материала.
4. Задание на дом.
5. Итог урока.
Ход занятия
Организационный момент. Сообщение темы, постановка цели урока. Знакомство с ходом проведения занятия.
Повторение пройденного материала:
1-й уровень Компьютерное тестирование (Приложение 1);
2-й уровень Работа по вопросам (Приложение 2);
3-й уровень Решение задач (Приложение 3);
Изложение нового материала.
Понятие алгоритма, свойства алгоpитма.
В науке о моделировании среди многих видов информационных моделей называются и алгоритмические модели. Попробуем разобраться, почему алгоритм можно назвать моделью и что он моделирует.
Как вам известно, алгоритм — это понятное и точное предписание конкретному исполнителю совершить конечную последовательность действий, приводящую к поставленной цели.
Сообщение о происхождении и развитии понятия алгоритм.
Из определения следует, что поставленная цель достигается через деятельность (последовательность действий) некоторого исполнителя.
Исполнитель — это некоторый объект (человек, техническое устройство), способный выполнять определённый набор команд, который составляет его СКИ.
Назовите исполнителей для приведённых ниже видов работ:
Стирка белья – (человек, стиральная машина)
Приготовление кофе – (человек, автомат)
Перевозка пассажиров в поезде – (машинист, поез)
Выдача заработной платы – (кассир)
Разработка рецептур на производстве – (технолог)
Сдача зачёта – (студент)
Набор текста на компьютере – (пользователь)
Создание текстового документа – (текстовый процессор, компьютер)
Различают формальных и неформальных исполнителей. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Формальное исполнение алгоритма обеспечивает возможность автоматизации деятельности человека. Неформальный исполнитель может выполнять команду по-разному.
Этапы деятельности от цели (постановки задачи) к результату:
определение цели;
планирование работы исполнителя;
работа исполнителя;
получение результата.
Где же здесь место алгоритму? Алгоритм — это детальный план работы исполнителя, описание последовательности элементарных действий. Но всякий план или описание есть информационная модель. Следовательно:
Алгоритм является информационной моделью деятельности исполнителя.
Свойства алгоритма (работа с электронным учебником ОИ 1 с. 49)
Не любая инструкция, последовательность предписаний или план действий может считаться алгоритмом. Каждый алгоритм обязательно обладает следующими свойствами: дискретность, понятность, точность, конечность и массовость.
дискретность (каждый шаг алгоритма выполняется отдельно от других);
т. е. решение задачи разделёно на отдельные шаги (действия). Каждому действию соответствует команда. Только выполнив одну команду, исполнитель может приступить к выполнению следующей.
понятность (в алгоритме используются только команды из СКИ);
точность (каждая команда определяет однозначное действие исполнителя);
в алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно.
конечность (за конечное число шагов алгоритма получается искомый результат).
массовость (алгоритм pазpабатывается в общем виде, т.е. должен быть пpименим для некотоpого класса задач)
Мини итог:
Дайте определение алгоритма.
Объясните почему алгоритм является информационной моделью деятельности исполнителя
Перечислите свойства алгоритма.
Что значит свойство дискретности, приведи пример.
Что значит свойство точности, приведи пример.
Способы записи алгоритмов. Существуют различные способы записи алгоритмов, основными среди них являются:
словесные;
словесное описание в виде набора высказываний на естественном языке, например правило умножения двух дробей; нахождения (НОД) натуральных чисел (алгоритм Евклида). Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и Y. Запишите первое из заданных чисел в столбце Х, а второе ‑ в столбце Y. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца Х считайте искомым результатом.
построчная запись ‑ это запись на естественном языке, может содержать математические выражения и формулы, к ней предъявляются дополнительных правила: каждое предписание записывается с новой строки; предписания нумеруются; исполнение алгоритма происходит в порядке возрастания номеров шагов. Например, Построчная запись алгоритма Евклида.
Обозначить первое из заданных чисел X, второе обозначить Y
Если X = Y, то перейти к п.8.
Если X Y, то перейти к п.4.
Заменить X на X – Y
Перейти к п.2.
Заменить Y на Y – X
Перейти к п.2.
Считать X искомым результатом.
графические;
последовательность рисунков;
структуропрограмма;
блок-схема – используют для наглядного представлениям решения задачи, предписания изображаются с помощью геометрических фигур, а последовательность указывается с помощью линий, соединяющих фигуры. Направления линий слева направо и сверху вниз считаются стандартными, и изображаются без стрелок, в противоположном случае — со стрелками. Вспомним некоторые условные обозначения блок-схем.
Например, Запись алгоритма Евклида с помощью блок‑схемы.
алгоритмические языки — формальные языки для записи алгоритмов. Каждый из них характеризуется: алфавитом — набором используемых символов; синтаксисом — системой правил, по которым из символов алфавита образуются правильные конструкции языка; семантикой — системой правил, строго определяющей смысл и способ употребления конструкций языка.
школьный алгоритмический язык. Для записи используется некоторое служебные слова: алг (алгоритм), дано, надо, нач (начало), кон (конец), арг (аргумент), рез (результат) и др. При записи алгоритмов в книгах служебные слова выделяются жирным шрифтом, в тетради и на доске — подчёркиванием.
Пример программы на школьном алгоритмическом языке:
Алгоритм, позволяющий из полного сосуда ёмкостью 12 л отлить половину, пользуясь двумя пустыми сосудами ёмкостью 8 и 5 л.
языки программирования (Turbo Pascal)
program primer_1;
var a, b: integer;
begin
writeln('Введите значение a=');
read(a);
b:=2*a;
writeln('b = ',b);
end.
Мини итог:
Перечислите способы записи алгоритмов.
Какой из способов записи обладает большей наглядностью.
Основные алгоритмические структуры.
Работа с электронным учебником ДИ учебник Босова с. 73-91, 104 №28-30
Уметь распознавать по блок‑схеме основные алгоритмические конструкции.
Научиться определять значение переменной после выполнения фрагмента алгоритма.
По завершению работы тест в фронтальном режиме.
Разнообразие алгоритмов велико, но для записи любого алгоритма достаточно трёх основных алгоритмических структур: следования, ветвления, повторения. Это положение выдвинул и доказал Эдсгер Вибе Дейкстра (1930-2002) — выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.
Следование — алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование», называются линейными алгоритмами.
Графическое представление алгоритмической конструкции «следование».
Пример. У исполнителя Робот есть 4 команды перемещения (вверх, вниз, влево и вправо), при выполнении каждой из них Робот перемещается на 1 клетку в соответствующем направлении. По команде закрасить Робот закрашивает клетку, в которой он находится. Запишем линейный алгоритм, исполняя который Робот нарисует на клетчатом поле следующий узор и вернётся в исходное положение, обозначенное звёздочкой:
Задание‑анимация Линейный алгоритм
Мини итог:
Приведите примеры линейного алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
В тетради составить блок-схему алгоритма нахождение периметра прямоугольника. Один ученик записывает полученный алгоритм на доске, проверяя задание.
Ветвление — алгоритмическая структура, в зависимости от выполнения некоторого условия, совершается одна или другая последовательность действий. Алгоритмы называют разветвляющимися.
Структура «ветвление» |
а) полная форма | а) неполная форма |
| |
На алгоритмическом языке команды ветвления записываются так: |
| |
Примеры |
| |
Задание‑анимация Разветвляющийся алгоритм
Мини итог:
Приведите примеры разветвляющегося алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
Составить блок-схему разветвляющегося алгоритма: задумайте число, прибавь 8, если полученное число меньше 22, то прибавь 5, иначе отнять 5. вывести полученный результат.
Повторение — алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию повторения, называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла.
Типы циклов |
1)цикл с заданным условием продолжения работы; | 2)цикл с заданным условием окончания работы; | 3)цикл с заданным числом повторений. |
цикл – ПОКА, цикл с предусловием | цикл-ДО, цикл с постусловием | цикл-ДЛЯ, цикл с параметром |
| | |
Запись на алгоритмическом языке:
Выполняется цикл_ПОКА следующим образом:
1) проверяется условие (вычисляется значение логического выражения);
2)если условие удовлетворяется (Да), то выполняется тело цикла и снова удовлетворяется, то выполнение цикла заканчивается.
Возможны случаи, когда тело цикла не будет выполнено ни разу.
Запись на алгоритмическом языке:
Запись на алгоритмическом языке:
Выполняется цикл-ДЛЯ следующим образом: 1) параметру цикла присваивается начальное значение; 2) параметр цикла сравнивается с конечным значением; если параметр цикла не превышает конечное значение, то выполняется тело цикла, увеличивается значение параметра цикла на шаг и снова осуществляется проверка параметра цикла; если же параметр цикла превышает конечное значение, то выполнение цикла заканчивается.
В отличие от двух предыдущих конструкций (цикл-ПОКА, цикл-ДО) цикл-ДЛЯ имеет строго фиксированное число повторений, что позволяет избежать зацикливание, т.е ситуации, когда тело цикла выполняется бесконечно.
Задание‑анимация Циклический алгоритм
Мини итог:
Приведите примеры циклического алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
Пример. Алгоритм переправы через реку
Закрепление материала в ходе выполнения фронтального тестирования. (Приложение 4)
Дом задание ОИ1 §9, 16 Составить алгоритм решения задачи: Из кучки, содержащей любое, большее трёх, количество каких-либо предметов, двое играющих по очереди берут по одному или по два предмета. Выигрывает тот, кто своим очередным ходом сможет забрать все оставшиеся предметы.