Разработка методики изучения темы "Графические примитивы" с использованием языка программирования Pascal
Разработка методики изучения темы "Графические примитивы" с использованием языка программирования Pascal
2
Федеральное министерство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Вятский государственный гуманитарный университет»
Кафедра методики обучения информатике
Курсовая работа
Разработка методики изучения темы «Графические примитивы» с использованием языка программирования Pascal
Выполнил студент группы М-3 физико-математического факультета Клабуков Евгений Отч
Научный руководитель Бушмелева
Киров, 2007
Содержание
Введение. 3
Глава 1. Векторная компьютерная графика. Графические примитивы. 5
Глава 2. Графические возможности языка программирования Pascal. 8
Глава 3. Анализ учебно-методической литературы. 12
3.1. Кузнецов А.А., Апатова Н.В. Основы информатики. 12
3.2. Ляхович В.Ф. Информатика. 13
3.3. Каймин В.А., Щеголев А.Г. Основы информатики и вычислительной техники. 14
3.4. Угринович Н.Д. Информатика и информационные технологии. 14
Глава 4. Методические рекомендации к изучению графики в языке программирования Pascal. 16
Глава 5. Конспекты уроков. 19
Урок 1. Использование графики при программировании на Pascal. 19
Урок 2. Построение графиков функций. 22
Заключение. 23
Библиографический список. 24
Введение.
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных.
Существует специальная область информатики, изучающая методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов, - компьютерная графика. Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе. [21]
Все современные языки программирования включают в себя поддержку графики. Поэтому необходимо при изучении темы программирования включать в изучение тему «Использование графических возможностей языка программирования», данная тема позволяет:
1) сделать изучение программирования эмоционально привлекательным;
2) расширить спектр решаемых задач.
Целью данной работы будет разработка методики изучения темы «Графические примитивы».
Для этого предполагается решить следующий класс задач:
1) определить содержание темы;
2) проанализировать общеобразовательные учебники, в которых рассматривается данная тема;
3) составить методические рекомендации к изучению темы;
4) разработать уроки по теме «Использование графических возможностей языков программирования».
Работа состоит из пяти глав, в первой и второй приводятся некоторые теоретические основы по компьютерной графике и применению её в Pascal. В третьей главе проводиться анализ учебно-методической литературы. В четвертой главе строятся некоторые методические рекомендации к изучению темы, а в пятой главе приводятся конспекты занятий.
Глава 1. Векторная компьютерная графика. Графические примитивы.
Почти с момента создания ЭВМ появилась и компьютерная графика, которая сейчас считается неотъемлемой частью мировой технологии. Поначалу это была лишь векторная графика - построение изображения с помощью так называемых “векторов” - функций, которые позволяют вычислить положение точки на экране или бумаге. Например, функция, графиком которой является круг, прямая линия или другие более сложные кривые. Совокупность таких “векторов” называется векторным изображением. [9]
Однако появились и другие виды графики: растровая, фрактальная, трехмерная. Однако наиболее часто используемыми были и остаются растровая и векторная графика.
Для дальнейшего рассмотрения проблемы постройки объектов с помощью векторной графики, необходимо уяснить разницу между двумя основными видами компьютерной графики - растровой и векторной.
Векторная графика описывает изображения с использованием прямых и изогнутых линий, называемых векторами, а также параметров, описывающих цвета и расположение. Например, изображение снеговика строиться с помощь трех кругов, т.е. координат центра, радиусов, также во внимание берется цвета контура и заливки.
При редактировании элементов векторной графики изменяются параметры прямых и изогнутых линий, описывающих форму этих элементов. Можно переносить элементы, менять их размер, форму и цвет, это не отразится на качестве их визуального представления. Достоинством векторной графики является то, что она не зависит от разрешения, т.е. может быть показана в разнообразных выходных устройствах с различным разрешением без потери качества.
В отличие от векторной, растровая графика описывает изображения с использованием цветных точек, называемых пикселями, расположенных на сетке. Например, изображение снеговика уже описывается конкретным расположением и цветом каждой точки сетки, как в мозаике.
При редактировании растровой графики Вы редактируете пиксели, а не линии. Растровая графика зависит от разрешения, поскольку информация, описывающая изображение, прикреплена к сетке определенного размера. При редактировании растровой графики, качество ее представления может измениться. Вывод растровой графики на устройства с более низким разрешением, чем разрешение самого изображения, понизит его качество [3], [5].
С развитием компьютерной техники и технологий появилось множество способов постройки графических объектов. В зависимости от видов компьютерной графики под этим термином понимаются, как и пиксели или спрайты (в растровой графике), так и векторные объекты, такие как круг, квадрат, линия, кривая и т.д. (в векторной графике). В векторной графике также существует понятие графический примитив. Под графическими примитивами понимаются минимальные графические объекты, которые составляют векторный рисунок -- подобно кирпичам, из которых строится здание [2]. Такими графическими примитивами являются: точка, отрезок, окружность, эллипс, дуга, сектор, прямоугольник, параллелепипед и некоторые другие.
Существует множество программ для редактирования векторной графики - графические редакторы, однако зная приемы программирования, создаются быстро такие элементы, на которые в графическом редакторе уйдет много времени и не будет возможности многократного повторения и внесения быстрых изменений в рисунок, т.е. программирование дает возможность управлять созданием графики на более низком уровне. Поэтому рассмотрение графики, несомненно, разнообразит тему «Программирование», позволит рассмотреть класс интересных задач, поспособствует развитию творческих способностей.
Как правило, возможности различных языков программирования, в свете рассматриваемых задач, одинаковы. Поэтому будем рассматривать векторную графику, взяв за основу язык программирования Pascal.
Глава 2. Графические возможности языка программирования Pascal.
Большинство языков программирования имеют свои стандартные графические библиотеки. Так, у Basic графические команды являются встроенными; система программирования Turbo Pascal содержит графическую библиотеку (модуль Graph.tpu), имеющую в своем составе процедуры и функции обработки простейших графических примитивов.
В модуле GRAPH содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. В состав модуля входит ряд программ драйверов для наиболее распространенных видеоадаптеров: CGA, MCGA, EGA, VGA, HERCULES, AT&T, 3270 PC. Эти драйверы хранятся в файлах с расширением BGI [4].
Для работы графики её надо инициализировать, а для этого необходимо определить возможный графический режим. Это можно сделать с помощью следующей процедуры.
INITGRAPH (драйвер, режим, 'путь' ) - подключает графический режим. Драйвер - это переменная целого типа, определяющая тип графического дисплея. Режим - это переменная целого типа, определяющая режим работы графического адаптера. Путь - указывает путь программам с TPU.
DETECT - режим автоматического определения типа.
CLOSEGRAPH - прекращает работу графического адаптера и восстанавливает текстовый режим работы экрана.
Таким образом все графические операторы работают только при инициализированном графическом режиме, в противном случае будет выводиться ошибка.
Для вывода графических примитивов на экран следует использовать следующие процедуры модуля Graph.
Вывод точки:
PUTPIXEL(x, y, цвет) - выводит точку с координатами (x, y);
Установка цвета:
SETCOLOR (цвет) - устанавливает текущий цвет для выводимых линий и символов;
SETBKCOLOR (цвет) - устанавливает цвет фона,
где цвет- это число от 0 до 15 (Табл. 1).
Цвет:
0
черный
1
синий
2
зеленый
3
голубой
4
красный
5
лиловый
6
коричневый
7
светло-серый
8
темно-серый
9
светло-синий
10
светло-зеленый
11
светло-голубой
12
светло-красный
13
светло-лиловый
14
желтый
15
белый
Управление курсором вывода:
MOVETO(x,y) - переводит курсор в позицию x,y, точка при этом не высвечивается.
Рисование графических примитивов, с цветом установленных операторами SETCOLOR и SETBKCOLOR:
LINE (x1, y1, x2, y2) - рисует линию от точки с координатами (x1, y1) до точки с координатами (x2,y2).
LINETO(x, y) - рисует линию от текущей позиции курсора до x, y;
LINEREL(Dx, Dy) - рисует линию от текущей позиции на относительное расстояние Dx, Dy;
CIRCLE(x, y, r) - выводит окружность, с центром x, y, радиуса r;
ARC(x, y, начальный угол, конечный угол, r) - выводит дугу (углы измеряются в градусах против часовой стрелки);
RECTANGLE(x1,y1,x2,y2) - прямоугольник, где x1, y1 - координаты левого верхнего угла, x2, y2 - правого нижнего угла;
BAR(x1, y1, x2, y2) - закрашенный прямоугольник;
BAR3D(x1, y1, x2, y2, глубина, false или true) - параллелепипед;
где x1, y1 - координаты левого верхнего угла; x2, y2 - координаты правого нижнего угла, true - верхняя грань есть, false - верхняя грань отсутствует.
FILLELLIPSE(x, y, Rx, Ry) - закрашенный эллипс;
SECTOR(x, y, нач.угол, кон.угол, Rx, Ry) - сектор закрашенный;
SETFILLESTYLE(штриховка (Табл. 2), цвет) - каким цветом или какими штрихами будет закрашена замкнутая область;
Штриховка:
0
фоном
1
сплошная
2
_ _ _
3
////
4
толстыми///
5
\\\\
6
толстыми \\\
7
++++
8
x x x
9
квадратами
10
редкими точками
11
частыми точками
12
пользовательские
FLOODFILL(x, y, цвет,цвет границы) - штрихует произвольную замкнутую область;
Вывод текста.
Специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном и вертикальном расположении с изменением размеров и т.д.
OUTTEXT(ТЕКСТ) - вывод текста, начиная с текущей позиции
OUTTEXTXY(x, y, текст) - вывод текста, начиная с точки с координатами (x,y)
SETTEXTSTYLE(шрифт, направление, размер) - процедура устанавливает стиль текстового вывода на графический экран, где
размер: 1-32 для стандартного шрифта, 1-10 для штриховых
SETUSERCHARSIZ(x1, x2, y1, y2) - позволяет изменить ширину и высоту символа для штрихового шрифта
Язык программирования Pascal поддерживает работу и с растровой графикой (спрайты), однако это выходит за рамки изучения данной темы.
Глава 3. Анализ учебно-методической литературы.
Из рассмотренных общеобразовательных учебников по информатике лишь немногие содержали тему «Графика» в разделе программирование.
Для рассмотрения возьмем следующие учебники, в которых данная тема рассмотрена:
1). Кузнецов А.А., Апатова Н.В. Основы информатики. 8-9 кл.: Учебн. для общеобраз. учебных заведений. - М.: «Дрофа», 1999. - 176 с. [10]
2). Ляхович В.Ф. Информатика: Пособие для учащихся 10-11 кл. общеобразовательных учереждений - М.: «Просвещение», 1998. - 352 с. [11]
3). Каймин В.А., Щеголев А.Г. Основы информатики и вычислительной техники: Проб. учебное пособие для 10-11 кл. средн. шк. - М.: «Просвещение», 1989. - 272 с. [8]
4). Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов/ Н.Д. Угринович. - М.; «БИНОМ». Лаборатория знаний, 2003. - 512 с. [18], [19]
При проведении анализа для каждого учебника рассмотрим теоретический материал и систему заданий, а также предлагаемые в них методики.
3.1. Кузнецов А.А., Апатова Н.В. Основы информатики.
Следует отметить, что это единственный из найденных учебников, который рассматривает компьютерную графику на основе языка Pascal, остальные авторы используют Basic или Visual Basic.
Одним из последних параграфов в разделе программирования стоит параграф «Компьютерная графика». В начале параграфа даются базовые понятия компьютерной графики, вводится понятие графический примитив, как базовых графических конструкций и их модификаций.
Дальнейшее изложение строится из практических соображений, что нельзя не отметить как положительный момент. Операторы графики вводятся по мере их востребованности в написании программы. Так после введения процедур введения процедуры построения точки, идет практическая работа по написанию программы рисования графика функций.
После введения процедур рисования отрезка и прямоугольника, программа построения столбчатой, а после введения окружности и дуги, круговой диаграмм.
В конце параграфа приведены задания для самостоятельного выполнения. Помимо модификаций предлагаемых автором программ, приводятся задания рассчитанные на полное выполнение. Предложенные задания имеют различный уровень сложности.
4.2. Ляхович В.Ф. Информатика.
Графические возможности языка Бейсик рассматриваются автором в главе «Обработка текстовой и графической информации». На тему отводятся два параграфа главы.
В первом перечисляются графический режимы для различных ЭВМ (не актуальная на сегодняшний день информация), рассматриваются основные графические операторы языка Бейсик.
Во втором параграфе, под названием «Алгоритмы и программы построения изображений» речь идет об алгоритмах (программах), обеспечивающих построение на экране монитора изображение некоторых объектов.
Суть процесса построения изображения автор рассматривает в следующих пунктах:
изображение объекта разбивается на отдельные графические элементы (графические примитивы) с учетом состава графических операторов языка программирования;
определяем значения параметров всех графических элементов, исходя из изображения на объекта бумаге;
выбираем порядок построения графических элементов на экране, который и определяет алгоритм решения задачи.
В конце параграфа приводится интересная подборка заданий для самостоятельного выполнения.
4.3. Каймин В.А., Щеголев А.Г. Основы информатики и вычислительной техники.
Графическое программирование на Basic находится в одном из первых параграфов главы «Программирование». Содержание параграфа ограничено простым перечислением операторов построения графики. Примеров, как и заданий для самостоятельного выполнения в нем нет. Данное учебное пособие может быть использовано в качестве справочника, а не для обучения.
4.4. Угринович Н.Д. Информатика и информационные технологии.
Данный учебник имеет достаточно весомую главу программирования на языке программирования Visual Basic. В данной главе и рассматривается параграф «Графические возможности языка Visual Basic».
В параграфе кратко перечисляются основные операторы вывода графических примитивов, а также разрабатываются два проекта. Проект «Построение графика функции» точками и проект «Движение круга», предусматривающий анимацию.
В конце параграфа приведены практические задания, часть которых рассматривается в соответствующем пункте практикума по данному учебнику.
Во всех рассматриваемых учебниках рассматриваются операторы вывода графики, при этом каждый автор вносит в содержание своего учебника что-то новое, отличающее его от других. Школа и учителя вправе выбирать те из них, которые, по их мнению, дадут оптимальный уровень знаний по программированию учащимся того или иного класса. Учебники отличаются между собой структурой изложения материала, содержанием, уровнем сложности заданий и представленной системой задач.
Наиболее простыми и удобными для изучения в общеобразовательных школах являются учебные пособия Кузнецова [10] и Угриновича [18]. Во-первых, теоретический материал в данных учебниках включает в себя все основные понятия. Во-вторых, имеют систему задач, в которой представлены задания различной сложности. Это позволяет дифференцированно подойти к процессу обучения. Однако заданий мало, поэтому учителю придется восполнять этот пробел при помощи других учебных пособий, например справочников по программированию.
Глава 4. Методические рекомендации к изучению графики в языке программирования Pascal.
Для успешного изучения данной темы, учитель должен включить следующие разделы:
1. Графические возможности Turbo Pascal.
2. Инициализация и закрытие графического режима.
3. Процедуры работы с графическими примитивами.
4. Вывод текста в графическом режиме.
5. Построение графиков функций.
Также, по желанию, может быть введена тема «Анимация».
Тема предусматривает выработку значительных практических навыков, поэтому следует обратить внимание на разработку практических заданий и фронтальных лабораторных работ.
В начале изучения данной темы можно столкнуться с непониманием учащихся. "А зачем так сложно, если в любом графическом редакторе можно сделать то же самое?" Мотивацией может служить то, что зная приемы программирования, создаются быстро такие элементы, на которые в графическом редакторе уйдет много времени и не будет возможности многократного повторения и внесения быстрых изменений в рисунок. Например, привести следующую задачу: нарисовать новогоднюю открытку в основе которой будет много елочек разного размера разбросанных по экрану [4].
Далее необходимо познакомит учеников с основными понятиями компьютерной графики (если данная тема не рассматривалась уже в другом разделе, например, «Компьютерная графика»).
Следующим шагом будет введение графических операторов, которые поддерживает Pascal. При введении операторов, необходимо идти из практических соображений. Ввод оператора должен сопровождаться некой практической задачей, которая после введения оператора будет успешно решаться. Академический подход, при котором перечисляются все операторы и их описание, здесь не допустим.
Следует обратить внимание на связь данной темы с другими разделами темы программирования: циклами, вспомогательными программами, рекурсией. При решении задач обращать внимание школьников не на запоминание графических операторов и их синтаксиса (это можно найти в любом справочнике), а на алгоритм решения задачи, последовательность действий, оформленность логических кусков программы в процедуры и функции, использование циклов для повторяющихся элементов.
При построении графиков функций можно идти двумя путями, а именно:
1) строить точки графика с помощью точек;
2) строить точки графика с помощью линий.
Выбор подхода зависит от уровня класса. Второй подход, однако, намного привлекательней математически, в нем не теряется важного для функции свойства - непрерывности.
После теоретических моментов школьники выполняют лабораторные работы и сохраняют свои результаты в отдельных папках с последующей их защитой перед преподавателем. При проверке следует также обращать внимание на «красоту» алгоритма, а не рисунка, при необходимости давать ученику на доработку.
При малом количестве часов, одним из методов, позволяющих добиваться положительной мотивации к учению и хороших результатов в изучении данной темы, является метод проектов.
В школе под термином «Метод проектов» понимают технологию, по которой ученик или малая учебная группа выполняет весь запроектированный цикл активности от начала и до конца: придумывает, разрабатывает, корректирует, производит работы, связанные с внедрением и сопровождением. Применение проектного метода при изучении графики требует отдельного исследования и не входит в круг рассматриваемых задач.
В конце изучения темы проводиться проверочная работа, которая может заключаться в выполнении какого-либо рисунка с последующей проверкой учителем.
Рекомендуется проводить обмен рисунков между школьниками, а также устраивать компьютерный вернисаж и конкурсы. Такие мероприятия стимулируют развитие познавательной и творческой активности.
Глава 5. Конспекты уроков.
Урок 1. Использование графики при программировании на Pascal.
Вид занятия: комбинированное занятие.
Цели занятия:
дидактическая:
- освоение приемов построения простых вычислительных алгоритмов и их программирование на языке Turbo Pascal;
воспитательная:
- формирование мировоззрения у студентов;
- формирование мотивации к изучению предмета “Основы алгоритмизации и программирования”;
- формирование чувства коллективизма, дружбы;
развивающая:
- развитие логического мышления;
- развитие навыков работы с системой программирования.
Обеспечение занятия: компьютер + большой экран, карточки для студентов, раздаточный материал с заданиями на закрепление, интерфейс среды программирования Turbo Pascal.
Здравствуйте. Сегодня мы будем говорить о том, как работать с графикой при помощи языка программирования Pascal. Вы уже знакомы с различными типами графики. Какие это типы? (растровый и векторный) Как задается графический объект при использовании графики этих типов. Pascal поддерживает вывод на экран и векторной и растровой графики, но мы рассмотри только рисование с помощью графических примитивов. Это и будет целью нашего занятия.
Отвечают на вопросы учителя.
2. Изучение нового материала.
А вначале давайте вспомни, что такое графический примитив?
Какими параметрами задается точка? (координатами) окружность? (координатами центра и радиусом) прямоугольник? (координатами противоположных вершин) отрезок? (координатами вершин)
При помощи этих простейших объектов можно строить довольно сложные композиции. Нарисуйте у себя в тетрадях снеговика, из каких графических примитивов он состоит?
Давайте попробуем перенести данный рисунок на экран компьютера с помощью языка программирования Pascal.
Учитель рассказывает о различных видеорежимах, показывает, как инициализировать графику. Далее спрашивает у учеников какие примитивы они использовали для рисования снеговика. И, отвечая ученикам, постепенно вводит все основные графические операторы.
Отвечают на вопросы учителя
Ученики рисуют каждый у себя в тетради снеговика.
Ученики называют различные графические примитивы: окружность, точка, прямоугольник, линия, точка.
3. Выполнение самостоятельных заданий за компьютером.
1. Ввести программу вывода снеговика, выполнив отдельными процедурами инициализацию графики и непосредственный вывод снеговика.
2. Изобразите на экране:
а) четыре точки разного цвета в центре желтого экрана; точки расположите квадратом на расстоянии друг от друга 15 точек;
б) российский флаг, флаг состоит из трех полос, поэтому рисовать их надо, используя оператор вывода закрашенного прямоугольника (также можно использовать цикл);
в) мишень, состоящую из 10 концентрических (т. е. с одним центром) окружностей различных цветов (при выполнений сильным ученикам использовать рекурсию, слабым цикл с предусловием);
г) свое имя, с помощью отрезков, прямоугольников и окружностей.
При выполнении этих заданий, ученики еще раз воспользуются всеми операторами, поэтому учителю необходимо по мере необходимости консультировать учеников.
Ученики пересаживаются за компьютеры и выполняют задания.
4. Подведение итогов.
Сегодня мы познакомились, как работать с графикой в Pascal, а именно: научились инициализировать графику, выводить на экран графические примитивы. Запишите домашнее задание:
1). Выучить операторы графики.
2). Составить рекурсивные процедуры вывода на экран n квадратов с общим центром и n окружностей с общей точкой на окружности.
3). При помощи процедуры из предыдущего задания выполнить следующий рисунок
Урок 2. Построение графиков функций.
Заключение.
Исследуемая тема связывает главы «Технология обработки изображений» и «Программирование» школьной программы, обеспечивая понимание целостности предмета информатики в глазах учащихся.
В данной работе сделаны попытки прийти к единому курсу изучения темы «Графика» в языках программирования. При проведении исследования было проанализирована учебно-методическая литература, соответствие её требованиям к использованию в процессе обучения.
При изучении приемов, методов изучения данной темы описанных в методической литературе, были сформулированы ряд методических рекомендаций, которые позволяют успешно преподавать тему «Графические примитивы» на любом уровне сложности. В соответствии с данными рекомендациями составлены два конспекта урока.
Таким образом, выполнена цель, поставленная перед данной работой.
Введение в тему «Программирование» изучения графических примитивов, стимулирует творческую активность школьника, позволяет использовать интересные примеры, это приводит к лучшему усвоению материала. Рекомендуется включать данную тему в учебную программу по информатике.
Библиографический список.
1. Гейн А.Г., Житомирский В.Г. Основы информатики и вычислительной техники [Текст]. - М.: Просвещение, 1998. - 254 г.
2. Гусева А.И. Учимся информатике: задачи и методы их решения [Текст]. - М.: Диалог - МИФИ, 2001.
3. Дуванов А.A. Азы информатики. Рисуем на компьютере [Текст] // Информатика, №31 (416), 16-22.08.2003
18. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов [Текст]. - М.: Бином. Лаборатория знаний, 2003. - 512 с.
19. Угринович Н.Д. Практикум по информатике и информационным технологиям. Учебное пособие для общеобразовательных учреждений [Текст]. - М.: Лаборатория Базовых Знаний, 2002, 400 с.
20. Шауцукова Л.З. Информатика [Текст]. - М.: Просвещение, 2003.
21. Шикин Е.В. Начала компьютерной графики [Текст]. -- М.: Диалог-МИФИ, 1994.