Меню
Разработки
Разработки  /  Информатика  /  Проверочные работы  /  Креслення фігур у середовищі Pascal

Креслення фігур у середовищі Pascal

Лабораторная работа по основам алгоритмизации и програмированию. (на украинском языке)
26.12.2012

Описание разработки

Мета роботи: Вивчення операторів використання графічних режимів, завдання кольору, установки точки, проведення відрізків та ломаних ліній, необхідних для реалізації простих програм формування статичних зображень. Отримання практичних навичок у реалізації на ЕОМ цих програм.

Теоретичні відомості

Для роботи  із  графікою із програми на Pascal в папці, звідки вона запускається, повинен бути присутнім файл EGAVGA.BGI.

Крім того, при компіляції такої програми повинен бути доступний модуль GRAPH.TPU, що містить підпрограми креслення графічних об'єктів.

Файли *.BGI це графічні адаптери,  відповідальні за роботу з моніторами різних типів.

Бібліотека GRAPH.TPU підключається стандартним способом за допомогою USES у розділі описів програм:

USES Graph;

У графічному  режимі  екран являє собою матрицю крапок (пікселів), причому є можливість висвітити будь-який піксел будь-яким кольором. Координати кожного піксела визначаються парою цілих чисел:

координата X - номер піксела в рядку. Нумерація зліва праворуч, починаючи з 0;

координата Y - номер рядка пікселов. Нумерація рядків зверху донизу, починаючи з 0.

Таким чином,  координати лівого верхнього кута екрана (0,0). Будь-який об'єкт, являє собою сукупність окремих пікселів.  При переході в графічний режим екран очищається. Кількість відтворених пікселів по горизонталі й вертикалі залежить від типу монітора й установленого графічного режиму (кожний монітор може використовувати кілька режимів, що відрізняються кількістю підтримуваних кольорів і розмірами графічного екрана в пікселах):

Монітор CGA - максимум 320*200 пікселів,  монітор EGA – 640*350, монітор VGA – 640*480; Роботу з більше сучасними й потужними графічними режимами, що ставляться до класу SuperVGA, Pascal безпосередньо не підтримує, хоча існують створені незалежними розробниками графічні драйвери цих режимів.

Режим функціонування екрана, крім кількості пикселів, характеризується певною палітрою - набором видимих кольорів. Кожна палітра складається із чотирьох кольорів для CGA або 16 квітів для EGA і VGA.

Розглянемо основні процедури й функції модуля Graph.

CloseGraph;  - завершує роботу в графічному режимі. Необхідно виконувати цю процедуру перед завершенням будь-якої графічної програми на Pascal.

ClearDevice;  очищає графічний екран. Обидві цих процедури не мають параметрів.

function GetMax:integer;  - одержує максимальну координату по осі X

function GetMax:integer;  - одержує максимальну координату по осі Y

 SetColor(Color); - встановлює колір малювання ліній, крапок і тексту (аналог "пера" у програмах для малювання). Кольори кодуються так само, як у текстовому режимі. Для повноти картини перелічимо їх усі:

0 - чорний   (BLACK)    8 -  темно-сірий   (DARKGRAY)

1 - синій    (BLUE)     9 -  голубий   (LIGHTBLUE)

2 - зелений  (GREEN)   10 -  ясно-зелений    (LIGHTGREEN)

3 - ціановий (CYAN)    11 -  світло-ціановий   (LIGHTCYAN)

4 - червоний  (RED)     12 -  ясно-червоний    (LIGHTRED)

5 - фіолетовий   (MAGENTA) 13 -  світло-фіолетовий (LIGHTMAGENTA)

6 - коричневий   (BROWN)   14 -  жовтий    (YELLOW)

7 - ясно-сірий (LIGHTGRAY)   15 -  білий     (WHITE)

SetFillStyle (Style, Color); - встановлює колір заповнення областей екрана (Color) і спосіб  накладення кольору (Style). Є аналогом "кисті" у програмах для малювання Параметр Color має значення, зазначені вище, параметр Style - від 1 до 11. При Style=1 - відбувається звичайне суцільне заповнення кольором, інші стилі дозволяють створити різні штрихування.Тут і далі замість цифр можна використовувати імена стилів, для стислості ми не будемо приводити їх усе.

Завдання:

  1. Вивести на екран за допомогою графічних примітивів своє прізвище, при чому кожна літера повинна бути виведена окремим кольором.
  2. Створіть малюнок згідно свого варіанту.
  3. Створіть будь-який малюнок (за власною уявою), який буде відтворювати рух.

Вся разработка написана на украинском языке.

Содержимое разработки

Лабораторна робота №9


Тема: Креслення фігур у середовищі Pascal


Мета роботи: Вивчення операторів використання графічних режимів, завдання кольору, установки точки, проведення відрізків та ломаних ліній, необхідних для реалізації простих програм формування статичних зображень. Отримання практичних навичок у реалізації на ЕОМ цих програм.


Теоретичні відомості


Для роботи  із  графікою із програми на Pascal в папці, звідки вона запускається, повинен бути присутнім файл EGAVGA.BGI.

Крім того, при компіляції такої програми повинен бути доступний модуль GRAPH.TPU, що містить підпрограми креслення графічних об'єктів.

Файли *.BGI це графічні адаптери,  відповідальні за роботу з моніторами різних типів.

Бібліотека GRAPH.TPU підключається стандартним способом за допомогою USES у розділі описів програм:

USES Graph;

У графічному  режимі  екран являє собою матрицю крапок (пікселів), причому є можливість висвітити будь-який піксел будь-яким кольором. Координати кожного піксела визначаються парою цілих чисел:

координата X - номер піксела в рядку. Нумерація зліва праворуч, починаючи з 0;

координата Y - номер рядка пікселов. Нумерація рядків зверху донизу, починаючи з 0.

Таким чином,  координати лівого верхнього кута екрана (0,0). Будь-який об'єкт, являє собою сукупність окремих пікселів.  При переході в графічний режим екран очищається. Кількість відтворених пікселів по горизонталі й вертикалі залежить від типу монітора й установленого графічного режиму (кожний монітор може використовувати кілька режимів, що відрізняються кількістю підтримуваних кольорів і розмірами графічного екрана в пікселах):

Монітор CGA - максимум 320*200 пікселів,  монітор EGA – 640*350, монітор VGA – 640*480; Роботу з більше сучасними й потужними графічними режимами, що ставляться до класу SuperVGA, Pascal безпосередньо не підтримує, хоча існують створені незалежними розробниками графічні драйвери цих режимів.

Режим функціонування екрана, крім кількості пикселів, характеризується певною палітрою - набором видимих кольорів. Кожна палітра складається із чотирьох кольорів для CGA або 16 квітів для EGA і VGA.


Розглянемо основні процедури й функції модуля Graph.

CloseGraph;  - завершує роботу в графічному режимі. Необхідно виконувати цю процедуру перед завершенням будь-якої графічної програми на Pascal.

ClearDevice;  очищає графічний екран. Обидві цих процедури не мають параметрів.

function GetMax:integer;  - одержує максимальну координату по осі X

function GetMax:integer;  - одержує максимальну координату по осі Y

 

SetColor(Color); - встановлює колір малювання ліній, крапок і тексту (аналог "пера" у програмах для малювання). Кольори кодуються так само, як у текстовому режимі. Для повноти картини перелічимо їх усі:

0 - чорний   (BLACK)    8 -  темно-сірий   (DARKGRAY)

1 - синій    (BLUE)     9 -  голубий   (LIGHTBLUE)

2 - зелений  (GREEN)   10 -  ясно-зелений    (LIGHTGREEN)

3 - ціановий (CYAN)    11 -  світло-ціановий   (LIGHTCYAN)

4 - червоний  (RED)     12 -  ясно-червоний    (LIGHTRED)

5 - фіолетовий   (MAGENTA) 13 -  світло-фіолетовий (LIGHTMAGENTA)

6 - коричневий   (BROWN)   14 -  жовтий    (YELLOW)

7 - ясно-сірий (LIGHTGRAY)   15 -  білий     (WHITE)


SetFillStyle (Style, Color); - встановлює колір заповнення областей екрана (Color) і спосіб  накладення кольору (Style). Є аналогом "кисті" у програмах для малювання Параметр Color має значення, зазначені вище, параметр Style - від 1 до 11. При Style=1 - відбувається звичайне суцільне заповнення кольором, інші стилі дозволяють створити різні штрихування.Тут і далі замість цифр можна використовувати імена стилів, для стислості ми не будемо приводити їх усе.


Завдання:


  1. Вивести на екран за допомогою графічних примітивів своє прізвище, при чому кожна літера повинна бути виведена окремим кольором.

  2. Створіть малюнок згідно свого варіанту.

  3. Створіть будь-який малюнок (за власною уявою), який буде відтворювати рух.



Приклад виконання


Програма 1. Для демонстрації різних видів зафарбування.

program Cinema;

UsesGraph, crt;

var

gd, gr, i, n, r: integer;

begin

gd:=9; gr:=2;

InitGraph( gd,gr,’’);

for i:=1 to 10 do

begin

n:=i;

SetColor(i);

SetFillStyle(n;i+3);

r:=250-20*i;

circle(320,240,r);

FloodFill(320,240,i);

Delay(10200);

end;

OutText,Y(20,20,'кола');

readln;

CloseGraph;

end.


Ідентифікатори програми:

gd-графічний драйвер для монітора VGA,

gr-режим роботи монітора 640 480

i-кількість окружностей, колір границі зафарбування,

n=1-тип заповнювача,

i+3-колір зафарбування, заповнення, заливання,

r-радіус окружності.

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


Програма 2. Одержання на екрані зафарбованого паралелепіпеда, що рухається :

program Cinema;

U

0,0

639

sesGraph, crt;

var

gd,gr,i,x1,y1:integer;

begin

gd:=9; gr:=2;

x1:=0;y1=120;

InitGraph( gd,gr,’’);

479

for i:=1 to 160 do

begin

SetFillStyle(1,6);

Bar3d(x1,y1,x1+30,y1+80,20,true);

Delay(10000);

S


etFillStyle(1,0);

Bar3d(x1,y1,x1+30,y1+80,20,true);

x1:=x1+3;

end;

readln;

end.

Контрольні питання


  1. Яка процедура встановлює графічний режим?

  2. Як відрізняється система координат у текстовому й у графічному режимі?

  3. Яка процедура закриває графічний режим?

  4. Назвати процедуру для завдання кольору тла.

  5. Яка відмінність між процедурами SetFillStyle і FloodFill ?

  6. Створити програму, яка демонструє можливі кольори графічного режиму, використовуючи генератор випадкових чисел .

  7. Пояснити такий рядок: GD:= Detect;

  8. З чого складається графічний екран дисплея ?

  9. Де початок відліку точок у графічному режимі?

  10. З яким кольором має співпадати колір межі в процедурі FloodFill ?

  11. Що можна сказати про чорний колір у графіці TP?

  12. Вивести коло з демонстрацією всіх можливостей (зміна кольору і типу границі, кольору і типу заливання, положення, розмірів, розтягнення.).

  13. Вивести сектор з демонстрацією всіх можливостей (зміна кольору і типу границі, кольору і типу заливання, положення, розмірів, розтягнення.).

  14. Вивести еліпс з демонстрацією всіх можливостей (зміна кольору і типу границі, кольору і типу заливання, положення, розмірів, розтягнення.).

  15. Яка процедура встановлює графічний режим?

  16. Як відрізняється система координат у текстовому й у графічному режимі?

  17. Яка процедура закриває графічний режим?

  18. Назвати процедуру для завдання кольору тлу.

  19. Яка відмінність між процедурами SetFillStyle і FloodFill ?

  20. Створити програму, яка демонструє можливі кольори графічного режиму, використовуючи генератор випадкових чисел .


-75%
Курсы дополнительного образования

Создание динамических веб-страниц с помощью PHP и MySQL

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
1000 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Креслення фігур у середовищі Pascal (0.32 MB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт