Конспект урока "Движение по окружности" 9 класс

1
Юдин Андрей Борисович
учитель информатики МКОУ Плесской СОШ
Приволжского р-на, Ивановской обл.
Урок информатики в 9 классе «Движение по окружности»
Очень давно, когда основной моделью компьютера в школах, по крайней мере, в
нашей области, был славный добрый УК-НЦ, на районной олимпиаде была дана задача:
«Заставить точку на экране двигаться по окружности». Ученик, который ездил на
олимпиаду, задачу эту решить не смог. Уже дома, разбирая задачу, я пришел к выводу, в
котором убежден до сих пор: без знаний математики в программировании делать нечего!
Не могу не согласиться со словами Александра Чигринец, сказанные им в одном из
форумов посвященных программированию( http://rucoders.ru/t2491.htm ): «…кроме того,
математика формирует определённый склад мышления. (Выделено мной) Какой-то
класс задач можно кодить без математики. Но в школе и институте закладывается база,
фундамент. Чем фундамент основательнее, тем больше есть возможностей по возведению
на нём чего-либо в будущем.»
Поэтому на своих уроках я уделяю особое внимание не только алгоритмике, но и
математической составляющей программирования.
Хочу представить Вашему вниманию материал, который можно использовать как
на уроке при изучении темы «Циклы», так и на факультативных занятиях по
программированию. В данной презентации не рассматриваются принципы создания
движущихся изображений вообще. Так как это не первый урок по теме движение на
экране компьютера и с основными принципами учащиеся уже знакомы. Презентация
рассчитана на два урока:
1. Математическая модель движения по окружности
2. Два способа работы с рисунками в PascalABC
Урок № 1. Математическая модель движения по окружности.
Можно конечно обойтись и без таких подробностей, просто дать формулы, по
которым определяются координаты точки движущейся по окружности. Но скорее всего,
поймут их 1-2 учащихся, у которых «отлично» по математике. Для остальных так и
останется загадкой, зачем нужны синусы и косинусы.
Слайд 1. Занятие начинается с постановки задачи: «Как при помощи языка
программирования PascalABC создать модель планетарной системы. На этом слайде
планеты анимированы средствами PowerPoint. Самое интересное, что на вопрос, а как это
сделать в PowerPoint, больше половины детей в классе или группе затрудняются на него
ответить. Так что этот вопрос можно рассмотреть в качестве повторения работы в
PowerPoint.
Слайд 2-3. Раз в формулах есть синусы и косинусы, повторяем определение, что
такое косинус и синус острого угла прямоугольного треугольника. Сделать это нужно так,
как делается на уроках математики. Сначала проговариваем словами, что косинус острого
угла в прямоугольном треугольнике это отношение прилежащего катета к гипотенузе. А
уже затем записываем его в виде формулы.
Рассматриваем это на прямоугольном треугольнике АВС, который потребуется нам в
дальнейшем для определения координат точки.
AB
AC
cos
2
Слайд 4. Переходим к прямоугольной системе координат. На которой определяем
от чего зависят координаты точки при движении по окружности. Рассматривая тот же
треугольник АВС, мы приходим к выводу, что при постоянном радиусе координаты X и Y
будут выражаться по формулам:
X=Rcos α
Y=Rsin α
А значит, координаты будут зависеть от угла, на который повернется точка.
Слайд 5. Так как графическое окно в системе программирования PascalABC
представляет собой первую четверть прямоугольной системы координат, ось Y которой
направлена вниз. Если брать за центр окружности, по которой будет двигаться точка
начало системы координат, то мы увидим только четвертую часть от всей траектории
движения. Поэтому воспользуемся еще одним математическим знанием: параллельный
перенос и его свойства. (Учебник «Геометрия 7-9» А.В. Погорелов. §8, п. 87. стр. 120-121)
Мы сместим начало координат в центр графического окна.
x´= 320 + x
y´= 200 + y
Слайд 6-7. Переместив начало координат в центр графического окна, мы не
перевернули ось Y. Она так и осталась направленной в низ. Поэтому воспользуемся
правилами преобразования графиков. В 9 классе про них упоминается при изучении темы
«Квадратичная функция и ее график» («Алгебра 9 класс» Ю.Н. Макарычев, §3, стр 32)
Умножение функции на -1 отражает график симметрично относительно оси ОХ.
Воспользуемся этим свойством для того что бы перевернуть ось Y в «нормальное»
состояние. Составленные нами формулы примут вид:
x´= 320 + x
y´= 200 - y
Здесь обязательно нужно сделать одно важное замечание, от которого будет зависеть
направление движения. Если ось Y не переворачивать то точка будет двигаться по
часовой стрелке, если ось Y перевернуть, то точка будет двигаться против часовой
стрелки. Этот факт пригодится нам при решении задач со стрелками часов.
Слайд 8. Мы установили, что положение точки будет зависеть от угла, рассмотрим
какие значения будет принимать угол при движении точки по окружности с
определенным шагом.
Слайд 9. Так как в Паскале углы должны быть представлены в радианах, то
неплохо напомнить учащимся значения некоторых углов в радианах.
Слайд 10. Вспомним, что в Паскале есть встроенная функция вычисления числа π.
Поэтому выводы о том, как будет изменятся угол и с каким шагом лучше сделать в
радианах с использование функции Pi.
Слайд 11. Полученные нами формулы нужно собрать воедино:
x´= 320 + Rcos α
y´= 200 - R∙sin α
И переписать на компьютерный язык:
x:=trunc(320+100*cos(a));
y:=trunc(200-100*sin(a));
Воспользуемся функцией TRUNC. Так как X иY должны выражаться целыми числами
(координаты пикселей) а результат из-за использования синусов и косинусов будет
выражаться дробным числом.
Слайд 12. Для организации повторения используем цикл с постусловием, который
завершиться при нажатии любой клавиши. Используем для этого функцию keypressed.
Которая возвращает значение Тruе, если на клавиатуре нажата клавиша и False в
противном случае.
Слайд 13. Рассмотрим программу вращения точки (мы используем в программе
окружность радиуса 3) в общем виде.
3
Program n1;
Uses crt,graphabc;
Var x,y:integer;
a:Real;
Begin
clrscr;
x:=0;y:=0;a:=0;
Repeat
x:=trunc(320+100*cos(a));
y:=trunc(200+100*sin(a));
SetPenColor(clBlack);
circle(x,y,3);
delay(100);
SetPenColor(clWhite);
circle(x,y,3);
a:=a+Pi/30;
Until keypressed;
end.
Слайд 14. На этом теоретические рассуждения можно закончить. Ученикам
предлагается набрать программу и поэкспериментировать с ней:
1. Изменить направление движения,
2. Сделать движение по эллиптической траектории
3. Сделать движение медленнее или быстрее.
В оставшееся время и домой предлагается выполнить учащимся самостоятельно
следующие работы: (Решение этих задач смотрите в папке ПРИМЕРЫ.)
4
Урок №2 «Два способа работы с рисунками в PascalABC»
Цель нашего занятия научиться делать анимацию при помощи рисунков.
Слайд 15. На этом слайде разбирается, какие рисунки и какого размера нам
потребуются. (Звезду можно было нарисовать на фоне.)
Слайд 16. Рассмотрим два способа работы с рисунками в PascalABC. Это
описатели и объекты класса Picture. Первый способ наиболее привычен ученикам. Мы
используем функции, к виду которых и способу работы с ними учащиеся уже привыкли.
Второй способ является более удобным и современным, чем подход с описателями
рисунков. Единственный его недостаток - необходимость вводить основные понятия,
связанные с классами, при обучении использованию рисунков. Тем не менее, я
настоятельно рекомендую использовать именно класс Picture при работе с рисунками, что
позволит ученику раньше начать осваивать основные понятия объектно-
ориентированного программирования. Класс Picture полностью написан на Pascal ABC и
содержит в своем интерфейсе все подпрограммы работы с рисунками. (см. справку по
языку).
Слайд 17. Показаны необходимые функции для работы с рисунками при помощи
описателей.
Слайд 18. Показаны необходимые нам в работе конструктор
(n:=Picture.Create('plan.bmp');) и деструктор (n.Destroy;), метод
(n.Draw(x,y);) и свойство (n.Transparent:=True;) класса Picture.
Слайды 19-20. Подробно разобраны оба способа работы с рисунками.
5
Слайд 21. Задание для самостоятельной работы. Создать анимационную модель
планетарной системы с использованием рисунков. Планетарная система должна состоять
из звезды, не менее трех планет, у двух из которых есть хотя бы по одному спутнику.
Слайд 22. Список используемой литературы и интернет ресурсов.
В место заключения
….в 1995 -2000 годы мне в руки попала книга. Называлась она «100 графических
задач » или как то так. К сожалению, мне далии ее на короткое время. Ни Yandex ни
Google ни чего похожего на нее не нашли. На меня, тогда еще только начинающего
учителя, она произвела настолько сильное впечатление. Что основные принципы,
изложенные в этой книге, я использую до сих пор при изучении тем связанных с
циклами, геометрическими орнаментами и анимацией в программировании. Данная
презентация сделана по мотивам этой книги.
Если кто из коллег представляет, о какой книге я говорю, и она есть у Вас в
электронном виде, пришлите, пожалуйста, ее на мою почту: aaa_ples@yandex.ru
С уважением, Юдин А.Б.
Список используемой литературы.
1. С. В. Филичев. Занимательный Basic. Москва: ЭКОМ. 1997 год.
2. М.В. Мозговой Занимательное программирование. Самоучитель. Издательский
дом Питер. 2005. (Книгу можно читать on-line по ссылке:
http://padabum.com/d.php?id=35055)
3. А.В. Погорелов. Геометрия: Учебник для 7-9 классов общеобразовательных
учреждений. М: Просвещение, 2000 г.
4. Ю.Н. Макарычев. Алгебра. 9 класс: учебник для общеобразовательных
учреждении. М:Просвещение, 2007 г.