Графика в циклах

Разделы: Информатика


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

Так как предполагается, что основные сведения по работе оператора цикла FOR… NEXT… к этому времени уже учащимся выданы, на следующем уроке можно закрепить полученные знания с помощью графики. Представленный ниже урок рассчитан на четыре академических часа.

ТЕМА: Графика в циклах.

ЦЕЛИ УРОКА:

ОБРАЗОВАТЕЛЬНАЯ: научиться использовать оператор FOR ...NEXT ... для построения семейств фигур и создания программ с элементами мультипликации (с имитацией движения);

РАЗВИВАЮЩАЯ: развивать и совершенствовать умение использовать циклы в программах;

ВОСПИТАТЕЛЬНАЯ: воспитывать аналитическое мышление.

ТИП УРОКА: урок - закрепления и совершенствования новых знаний и умений.

МЕТОД ПРОВЕДЕНИЯ: объяснительно-иллюстративный

ТСО И НАГЛЯДНОСТЬ:

1) Программа QBasic

2) Карточки с вопросами на повторение

3) Карточки с рисунками для построения семейств фигур

4) Демонстрационные файлы

ЛИТЕРАТУРА: “Практические занятие на ПЭВМ Ямахе”

ПЛАН УРОКА

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

а) Проверка списочного состава

б) Тема, цели и план урока

2. Повторение (тестирование по карточкам – два варианта) смотрите файлы: Приложение1.doc и Приложение2.doc

3. Формирование новых знаний, умений и навыков

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

Рассмотрим порядок построения семейств фигур

Порядок построения семейств фигур

Выделить:

а) количество повторяющихся фигур;

б) повторяющийся элемент для каждой фигуры.

2. Выбрать и обозначить переменной изменяющуюся величину (параметр). Определить границы её изменения и шаг (для заголовка цикла).

3. Определить порядок построения повторяющихся элементов.

4. Написать программу.

Отработка построения семейств фигур на примерах:

1) Построить семейство горизонтальных и вертикальных точек (горизонтальные точки - учитель; вертикальные точки – учащийся)

Построим семейство горизонтальных точек

Наводящие вопросы:

  1. Каким оператором в графическом режиме строится точка? ? (Ответ: оператор PSET)
  2. Какой формат у оператора PSET? (Ответ: PSET (x, y), № цвета, где x, y – координаты точки)
  3. Какая из координат у каждой точки в операторе изменяется? (Ответ: координата Х)
  4. Какое значение у координаты Х первой точки? (Ответ: Х=100)
  5. Какое значение у координаты Х последней точки точки? (Ответ: Х=600)
  6. С каким шагом будет изменяться координата Х? (Ответ: с шагом, равным 100)
  7. А какая координата у точек будет оставаться неизменной? (Ответ: координата Y)
  8. Каково значение у координаты Y? (Ответ: Y=50)

Обобщаем ответы:

Итак, cтроим точки, используя оператор PSET. При построении горизонтальных точек будет изменяться координата Х, следовательно, она и будет выступать у нас в роли параметра цикла. Начальным значением параметра цикла будет 100, конечным – 600, изменяться параметр цикла будет с шагом 100. В операторе цикла на месте координаты Х ставим параметр цикла, на месте же координаты Y пишем конкретное значение, раз оно у всех точек остаётся без изменения.

SCREEN 12
REM Горизонтальные точки
FOR X = 100 TO 650 STEP 100
PSET (X,50), 14
NEXT X
REM Вертикальные точки
FOR Y = 100 TO 400 STEP 50
PSET (100,Y), 1
NEXT Y

Рисунок 1

2) Построение семейства прямоугольников (учитель с помощью учеников)

Наводящие вопросы:

  1. Каким оператором в графическом режиме строятся отрезки и прямоугольники ? (Ответ: оператором LINE)
  2. Какой формат у оператора LINE для построения прямоугольника? (Ответ: LINE (x1, y1)– (x2, y2), № цвета, B (или BF), где x1, y1 и x2, y2 – координаты точек углов прямоугольника, взятых по диагонали)
  3. Какая из координат у каждого прямоугольника в операторе изменяется? (Ответ: координаты Х обеих точек)

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

  1. Какое значение у координаты Х левой верхней точки первого прямоугольника? (Ответ: Х=50)
  2. Какое значение у координаты Х левой верхней точки последнего прямоугольника? (Ответ: Х=450)
  3. С каким шагом будет изменяться координата Х левой верхней точки? (Ответ: с шагом, равным 200)
  4. На сколько больше координата Х правой нижней точки по отношению к верхней левой точки? (на 150)
  5. Следовательно, в формате оператора LINE, вместо верхней левой точки Х будем писать параметр цикла, а на месте правой нижней – Х+150.
  6. А какая координата у точек будет оставаться неизменной? (Ответ: координаты Y)
  7. Каково значение у координат Y обеих точек? (Ответ: Y1=100 Y2=200)

SCREEN 12
REM Прямоугольники
FOR X = 50 TO 450 STEP 200
LINE (X,50)–(X+150,200), 6,BF
NEXT X

Рисунок 2

3) Какую картинку изобразит программа:

SCREEN 12
FOR Y = 60 TO 240 STEP 60
CIRCLE (300, Y), 50
NEXT Y
SCREEN 12
FOR X = 10 TO 50 STEP 10
LINE (0, 0) - (X, 100), 12
NEXT X

Но если при построении семейства фигур изменяются несколько независимых величин? Как действовать тогда?

Рассмотрим это на примере следующей задачи:

Построить семейство закрашенных секторов окружностей, у которых увеличивается радиус и одновременно с этим секторы смещаются вверх (задача с двумя изменяющимися зависимыми величинами)

Рисунок 3

В данной задаче изменяются две независимые величины: координата Y центра сектора и радиус сектора.

Наводящие вопросы:

  1. Каким оператором в графическом режиме строятся окружности, эллипсы, дуги и сектора окружностей и эллипсов? (Ответ: оператором CIRCLE)
  2. Какой формат у оператора CIRCLE для построения сектора?
    (Ответ: CIRCLE (x, y), R, № цвета, –A, –B, где (x, y) – координаты центра окружности, сектор которой будет строиться, R – радиус этой окружности, № цвета – цвет, которым будет строиться контур окружности, A – начальный угол дуги, B – конечный угол дуги)
  3. Какая координата в операторе будет оставаться неизменной? (Ответ: координата Х)
  4. Каково значение координаты Х? (Ответ Х=300)
  5. Если взять за основу, т.е. за параметр цикла координату Y, то какое будет начальное значение параметра цикла, конечное его значение и шаг? (Ответ: начальное значение – 50, конечное – 250, а шаг –50)

Радиус тоже изменяется равномерно (начальное его значение – 10, конечное – 50 и изменение происходит с шагом 50), следовательно, его тоже можно выразить через параметр цикла, как Y/5 (потому что по отношению к координате Y его значение меньше в 5 раз).

Получится следующая программа:

SCREEN 12
REM Сектора
FOR Y = 50 TO 250 STEP 50
CIRCLE (300, Y), Y/5, 10, –2*3.14, –3.14
NEXT Y

Итак, в предыдущем задании изменяются две величины: абсциссы (координаты по Х) координаты центров секторов круга и их радиусы. Важно, что эти величины не являются независимыми.

Порядок построения семейств фигур с несколькими зависимыми изменяющимися величинами

При решении задач, в которых встречаются несколько зависимых изменяющихся величин, нужно:

1) выбрать одну из величин в качестве независимого аргумента;

2) выразить остальные изменяющиеся величины через значения аргумента;

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

Задача: Построить семейство прямоугольников (учащийся)

SCREEN 12
FOR X = 150 TO 600 STEP 150
LINE (0, 0) - (X, X/3), 12, B
NEXT X

Рисунок 4

4. Закрепление новой темы Составление программы

Составить программы для построения семейств фигур (работа по карточкам) смотрите файлы: Рисунок6.JPG, Рисунок7.JPG, Рисунок8.JPG, Рисунок9.JPG, Рисунок10.JPG

5. Формирование новых знаний, умений и навыков

Используя как основу принцип построения семейства фигур, можно создавать программы, имитирующие движение фигур по экрану (некое подобие мультипликации)

Порядок работы над программой с мультипликацией (имитацией движения)

1. Записать программу построения семейства фигур.

2. Шаг построения очередной фигуры задать минимальным.

3. Последней строчкой в теле цикла такой программы должен стоять оператор построения соответствующей фигуры, но строиться эта фигура должна цветом фона (например, 0 – если построение происходит на фоне, задаваемой программой по умолчанию, т.е. чёрным), либо должна стоять команда очистки экрана – CLS.

Изобразить движущийся вниз прямоугольник (падающий кирпич)

В данной программе вниз будет перемещаться закрашенный прямоугольник. Так как осуществляется перемещение вниз, то у прямоугольника будут изменяться координаты Y, координаты Х будут оставаться неизменными

SCREEN 12
REM “Падающий кирпич”
FOR Y =1 TO 400 STEP 0.5
LINE ( 300, Y)- (450, Y+40), 6, B
LINE ( 300, Y)- (450, Y+40), 0, B
NEXT Y

6. Закрепление новой темы Составление программы

Составить программу к задаче: груз на платформе поднимается вверх. Затем платформа останавливается и груз перемещается влево (самостоятельная работа учащихся)

Рисунок 5

Пример программы:

SCREEN 12
LINE (150, 300)- (450, 440), 7, BF
FOR y = 440 TO 320 STEP -.1
LINE (451, y)- (500, y - 20), 6, BF
CIRCLE (475, y - 40), 20, 2
PAINT (475, y - 40), 2
LINE (451, y)- (500, y - 20), 0, BF
CIRCLE (475, y - 40), 20, 0
PAINT (475, y - 40), 0
NEXT y
LINE (451, 320)- (500, 300), 6, BF
FOR x = 475 TO 160 STEP -.1
CIRCLE (x, 275), 20, 2
PAINT (x, 275), 2
CIRCLE (x, 275), 20, 0
PAINT (x, 275), 0
NEXT x
CIRCLE (160, 275), 20, 2
PAINT (160, 275), 2

7. Домашнее задание Составить программу с элементами мультипликации (например, летящая стрела)

8. Итог урока Обобщение пройденного материала, выставление оценок.