Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основні етапи рішення задач.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
672.52 Кб
Скачать

35.Загальна характеристика типів даних мови Паскаль

Всю множину типів мови Паскаль можна розділити на декілька груп (рис. 23).

До простих типів даних відносяться порядкові та дійсні типи.

Порядкові типи відрізняються тим, що кожний з них має обмежену кількість можливих значень. Наприклад, змінні цілочисельного типу byte може змінюватися в діапазоні від 0 до 127 і приймає тільки цілі значення. Таким чином кількість можливих значень обмежена. Тип char включає 256 символів, тобто кількість можливих значень, що приймає змінна цього типу також кінцеве. Не говорячи вже про логічний тип boolean, для якого змінна може приймати тільки 2 значення: true або false.

На відміну від порядкових типів для дійсні типи неможливо перелічити всі значення, які може приймати змінна. Довести це дуже просто. Розглянемо інтервал від 0.1 до 0.2. До нього входять 0.11, 0.111, 0.1111 і так далі. Хіба можна перелічити всі дійсні числа, що потрапляє у цей маленький інтервал?

Але треба пам’ятати те, що при поданні в ЕОМ кількість припустимих значень дійсних типів все ж таки обмежена внутрішнім форматом, але навіть це не дає можливості перелічити всі можливі значення.

В темі №2 цього лекційного курсу детально були розглянуті цілочисельні, символьні, логічні та дійсні типи даних. Тема №7 присвячена масивам та рядкам, також в ній розглядаються тип перелічення та діапазон. Тема №8 стосується файлового типу. Об’єктний тип даних буде розглянутий при вивченні теми “Об’єктно-орієнтований підхід до розробки програмного забезпечення”, типи покажчиків в темі “Динамічний розподіл пам’яті”, процедурний тип після теми “Підпрограми”, що не ввіймішли до першої частини конспекту.

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

36.Використання графіки в програмах мовою Pascal.

Екран дисплея складається з точок, які можна засвічувати певним кольором. В результаті створюється зображення, точки на екрані дисплея називаються пікселями.

Основною характеристикою дисплея е роздільна здатність, яка визначає кількість точок на одиницю площі . Очевидно , що чим більше точок можна зобразити на екрані дисплея тим вища роздільна здатність, яка залежить від технічних характеристик адаптера і дисплея. Розташування кожноі точки на екрані дисплея називається координатами точки. Для VGA адаптерів координати точки можна задавати в межах: по горизонталі - від 0 до 640 т., а по вертикалі від 0 до 200, 0 - 350 точок 0 - 480 точок.

Для визначення положення кожної точки потрібно задати її координати.

Графіка реалізується за допомогою процедур та функцій graph tpu. (модуль).

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

37.Стандартні процедури та функції для графічних побудов. Наведіть приклади їх використання в програмах мовою Pascal.

Процедури.

Initgraph задає графічний режим;

Detectgraph повертає знач. х-р. driver і mode

Setcolor (<колір)> задає колір майбутнього зображення;

Setbckcolor - (<колір)> задає колір фону;

Putpixel - (х,у<колір)> висвітлює точку з координита-ми [х,у] заданим кольором;

Line - (xl,yl;х2,у2) молюе лінію по координатах.

Lineto (x,y) - малює лінію від поточної точки до точки [х,у].

Lineral(x,y) малює лінію від поточної точки з заданими приростами.

Rectangle - (xl,yl;x2,y2) малює прямокутник з заданими вершинами.

Setviewport - (xl,yl;x2,y2,true) задає координати вікна, якщо значення 5 периметру приймає значення true, тотоді відбувається відсічене зобра­ження, яке попадає за межі вікна;

Bar- (xl,yl;x2,y2) малює кольором прямокутник;

Bar 3d- малює паралелепіпед (х1,у1;х2,у2;<глибина>, true).

Circle- (х,у,К)малюе коло з центром[х,у], радіусом-R;

Arc Pieslice- (х,у, <поч. кут>,<кінц. кут>,Н) малює дугу;

Ellipse Setbillstyle- (х,у, <поч. кут>,<кінц. кут>,К) малює зафарбований сектор;

floodfill (х,у, <поч. кут>, <кінц. кут>, <горизонт.К>, <вертик. R>) малює еліпс або дугу.

Функції.

Graphresult повертає код помилки, якщо не можна задати

графічний режим;

Getmaxx Getmaxy Get color повертає значення розміру по горизонталі;

Get x Get у повертає значення розміру по вертикалі;

повертає (зчитує) значення текучого кольору;

Изобразить на экране прямоугольный треугольник с вершинами (320, 10),

(120,210), (520,210).

PROGRAM Primer_2;

uses Graph;

var Gd,Gm: Integer;

BEGIN

Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi');

If GraphResult=grOk

then begin

Line (120,210,520,210); { Горизонтальный отрезок }

Line (120,210,320,10); { Левый катет }

Line (320,10,520,210); { Правый катет }

ReadLn

end;

END.

Концентрические окружности.

Для рисования окружностей используется процедура Circle с тремя целочисленными

параметрами, задающими координаты центра окружности и радиус.

PROGRAM Primer_5;

uses Graph;

const CenterX=320;

CenterY=240;

var Gd,Gm: Integer;

i : Integer;

BEGIN

Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi');

If GraphResult=grOk

then begin

For i:=0 to 23 do

Circle (CenterX,CenterY,i*10);

ReadLn

end

END.