Цель: формирование навыков использования вложенных циклов, графических возможностей языка программирования Pascal на примерах разработки программ создания графических изображений.
Задачи:
Развивающие:
- формирование и развитие логического мышления;
- развитие умения анализировать поставленные задачи, находить алгоритм их решения, делать выводы;
- развитие устойчивости внимания, умения тестирования программ, нахождения и исправления ошибок;
- развитие творческих способностей при решении задач.
Обучающие:
- структуризация знаний о циклических структурах;
- овладение новыми знаниями по циклическим структурам: организация вложенных циклов;
- овладение навыками разработки циклических алгоритмов для решения поставленных задач;
- формирование умения практического применения теоретических знаний.
Воспитательные:
- воспитание информационной культуры учащихся;
- воспитание самостоятельности, дисциплинированности, самоуправления, умения четко организовывать работу в пределах определенного временного интервала;
- воспитание творческой активности, познавательного интереса.
Вид урока: повторение изученного ранее и изучение нового материала.
Тип урока: комбинированный.
Ход урока
1. Организационный момент.
Учитель приветствует учащихся, сообщает тему урока.
Для проведения урока подготовлена Презентация с целью более наглядного изложения материала.
2. Актуализация знаний (повторение ранее изученного материала)
Ученикам предлагается вспомнить понятие циклических алгоритмов, типы циклов, особенности их реализации в АВС Pascal.
Ученики дают определение циклических алгоритмов, называют типы циклов, операторы, с помощью которых реализуются циклы соответствующих типов в среде ABC Pascal. При необходимости ученикам оказывается помощь со стороны учителя. Учитель задает наводящие вопросы, обращает внимание на наиболее важные отличительные особенности циклов различных типов. С целью структуризации основных понятий и принципов работы циклов демонстрируются слайды 2- 4 презентации.
Цикл - это многократное повторение последовательности действий. Тело цикла - последовательность действий, которые необходимо выполнить многократно.
Цикл с предусловием (цикл-пока) — наиболее универсальная циклическая структура. Реализуется оператором While.
Формат оператора: while <логическое выражение> do <тело цикла>;
Тело цикла выполняется до тех пор, пока значение логического выражения = true (истина).
Цикл с постусловием имеет формат: repeat <тело цикла> until <логическое выражение>;
Выполнение операторов тела цикла заканчивается, когда логическое выражение принимает значение true. Тело цикла с постусловием выполняется хотя бы один раз.
Цикл с параметром имеет два варианта записи:
1) for I: = In to Ik do <тело цикла>;
2) for I:= In downto Ik do <тело цикла>, где
I - параметр цикла, In - начальное значение параметра, Ik -конечное значение параметра;
Выполнение операторов тела цикла повторяется до тех пор, пока значение параметра лежит в интервале между In и Ik. Причем эти выражения вычисляются только один раз в начале выполнения цикла
Для изучения материала урока мы будем с использованием работу с графическими изображениями. Давайте вспомним графические примитивы, с которыми мы работали ранее.
Учащиеся называют графические примитивы, функции, с помощью которых они реализуются. Особое внимание обращается на параметры функций и на тот факт, что отдельные параметры функций изменяются при реализации циклических алгоритмов работы с графикой.
Для того, чтобы создавались повторяющиеся изображения однотипных объектов, необходимо задавать изменение параметров, соответствующих координатам.
Вопросы к учащимся:
- Изменение какой координаты нужно задавать при горизонтальном расположении объектов? Ответ: изменение координаты x.
- Изменение какой координаты нужно задавать при вертикальном расположении объектов? Ответ: изменение координаты y.
- Изменения каких координат задаются при расположении объектов располагаются по диагонали? Ответ: изменение координат х, у
Учитель. Итак, мы вспомнили графические примитивы, операторы циклов различных типов. Используя графические примитивы, операторы цикла, можно создавать серии повторяющихся однотипных изображений на экране, оформляя их соответствующим образом. Такие программы вы разрабатывали на предыдущих уроках. Также разрабатывались программы для создания серий чередующихся изображений (например, чередуются круги, квадраты).
3. Изучение нового материала.
Переходим к изучению вложенных циклов.
Объяснение понятия вложенных циклов и принципов их работы сопровождается демонстрацией слайдов 6, 7 презентации.
Если в теле цикла содержится другой цикл, то такие циклы называются вложенными.
При организации вложенных циклов выделяются внешний и внутренний циклы.
Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла – внутренним. Внутренний и внешний циклы могут быть любыми из трёх рассмотренных ранее видов: циклами с параметром, циклами с предусловием или циклами с постусловием.
При использовании вложенных циклов необходимо соблюдать следующее правило: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
При организации вложенных циклов изменение значений параметра (или управляющей переменной) внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл; затем внутренний цикл полностью должен отработать для следующего значения параметра (управляющей переменной) внешнего цикла и так далее до тех пор, пока не будет выполнено условие выхода из внешнего цикла.
Давайте разберем принципы работы вложенных циклов на примере создания повторяющихся по вертикали и по горизонтали изображений квадратов. Ученикам демонстрируется задание (Слайд 8).
Все квадраты имеют одинаковые размеры. Расстояния между квадратами не изменяются, причем эти расстояния одинаковы по вертикали и горизонтали. При создании изображения задается толщина контура, цвет контура и заливка фигур.
Для решения поставленной задачи нужно сначала разобрать алгоритм. Алгоритм решения обсуждается с учениками. Словесное описание алгоритма представлено на слайдах 9,10.
Квадрат создаем как графический примитив прямоугольник с равными сторонами. Вы уже знаете, что прямоугольник задается с помощью функции Rectangle(x1,y1,x2,y2), где x1,y1- координаты верхнего левого угла; x2,y2 – координаты нижнего правого угла.
Как мы уже выяснили, для получения повторяющихся объектов в горизонтальном ряду необходимо изменять координаты по горизонтали, в вертикальном ряду – по вертикали.
Если требуется создать графическое изображение с повторяющимися объектами по горизонтали и вертикали, то необходимо использовать вложенные циклы.
Во внутреннем цикле будем изменять координаты по горизонтали, соответственно получим повторяющиеся изображения в горизонтальном ряду. Во внешнем цикле будем изменять координаты по вертикали, соответственно получим повторения горизонтальных рядов.
После обсуждения алгоритма демонстрируется и подробно разбирается текст программы, составленной для его реализации. (Слайды 11, 12)
Необходимо еще раз обратить внимание на тот факт, что при организации вложенных циклов изменение параметров внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл.
В рассматриваемом примере этот принцип реализован следующим образом:
- для фиксированного значения координаты Y верхнего левого угла прямоугольника создаются повторяющиеся изображения по горизонтали путем соответствующих изменений во внутреннем цикле координат по горизонтали верхнего левого и нижнего правого углов прямоугольника; внутренний цикл повторяется 5 раз;
- по окончании выполнения операторов, записанных в теле внутреннего цикла, во внешнем цикле осуществляется изменение значения координаты Y верхнего левого угла прямоугольника и для полученного значения снова 5 раз выполняется внутренний цикл; в результате выполнения внутреннего цикла снова создаются повторяющиеся по горизонтали изображения, но уже в следующем ряду.
Внешний цикл выполняется 4 раза; при каждом выполнении внешнего цикла 5 раз повторяется выполнение внутреннего цикла, то есть внутренний цикл будет выполнен 20 раз. Прямоугольники буду изображаться последовательно. (Слайд 14)
Можно организовать изменение координат по горизонтали во внешнем цикле, а по вертикали – во внутреннем. Тогда внешний цикл будет выполнен 5 раз, а внутренний при каждом выполнении внешнего цикла будет выполняться по 4 раза. В этом случае прямоугольники буду изображаться последовательно по вертикали сначала в первом ряду, затем в последующих рядах.
Модернизируем программу (слайд 15).Будем вводить с клавиатуры значения длины стороны квадрата и расстояния между квадратами, то есть программа должна работать для любых допустимых значений сторон квадрата и расстояний между квадратами. В этом случае заранее не известно, сколько примитивов уместится на экране по вертикали и по горизонтали. Поэтому нужно организовать внешний и внутренний циклы как циклы с предусловием (while) (можно использовать и цикл с постусловием). Также будем вводить с клавиатуры значения ширины и высоты окна вывода результатов. Такая модернизация позволит реализовать свойство массовости алгоритма.
Демонстрируется и подробно поясняется код программы (слайды 16-17). На слайде 18 демонстрируется результат выполнения программы.
4. Практическая работа.
Для закрепления материала ученикам предлагается разработать программу для создания серии повторяющихся по вертикали и горизонтали окружностей (слайд 19). При выполнении задания используются коды разработанных учителем и представленных в электронном варианте программ, разобранных на уроке.
5. Домашнее задание.
Ученики записывают домашнее задание: разработать программу для создания повторяющихся графических примитивов. Задание представлено на слайде 20.
6. Итоги урока.
На уроке были рассмотрены вложенные циклы, правила организации внешних и внутренних циклов, принципы выполнения на примерах создания графических изображений в виде повторяющихся графических примитивов.
Список использованной литературы.
1. Информатика. Задачник-практикум в 2 т. / Л.А.Залогова, М.АПлаксин, С.В.Русаков и др. Под ред. И.Г.Семакина, Е.К.Хеннера: Том 1., М.:БИНОМ. Лаборатория знаний, 2006.
2. Немнюгин С.А. Turbo Pascal: Практикум. – СПб: Питер, 2000. – 256 с.:ил;
3. Фаронов, В.В. Turbo Pascal: Учебное пособие / В.В.Фаронов. – СПб.: Питер, 2007.
4. Шауцукова Л.З. Информатика – М.: Просвещение, 2004.