InitGraph (GraphDriver, GraphMode, GraphPath) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

InitGraph (GraphDriver, GraphMode, GraphPath)



GraphDriver<номер драйвера> -цілочислова змінна, яка має номер необхідного драйвера у таблиці драйверів, якщо в якості змінної задати «0», то драйвер буде визначено автоматично

GraphMode <номер режиму> -цілочислова змінна, яка містить допустимий номер графічного режиму для даного графічного драйвера (у випадку 640-480-16 використовуєть «0»)

GraphPath <шлях до драйверу> -параметр використовується для того щоб вказати розташування файлу драйверу так як графічні драйвери можуть знаходитися у бідь-якому місці файлової системи. Якщо драйвер знаходиться в стандартному каталозі, а ТР встановлено на диск С:\ то ‘C:\BP\BGI’. Якщо файл драйвера знаходиться в одному каталозі з програмою, яка розробляється, то в якості параметра використовується пустий рядок ‘ ’.

Приклад ініціалізації графічного режиму:

Program P1;

Uses Graph;

Var GrDriver, GrMode: integer;

Begin

GrDriver:=Detect; {detect – стандартна стала, присвоює «0»}

CrMode:=0;

InitGraph (GrDriver, GrMode, ‘ ‘);

CloseGraph; {закриття графічного та відновлення текстового режиму}

End.

Можна виділити такі групи: точки та лінії; замкнуті багатокутники та ізометричні проекції куба; коло; еліпс; дуга та сектор; текст; складні зображення.

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

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

Контур задається трьома параметрами – товщиною, стилем, кольором.

Колір встановлюється процедурою

SetColor(номер кольору 0-15)

Товщина та стиль

SetLineStyle(Стиль, Зразок, Товщина)

товщина контура(1-тонка, 3-товста), стиль – порядок чередування штрихів (0-4), зразок – для визначення особливих стилів (при ігнорування – «0»)

Заливка характеризується стилем та кольором

SetFillStyle( зразок (0-12), колір заливки (0-15) )

Колір фону – область екрану на яку ще не виводилося забраження. Для зміни кольору фону використовується процедура

SetBkColor(Номер кольору).

Базові графічні операції

Точка – процедура PutPixel(x,y,NColor:integer)

Відрізок - процедури Line(x1,y1,x2,y2:integer) – малювання відрізку біжучим кольором.

Переміщення графічного курсору – MoveTo(x,y).

Надпис – OutText(Txt: String),

OutTextXY(x,y:integer;Txt: String).

Деякі інші процедури та функції

Очистка екрану від графіки – ClearDevice.

Прямокутник – Rectangle(x1,y1,x2,y2: integer).

Вивід зафарб прямокутників – Bar (x1,y1,x2,y2).

Паралелепіпед– Bar3D(x1,y1,x2,y2,h,top(on/off)).

Заливка замкнених областей – FloodFill (x1, y1, NColor: integer).

Коло – Circle(x1,y1,r:integer);

Дуга кола – Arc (х1, у1, поч. кут, кінцевий кут, радіус).



27. Записи у мові програмування Pascal.

Запис (record) – це структурований тип даних, призначений для зберігання в оперативній пам’яті та опрацювання даних, що складаються з полів – даних різних типів. Запис описуються у розділі type за допомогою конструкції:

 

Туре {поч. розділу опису типів даних}

< Ім’я запису > = Record {заголовок опису запису}

<Ім’я поля 1>: <Тип>; {опис „поля” запису}

-------------------------------------

<Ім’я поля n>: <Тип>; {опис „поля запису”}

end; {кінець опису типу}

 

Таким чином, запис, як тип даних, складається з набору різнорідних змінних, які називаються полями запису, кожний з яких має своє унікальне ім'я в межах запису. Як типи змінних, описуваних усередині запису, можуть використовуватися будь-які типи даних, вбудовані в ТР чи описані в програмі до опису даного запису, у тому числі масиви й інші записи.

Опис змінних – записів здійснюється по звичайним правилам в розділі опису змінних.

Звертатися до полів записів (змінних - записів) у програмі можна двома способами - як до сукупності полів (тобто до записів у цілому), так і до окремих полів конкретного запису.

Для звертання до якого-небудь поля деякого запису вказується ім'я запису й ім'я поля в його складі (складене ім’я), розділені крапкою;

<Ім'я екземпляра запису >.<Ім'я поля >

Для екземплярів записів в цілому є тільки одна можливість використання – використовувати їх в операторі присвоєння.

Приклад:

Program Monitors2;

Type

TMonitor = Record

Name: String;

Price: Real;

Diagonal: Real;

End;

Var M: TMonitor;

Begin

Write(‘Введіть назву монітора’); Readln (M.Name);

Write(‘Введіть ціну’); Readln(M.Price);

Write(‘Введіть діагональ’); Readln(M.Diagonal);

Writeln(‘Введені характеристики: ’);

Writeln(‘Назва’, M.Name); Writeln(‘Ціна’, M.Price);

Writeln (‘Діагональ’, M.Diagonal); End.

Так як писати складені імена – доволі складно і цей процес може супроводжуватися помилками, тому для скорочення тексту програми та покращення її наочності у Пскалі використовується операто (команда) приєднання.

Команда приєднання WITH

Команда приєднання дає змогу використовувати у програмі лише імена полів. Загальний вигляд команди with такий:

with <ім’я запису> do <команди>

У цій команді після слова with зазначають ім’я змінної типу запис, а в команді пишуть лише назви полів відповідного запису. В межах оператора при зверненні до запису, ім’я якого вказано після зарезервованого слова with можна опускати ім’я запису, а звертатися лише до власних імен полів. Ім’я запису в складеному імені поля транслятор добавить сам.

Оператор with корисно використовувати при звертанні до декількох полів запису або при багатократному зверненні до будь-якого поля.

With grupa do

Begin

Name:=’Ігор‘;

Surname:=’Шевченко‘;

With birthday do

Begin

Year:=1980;

Month:=12;

Day:=28;

End;

End;

 

 


Множини у мові Паскаль

Множина - впорядкована послідовність значень одного базового типу, які не повторюються. Тип множини описується наступним чином: type < ім’я типу > = set of < тип елементів >; Множиною в мові Pascal називається скінченний набір однотипних даних. Об'єкти, з яких складається множина, називаються її елементами. Число, що дорівнює кількості елементів множини, називається її потужністю. Від масиву множина відрізняється відсутністю індексації її елементів, а від запису — тим, що елементи множини є однотипними і не позначаються ідентифікаторами. Найпростішим прикладом множини є неіменована множина-константа, що записується у квадратних дужках як перелік однотипних елементів. Наприклад, [0.1]-це множина, що складається з двох цілочислових елементів, a['a'..'z'] - множина, що містить усі маленькі літери латинського алфавіту -26 символьних елементів. Максимально допустима потужність множини в мові Pascal становить 256, а мінімально допустима -0. Множина нульової потужності, тобто множина, що не містить жодного елемента, називається порожньою і в математиці позначається символом 0. У мові Pascal порожня множина позначається як порожній перелік, тобто символами [ ].Порядок елементів у переліку є несуттєвим і кожен елемент входить до складу множини один раз. Тому, скажімо, множина [1,2.3,1.2,3] еквівалентна множині [1,2,3], а також множинам [1,3,2], [2,3,1], [2,1,3], [3,1,2] і [3,2,1]. Крім констант-множин у Pascal-програмах можна використовувати й змінні множинного типу даних. Множинний тип — це структурований тип даних, допустимими значеннями якого є деякі множини. Отже, сукупність допустимих значень такого типу даних — це є множина множин, яка не записується в оголошенні типу безпосередньо, але може бути визначена з його оголошення за певним правилом. Це правило легко зрозуміти, коли розглянути синтаксис оголошення множинного типу даних: type <ім'я типу> = set of <базовий тип>; Оголошення множинного типу даних вимагає визначення для нього деякого базового типу. Базовим може бути будь-який перелічуваний тип, крім Integer та Longlnt, а значенням множинного типу може стати довільний набір значень базового типу. Таким чином, допустимими значеннями множинного типу даних є всі можливі підмножини множини значень певного базового типу. Запис на мові Pascal A = B Множини А і В збігаються

A <> B- множини А і В не збігаються A >= B- множина В є підмножиною множини А A <= B -множина А є підмножиною множини В

Важливі окремі випадки операцій об'єднання та різниці множин реалізовано у вигляді бібліотечних процедур Include та Exclude, що здійснюють включення елемента до множини та вилучення його із множини відповідно. Змінні множинного типу не можна використовувати як аргументи процедур введення read або readln і процедур виведення write або writeln. Вводити та виводити множини можна лише поелементно.

Відмітимо, що кількість елементів множини у мові Паскаль не може бути більшою, ніж 256. Це пов’язано з тим, що розробники компіляторів мови Паскаль наклали саме таке обмеження на дане поняття. Не зважаючи на це обмеження, основні властивості множин і операції над ними можна зручно використовувати при розв’язуванні багатьох задач. При виконанні операцій над множинами у Паскалі діють наступні операції:

n in – належність елементу множині. Звичайно використовують при перевірці умови належності множині, наприклад, нехай задано множину цифр: cifra: set of char;а в самій програмі на початку цю множину конкретно визначено:cifra:= [‘0’..‘9’]; Тоді перевірку належності введеного символу ch типу char на предмет належності множині цифр можна оформити як:... ch:= readkey; if ch in cifra then write(‘ Належить цифрам ’);...

n «+» об’єднання множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А+В ми отримаємо С={1,2,3,4,5,6,7}.

n «-» різниця множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А–В ми отримаємо С={1,2,3}.

n «*»– переріз множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А*В ми отримаємо С={4,5}.



Поделиться:


Последнее изменение этой страницы: 2016-04-20; просмотров: 198; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.125.2 (0.013 с.)