СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

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

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Графика на языке программирования PascalABC

Категория: Информатика

Нажмите, чтобы узнать подробности

 

Система PascalABC предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов. Она создавалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда программирования (автор — доцент С. С. Михалкович). Несмотря на неполную реализацию языка, система стала удачной заменой уже давно устаревшей системе Turbo Pascal в первоначальном обучении программированию.

Система PascalABC призвана осуществить переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.

Данная методическая разработка рассчитана на курсантов и студентов 1 курса, изучающих программирование на языке PascalABC. В ней изложены основные понятия, связанные с программированием графики на языке PascalABC. В пособии описаны практические работы и даны методические указания, облегчающие подготовку и выполнение работ курсантами и студентами. В описании каждой работы приводятся краткие теоретические сведения по исследуемому вопросу и указан порядок её выполнения. Также предложены работы для самостоятельного выполнения.

Рассчитано, что до изучения программирования графики на языке PascalABC изучен раздел «Основы алгоритмизации» и получены навыки программирования различных алгоритмических конструкций на языке программирования PascalABC.

Настоящая методическая разработка может быть успешно реализована преподавателями и других образовательных учреждений, где изучается данный раздел программирования.

Просмотр содержимого документа
«Графика на языке программирования PascalABC»



МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО МОРСКОГО И РЕЧНОГО ТРАНСПОРТА

ОМСКИЙ ИНСТИТУТ ВОДНОГО ТРАНСПОРТА (ФИЛИАЛ)

ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО

УЧРЕЖДЕНИЯ ВЫСШЕГО ОБРАЗОВАНИЯ

«СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ВОДНОГО ТРАНСПОРТА»

СТРУКТУРНОЕ ПОДРАЗДЕЛЕНИЕ СПО











МЕТОДИЧЕСКие указания


к изучению курса «АЛГОРИТМИЗАЦИЯ»


к изучению курса


«ПРОГРАММИРОВАНИЕ ГРАФИКИ

НА ЯЗЫКЕ PASCAL ABC»






Дисциплина: «Информатика»


для всех специальностей,

изучающих свободное программное обеспечение










Омск 2018

Организация-разработчик:

Омский институт водного транспорта (филиал) ФГБОУ ВО «СГУВТ», структурное подразделение СПО Омское командное речное училище имени капитана Евдокимова В.И.



Разработчик:

Критонова Т.И., преподаватель информатики

Ф.И.О., ученая степень, звание, должность,

Сысоева Н.Г., преподаватель информатики

Ф.И.О., ученая степень, звание, должность,


Рекомендована цикловой методической комиссией

физико-математических дисциплин

Протокол № _______ от «_____» ___________ 20_____г.


Председатель _____________________________________ /Н.Г. Сысоева/


Рассмотрено на Методическом совете

Протокол №___ от «_____» ___________ 20_____г.



Утверждаю «_____» ___________ 20_____г.


Начальник УМО СП СПО_____________________________ /Е.В. Жердева/













Обратная связь:

Омский институт водного транспорта (филиал) ФГБОУ ВО «СГУВТ»,

СП СПО Омское командное речное училище имени капитана Евдокимова В.И.,

644099, г. Омск, ул. И. Алексеева 4, тел. (3812) 24-36-12



ВВЕДЕНИЕ


Система PascalABC предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов. Она создавалась на факультете математики, механики и компьютерных наук ЮФУ как учебная среда программирования (автор — доцент С. С. Михалкович). Несмотря на неполную реализацию языка, система стала удачной заменой уже давно устаревшей системе Turbo Pascal в первоначальном обучении программированию.

Система PascalABC призвана осуществить переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.

Данная методическая разработка рассчитана на курсантов и студентов 1 курса, изучающих программирование на языке PascalABC. В ней изложены основные понятия, связанные с программированием графики на языке PascalABC. В пособии описаны практические работы и даны методические указания, облегчающие подготовку и выполнение работ курсантами и студентами. В описании каждой работы приводятся краткие теоретические сведения по исследуемому вопросу и указан порядок её выполнения. Также предложены работы для самостоятельного выполнения.

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

Рассчитано, что до изучения программирования графики на языке PascalABC изучен раздел «Основы алгоритмизации» и получены навыки программирования различных алгоритмических конструкций на языке программирования PascalABC.

Настоящая методическая разработка может быть успешно реализована преподавателями и других образовательных учреждений, где изучается данный раздел программирования.


1. ГРАФИЧЕСКИЙ РЕЖИМ

В графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов. Каждая точка экрана имеет свои координаты (х,у). Начало координат находится в верхнем левом углу экрана. Координаты точек возрастают слева направо и сверху вниз. Левая верхняя точка имеет координаты (0,0), а правая нижняя имеет координаты (640,480). Для того, чтобы программа могла выводить на экран графические примитивы (линии, окружности, прямоугольники и т.п.), необходимо инициализировать графический режим.

0 100 200 300 400 500 600 640


100


x


200


300



400



480



y




Рисунок 1 – Схема экрана при работе с графическим режимом



После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно. Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится обширный набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой. С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Шаблон графической программы


Program ;

Uses graphABC;

Var :;

Begin



End.


Uses graphABC - подключение модуля библиотеки графических процедур.



2. МОДУЛЬ GRAPHABC

Модуль GraphABC содержит процедуры и функции для рисования в графическом окне. Они подразделяются на следующие группы:


  • Графические примитивы

  • Действия с цветом

  • Действия с пером

  • Действия с кистью

  • Действия со шрифтом

  • Действия с графическим окном


Таблица 1 – Графические примитивы


Формат записи

Как работает

Setpixel(x,y,color);

Закрашивает один пиксель с координатами (x,y) цветом color.

Line(x1,y1,x2,y2);

Вычерчивает линию от точки c координатами (x1,y1) до точки (x2,y2).

Rectangle(x1,y1,x2,y2);

Рисует контур прямоугольника со сторонами, параллельными сторонам экрана. Точки с координатами (х1,у1) и (х2,у2) определяют диагональ прямоугольника.

RoundRect(х1,у1,х2,у2,w,h);

Рисует прямоугольник со скругленными краями. Точки с координатами (х1,у1) и (х2,у2) определяют диагональ прямоугольника., а w и h — ширину и высоту эллипса, используемого для скругления краев.

Circle(x,y,R);

Рисует окружность радиуса R с центром в точке с координатами (x,y).

Ellipse(x1,у1,х2,y2);

Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

Продолжение таблицы 1 – Графические примитивы


Формат записи

Как работает

Аrc(x,y,r,a1,a2);

Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

Pie(x,y,r,a1,a2);

Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

Chord(x,y,r,a1,a2);

Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

MoveTo(x,y);

Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).

LineTo(x,y);

Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).

TextOut(x,y,s);

Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s).

FloodFill(x,y,c);

Заливает область одного цвета цветом c, начиная с точки (x,y).

FillRect(x1,y1,x2,y2);

Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.


Таблица 2 – Действия с цветом


clBlack – черный

clAqua – бирюзовый

clPurple – фиолетовый

clOlive – оливковый

clWhite – белый

clFuchsia – сиреневый

clMaroon – темно-красный

clTeal – сине-зеленый

clRed – красный

clGray – темно-серый

clNavy – темно-синий

clLime – ярко-зеленый

clGreen – зеленый

clMoneyGreen – цвет зеленых денег

clBrown – коричневый

clLtGray – светло-серый

clMedGray – серый

clDkGray – темно-серый

clSilver – серебряный

clBlue – синий

clCream – кремовый

clSkyBlue – голубой

clYellow – желтый


Таблица 3 – Действия с пером (стиль и цвет рисования)


Формат записи

Как работает

SetPenColor(color);

Устанавливает цвет пера, задаваемый параметром color.

SetPenWidth(w);

Устанавливает ширину пера, равную w пикселям.

SetPenStyle(ps);

Устанавливает стиль пера (ps), который задается следующими именованными константами:


Значение

Описание

Вид линии

psSolid

Сплошная линия

_______

psClear 

Отсутствие линии


psDash

Штриховая линия

- - - - - - -

psDot

Пунктирная линия

………...

psDashDot

Штрихпунктир-ная линия

-.-.-.-.-.-.-

psDashDotDot

Линия – штрих и два пунктира

-..-..-..-..-



Таблица 4 – Действия с кистью (стиль и цвет заливки фигур)


Формат записи

Как работает

SetBrushColor(color);

Устанавливает цвет кисти, задаваемый параметром color (смотри таблицу цветов).

SetBrushStyle(bs);

Устанавливает стиль кисти (bs), который задается следующими именованными константами:


Константа

Стиль заливки

bsSolid

Сплошная заливка текущим цветом.

bsClear

Без заливки

bsCross

Штриховка в клетку.

bsDiagCross

ххх штриховка

bsHorizontal

Штриховка горизонтальными линиями

bsVertical

Штриховка вертикальными линиями

bsBDiagonal

/ / / штриховка

bsFDiagonal

\ \ \ штриховка





Таблица 5 – Действия со шрифтом


Формат записи

Как работает

SetFontColor(color);

Устанавливает цвет шрифта (смотри таблицу цветов).

SetFontSize(sz);

Устанавливает размер шрифта в пунктах.

SetFontName(s);

Устанавливает наименование шрифта.

По умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times New Roman, Arial и Courier New. Наименование шрифта можно набирать без учета регистра.

SetFontStyle(fs);

Устанавливает стиль шрифта (fs), который задается следующими именованными константами:


Константа

Стиль шрифта

fsNormal

обычный

fsBold

жирный

fsItalic

наклонный

fsBoldItalic

жирный наклонный

fsUnderline

подчеркнутый

fsBoldUnderline

жирный подчеркнутый

fsItalicUnderline

наклонный подчеркнутый

fsBoldItalicUnderline

жирный наклонный подчеркнутый




 Практическая работа №1 «Просмотр готовых программ»


Цель работы:


Научиться использовать графические средства PascalABC на примере построения графических примитивов и элементарных изображений.


Порядок выполнения работы:


Выполнить работу по набору текста программ:

Добиться успешной компиляции;

Запустить программы на выполнение.



program z1;

uses graphABC;

begin

setpencolor(clred);

setbrushcolor(clnavy);

ellipse(40,150,250,210);

setbrushcolor(clyellow);

ellipse(340,150,550,210);

setbrushcolor(clred);

circle(295,190,25);

setbrushcolor(clolive);

ellipse(265,225,325,425);

setbrushcolor(cllime);

ellipse(265,5,325,150);

end.

program z2;

uses graphABC;

begin

setwindowsize(500,500);

setpenwidth(3);

setbrushcolor(clfuchsia);

circle(225,160,50);

line(225,160,225,180);

line(210,190,240,190);

line(225,210,225,250);

line(100,100,200,260);

line(200,260,400,260);

line(210,350,200,480);

line(240,350,250,480);

rectangle(200,230,250,350);

setbrushcolor(cllime);

fillrect(0,480,500,500);

setbrushcolor(clwhite);

circle(205,150,10);

circle(245,150,10);

end.



3. СПОСОБЫ И СТИЛИ ЗАЛИВКИ ФИГУР

Замечание 1. Цвет и стиль рисования:

Процедуры Setpencolorolor), Setpenstyle(ps), Setbrushcolor(color), Setbrushstyle(bs), SetPenWidth(w) пишутся непосредственно перед объектом редактирования, если фигура рисуется одной графической процедурой, например: окружность, эллипс, прямоугольник и т.п..

Если же фигура является результатом использования нескольких графических процедур, например, треугольник, многоугольник и т.п., то все вышеперечисленные процедуры, кроме Setpencolor(color), Setpenstyle(ps) пишутся после объекта редактирования.


Замечание 2. Заливка фигуры:

Для заливки фигур, построенных одной графической процедурой, используется процедура Setbrushcolorolor), где сolor – цвет заливки. В программе она записывается перед рисованием объекта!

Процедура Floodfill(х,у,с) используется для заливки фигур, являющихся результатом использования нескольких графических процедур. Точка с координатами (х,у) должна находиться внутри построенного объекта, с – это цвет заливки. Процедура Floodfill(х,у,с) пишется непосредственно после рисования объекта!


 Практическая работа №2 «Способы и стили заливки фигур».


Цель работы:


Научиться использовать графические процедуры PascalABC для построения элементарных графических изображений с применением различных стилей заливок.


Порядок выполнения работы:


Загрузите среду PascalABС.

Наберите программу рисования окружности.

program z3;

uses graphABC;

begin

setpencolor(claqua); {устанавливает цвет рисования окружности –

бирюзовый}

setpenstyle(psdot); {устанавливает стиль линии рисования

окружности – пунктирная линия}

setpenwidth(10); {устанавливает ширину линии рисования

окружности }

setbrushstyle(bscross); {устанавливает стиль заливки окружности}

setbrushcolor(clred); {устанавливает цвет заливки окружности}

circle(225,160,50); {рисует окружность}

end.


Запустите программу на выполнение. Результатом будет

«Рисунок 3.1»











Рисунок 3.1



Наберите программу рисования треугольника.


program z4;

uses graphABC;

begin

setpencolor(clpurple); {устанавливает цвет рисования линий –

фиолетовый}

line(100,100,400,300); {рисует линию от точки (100,100) до точки

(400,300)}

line(400,300,20,300); {рисует линию от точки (400,300) до точки

(20,300)}

line(100,100,20,300); {рисует линию от точки (100,100) до точки

(20,300)}

setbrushstyle(bsvertical); {устанавливает стиль заливки окружности –

вертикальными линиями}

floodfill(150,250,clbrown); {заливает полученную замкнутую область (в

программе треугольник) коричневым цветом,

начиная с точки (150,250}

end.



Запустите программу на выполнение. Результатом будет

«Рисунок 3.2»











Рисунок 3.1


Сделайте выводы о различных способах заливки.

Самостоятельная работа №1


Напишите программу рисования и заливки следующей фигуры.



























Здесь цифры соответствуют цветам:


1 – красный

2 – синий

3 – зеленый

4 – желтый



Используя процедуру setbrushstyle(bs), установите различные стили заливки для каждой из частей полученной фигуры.

Используя процедуру TextOut(x,y,s), подпишите текст, расположенный после фигуры (различные цвета заливки для каждого номера).

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




 Практическая работа №3 «Координатная сетка в графическом режиме»


Цель работы:

  1. Научиться использовать графические средства PascalABC на примере построения графических примитивов и элементарных изображений.

  2. Научиться ориентироваться по координатной сетке в графическом режиме среды программирования PascalABC.


Порядок выполнения работы:



  1. Загрузите среду PascalABC.

  2. Наберите шаблон графической программы.

  3. Впишите в тело программы процедуры рисования, необходимые для выполнения следующего задания:

Задание:

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

Дом:

1.

2.

3.

4.

Крыша:

1.

2.

3.

4.

Труба:

1.

2.

3.

4. Запустите программу на выполнение. Результатом выполнения программы будет:




0




50






100






150






200





250






300






350




Х



400




























































































































50









































































































































































































100

































































































































































150









































































































































































































200

















































































































































































































































250









































































































































































































300

































































































































































350









































У



















































































Дополнительные задания:

  1. Раскрасьте домик, используя разные цвета и стили заливки;


  1. Дополните рисунок другими элементами (дерево, солнышко, облака, лужайка, небо, колодец, забор и т.д.)



Самостоятельная работа №2

Задание:

Средствами среды программирования Pascal ABC создайте чертёж по образцу.

Вариант 1

Вариант 2





Вариант 3

Вариант 4



Вариант 5

Вариант 6




Вариант 7

Вариант 8


Вариант 9

Вариант 10





 Практическая работа №4 «Построение графических примитивов».


Цель работы:


Научиться использовать графические средства PascalABC на примере построения графических примитивов и элементарных изображений.


Порядок выполнения работы:


  1. Загрузите среду PascalABC .

  2. Наберите шаблон графической программы.

  3. Впишите в тело программы процедуру рисования точки Setpixel с координатами (30,30) сине-зеленого цвета.

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

  5. Постройте отрезок зелёного цвета процедурой Line от точки (80,40) до (180,50). (не забудьте задать цвет до рисования линии процедурой Setpencolor).

  6. Увеличьте толщину линии данного отрезка до 3 пикселей процедурой Setpenwidth и установите тип линии пунктирный процедурой Setpenstyle.

  7. Нарисуйте окружность процедурой Circle в точке (280,60) и радиусом 55.

  8. Для контура окружности установите бирюзовый цвет.

  9. Постройте прямоугольник процедурой Rectangle с сиреневым контуром, если координаты диагонали (420,40) и (600,140).

  10. Тип линии у прямоугольника сделайте из точек.

  11. Изобразите дугу процедурой Arc в точке (50,120), радиусом 50, угол начала 0, угол конца 90 (т.е. дуга занимает I первую четверть окружности).

  12. Нарисуйте прямоугольник процедурой FillRect с координатами диагонали (20,150) и (200,250). Предварительно установите красный цвет заливки процедурой Setbrushcolor.

  13. Измените заливку на синий цвет и установите \ \ \ штриховку.

  14. Нарисуйте окружность процедурой Pie в точке (300,200), радиуса 70.

  15. Закрасьте её в сплошной жёлтый цвет.

  16. Контур окружности тоже сделайте жёлтым.

  17. Нарисуйте верхнюю половину окружности темно-красного цвета в точке (480,200), радиусом 40, используя процедуру Pie.

  18. Контур сделайте серого цвета.

  19. Изобразите нижнюю половину этой же окружности.

  20. Нарисуйте треугольник из отдельных сплошных линий ярко-зеленого цвета с вершинами (200,300), (280,400), (400,270).

  21. Cделайте ему заливку того же цвета, используя процедуру Floodfill.

  22. Справа от треугольника нарисуйте произвольный пятиугольник красного цвета.

  23. Выведите на экран текст желтого цвета «Графика на ЯП PascalABC», начиная с точки (60,400) процедурой TextOut.

  24. Процедурой SetFontStyle установите жирный наклонный подчеркнутый шрифт, процедурой SetFontSize - размер шрифта - 18 пикселей.

  25. Установите кремовый фон экрана, для этого используйте процедуру Floodfill, в качастве начальной точки укажите точку (1,1).

  26. Результатом выполнения программы будет


  1. В свободном месте подпишите свою фамилию, имя и группу.

Самостоятельная работа №3


Задание:

  1. Средствами среды программирования PascalABC создайте изображение по образцу (тельняшка моряка, с синей заливкой в горизонтальную полоску).












  1. Дорисуйте морячка (голова, шея, фуражка, кокарда, форменные брюки и ботинки, ремень с пряжкой, кисти рук).

Самостоятельная работа №4


Задание:

Средствами среды программирования Pascal ABC создайте изображение по образцу.


Вариант

Условие задачи

Нарисовать весёлую рожицу.

Нарисовать семицветную радугу.

Построить снеговика.

Построить домик.

Нарисовать новогоднюю ёлку.

Построить кораблик.

Составьте программу рисования часов типа «кукушка».

Нарисуйте компьютер.

Постройте избушку на курьих ножках.

Составьте программу рисования автомобиля.

Построите куб и подпишите вершины.

Составьте программу рисования кошки.

Построить забор, каждую досточку разукрасить разным стилем и цветом.

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



  1. Самостоятельная работа №5


Задание:

Средствами среды программирования Pascal ABC создайте изображение по образцу.

  1. Литература


  1. Есипов А. С. Информатика. Учебник по базовому курсу общеобразовательных учебных заведений. Изд. 3-е, перераб. и доп. – СПб: Наука и Техника, 2003.

  2. Критонова Т.И. Информатика [Текст]: Метод. указания к изучению курса программирования на языке Turbo Pascal / Т. И. Критонова, Н. Г. Сысоева. - Омск : Иртышский филиал НГАВТ, 2007. - 74 с.

  3. Культин Н. Б. Turbo Pascal в задачах и примерах. – Сб.: БХВ-Перербург, 2004.

  4. Лабораторный практикум по информатике: Учебное пособие для вузов/В.С.Микшина, Г.А.Еремеева, Н.Б.Назина и др.; Под ред. В.А.Острейковского. – М.: Высш.шк., 2003.

  5. Митрофанов С.П., Проскуряков С.Г. Программирование для гимназистов. Зачёт №5. Операторы графики/Под ред. В.М. Салахова. – Сургут: Сургутская высшая гимн.-лаб.Салахова, 2001.

  6. Немнюгин С. А. Turbo Pascal. Практикум. С.-Пб.: Питер, 2000.

  7. Семакин И.Г. Основы программирования: Учебник для сред. проф. образования / И.Г.Семакин, А.П.Шестаков. – 2-е изд., стер. – М.: Издательский центр «Академия», 2003.

  8. Фарафонов В.В. Турбо Паскаль (в 3-х книгах). Книга 1. Основы Турбо Паскаля. – М.: Учебно-инженерный центр «МВТУ-ФЕСТО ДИДАКТИК», 1992.

  1. Ресурсы Интернет


  1. А.С.Цветков. Язык программирования PASCAL. Система программирования ABC Pascal. Учебное пособие для школьников 7-9 классов. Санкт-Петербург. http://school.podvorye.ru/staff/tsvetkov/abcpascal.pdf.





Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!