ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.09.2024

Просмотров: 42

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Перемикання в графічний режим і робота в ньому реалізовані в Турбо Паскалі у вигляді набору процедур, що перебувають у спеціальному модулі graph.tpu. Цей модуль повинен явно підключатися до програми за допомогою оператора використання uses. У модуль graph входить приблизно 50 процедур.

Отже, програма при перемиканні в графічний режим повинна визначити тип відеоадаптера. Це можна зробити, явно вказавши в програмі тип відеоадаптера або давши програмі можливість самостійно визначити значення відповідних параметрів. Для цього необхідно ввести змінну цілого типу, нехай її ідентифікатор буде gd. При явному визначенні відеоадаптера в програмі повинен бути присутнім оператор присвоювання

gd := value;

де value - це або деяке число, або убудована константа (убудовані константи не треба

описувати спеціально, тому що їхні описи втримуються в модулях).

При автоматичному розпізнаванні відеоадаптера в правій частині оператора присвоювання використається константа Detect (або нульове значення).

Друге, що повинна зробити програма, - задати певний графічний режим. Для цього варто ввести ще одну змінну цілого типу, назвемо її gm, і привласнити їй значення.

Перемикання в графічний режим роботи дисплея виконується викликом процедури ІnіtGraph з модуля graph:

ІnіtGraph(gd, gm. 'c:\tp\bgі');

Перший параметр у цій процедурі задає тип відеоадаптера, другий визначає режим, а третій являє собою рядок із вказівкою розташування драйвера на диску. Порожній рядок означає, що графічний драйвер перебуває в тім же каталозі, що й програма. Процедура ІnіtGraph переводить систему в графічний режим, а потім повертає керування викликаючій програмі. Завершення роботи в графічному режимі виробляється за допомогою процедури CloseGraph, що вивантажує драйвер з пам'яті й відновлює попередній відеорежим.

За допомогою процедур RestoreCrtMode і SetGraphMode можна перемикатися між текстовим і графічним режимами, не закриваючи графічний режим.

Перемикання в графічний режим звичайно супроводжується обробкою можливих помилок ініціалізації. Ці помилки можуть бути пов'язані з відсутністю графічного драйвера або неправильних значень параметрів. При наявності помилки процедура ІnіtGraph виробляє відповідний, відмінний від нуля, результат - код помилки. Цей код можна одержати за допомогою функції GraphResuіt.


Щоб зображення не залежало від дозволу, потрібно использувать функції GetMax і GetMax, що повертають найбільший номер пиксела по горизонталі й по вертикалі відповідно. Графічні координати правого нижнього кута екрана рівні (GetMax, GetMax). Процедура SetBkColor установлює колір тла, а процедура SetColor - колір графічного об'єкта. Процедура Lіne(xl, yl, х2. в2) виводить відрізок прямої, що задає початковою крапкою (x1, y1) і кінцевою крапкою (х2,y2). Окружність виводиться процедурою Cіrcle(x, в, r),параметрами якої є графічні координати центра х и в, а також радіус r (у пикселах).

Прямокутник будується процедурою Rectangle(xl. yl, х2, в2), перші два параметри якої задають графічні координати верхнього лівого кута прямокутника, а останні два параметри - координати нижнього правого кута. Процедура Bar(xl, yl, х2, в2) також призначена для висновку прямокутника й відрізняється від процедури Rectangle тим, що в цьому випадку внутрішня частина прямокутника зафарбовується заздалегідь певним чином. У випадку процедури Rectangle для заповнення внутрішньої області фігури доводиться використати додатковий виклик процедури модуля Graph. Колір заповнення може бути заданий за допомогою процедури SetColor(Color). Аргументом цієї процедури є константа або змінна типу Word, що є кодом кольору. Цей код може приймати значення з інтервалу 0. .15. У Турбо Паскале є 12 стилів заповнення, а вибрати кожної з них можна за допомогою процедури SetFіll Style (Style, Color). Перший параметр цієї процедури задає стиль заповнення, а другий - колір. У числі припустимих стилів зафарбування - суцільна, штрихова й т.д.


4 Алгоритм розробки програми

1. Створити два файли: основний файл з програмою та файл модуля.

2. В основному файлі зв’язати файлову змінну з файлом даних та створити меню

відповідно до заданих пунктів.

3. В файлі модуля створити тип даних, який описує структуру запису та описати

необхідні змінні (f – файлова змінна, z – змінна типу запису і т.д.)

4. В файлі модуля створити процедури та функції, які реалізують задані пункти меню.

4.1. Створити процедуру створення файла записів та занесення в нього даних:

- створити та відкрити файл для запису за допомогою процедури

rewrite (f, ‘robota.dat’);

- ввести потрібні данні з клавіатури та записати їх у файл за допомогою

процедури read (f, z);

- закрити файл процедурою close (f).

4.2. Створити процедуру виведення даних на екран:

- відкрити файл для читання – reset (f);

- зчитати дані з файлу – read (f, z);

- вивести дані на екран;

- закрити файл.

4.3. Створити процедуру додавання інформації у файл:

- відкрити файл для читання та запису – reset (f);

- встановити вказівник файла за останнім його компонентом процедурою seek (f,filesize(f));

- записати додаткові дані аналогічно процедурі введення даних;

- закрити файл.

4.4. Створити процедуру редагування запису:

- відкрити файл, що потрібно відредагувати;

- ввести номер запису для редагування;

- зчитати дані з файлу та порівняти його номер із введеним;

- встановити вказівник файла на заданий елемент seek (f,n-1);

- відредагувати поля запису та записати їх у файл;

- закрити файл.

4.5 Створити процедуру видалення.

  • Описати допоміжний файл.

  • Відкрити основний файл для читання.

  • Ввести номер запису, який потрібно видалити.

  • Порівняти його з номерами записів, якщо номер не збігається, то перекопіювати в допоміжний файл, в іншому випадку - проігнорувати.

  • Закрити файли.

  • Видалити існуючий основний файл процедурою erase(f);

  • Перейменувати допоміжний файл у файл з назвою основного.


5.У файлі модуля Poshyk реалізувати роботу процедур вказаних у власному завданні.

5.1 Створити процедуру, що виводе список випускників, працевлаштованих на підприємстві Х, та їх кількість;

  • Відкрити файл для читання.

  • Ввести назву підприємства, щоб дізнатися кількість праве лаштованих випускників.

  • Закрити файл.

5.2 Створити процедуру, що виводе список підприємств у порядку зростання кількості працевлаштованих на них випускників;

  • Відкрити файл для читання.

  • Обрати вивід даних.

  • Закрити файл.

5.3 Створити процедуру виводу спискy не працевлаштованих випускників із зазначенням місця роботи, що пропонувалося, і середньому балу диплома.

  • Відкрити файл для читання.

  • Обрати вивід даних.

  • Закрити файл

6.В файлі модуля graphika реалізувати процедури виведення графічної заставки.

6.1Організувати вивід на екран вступної заставки.

  • Ініціалізувати графічний режим.

  • Продемонструвати заставку.

- Повернутися в текстовий режим.

6.2 Вивід на екран завершальної заставки.

- Ініціалізувати графічний режим.

- Продемонструвати заставку-вихід.

- Закрити графічний режим.

7.Відкомпілювати створені модулі та використати їх в основній програмі.


5. Практична реалізація

    1. 5.1 Опис структури даних та вимоги до них

type vupysknik=record– тип запису, який містить відомості відомості про працевлаштування випускників по підприємствам.;

fam:string; - прізвище випускника;

nomer_d:1..999999;- номер диплому;

ser_bal:real; - середній бал випускника;

pidpr:string; - місце роботи, що пропонується (підприємство).

ozn:string; - ознака прийняття на роботу на даному підприємстві (ТАК/НІ).

f,f1:file of vupysknik;- файлові змінні, які пов’язані з файлами, що містять дані про випускників;

i: integer;- лічильники;

c:char; - змінна для procedure oznaka;

n:integer; – номер шуканого запису.

n_pidpr: string;– назва шуканого підприємства.

z:vupysknik;- змінна, що використовується для зчитування та запису даних з(в) файлу записів;

    1. 5.2 Опис стандартних процедур і функцій.

Процедури для роботи з виведенням тексту:

Clrscr; - процедура очищення екрану.

GotoXY(<координата по Х>;<координата по Y>); - процедура переміщення курсору на вказану позицію.

Write(Т); – процедура виведення тексту на екран, де Т може бути рядком або змінною.

Read(змінна); - процедура зчитування введених даних.

Writeln(T); - процедура виведення тексту з перенесенням вказівника на наступний рядок.

Readln(змінна); - зчитування даних з перенесенням вказівника на наступний рядок.

Textcolor(color); - процедура встановлення кольору тексту.

Textbackground(color); - процедура встановлення кольору фону за текстом.

Прoцедури та функції для роботи з файлами:

Assign (файлова змінна, рядок)- процедура, що встановлює зв’язок між файловою змінною та фізичним файлом.

Reset (файлова змінна)- процедура відкриття існуючого файлу.

Rewrite (файлова змінна)- процедура відкриття нового файлу. Якщо файл уже існує, то при спрацьовуванні процедури Rewrite файл попередньо вилучається.

Write (файлова змінна, список змінних)- процедура виконання запису даних в файл.

Read (файлова змінна, список змінних)- процедура, що виконує зчитування даних з файлу.

Close (файлова змінна)- процедура закриття файлу.

Rename (файлова змінна, рядок)- процедура перейменування файлу.