Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Xx: real;

Якщо в декількох модулях і програмах є однойменні об’єкти, то доступним вважається той з об’єктів, який, або оголошений в поточному модулі, або у першому по-порядку в uses- специфікації з право наліво, якщо у поточному модулі чи програмі його оголошення відсутнє.

ТЕМА: СТАНДАРТНІ МОДУЛІ

Модуль – це бібліотека, яка містить константи, опис типів даних, змінні, процедури і функції. Кожний модуль транслюється відмінно і може використовуватися в програмі користувача. Турбо Паскаль включає 10 модулів для реального режиму DOS. Найчастіше модулі, які використовуються, знаходяться в файлі TURBO.TPL. останні модулі містяться в файлах з розширенням.TRU.

Файл TURBO.TPL містить модулі System, Overlay, Dos, CRT і Printer. Останні модулі (Graph, String, WinDos, Turbo3 і Graph3) розміщуються в окремих файлах з розширенням.TRU. Також в Турбо Паскаль є модулі бібліотеки Turbo Vision.

Модуль System – це бібліотека підтримки Турбо Паскаля. Модуль забезпечує виконання програм низького рівня підтримки для всіх вбудованих можливостей, таких як файловий ввід-вивід, обробка рядків, операції з плаваючою комою і роботи з динамічною пам’яттю. Всі модулі і програми автоматично використовують модуль System.

Модулі Dos і WinDos підтримують більшість найбільш часто використовуваних функцій операційної системи і функцій обробки файлів. На відмінну від Dos модуль WinDos використовує особливий тип рядків – рядки з завершуючим нулем – і призначений для написання програм, які взаємодіють з Windows.

Модуль CRT містить підпрограми управління екранним режимом, читання розширених кодів клавіатури, використання кольорів, вікон і звуку. Він дозволяє писати програми, які направляють вивід на екран, безпосередньо в BIOS чи відео пам’ять. Модуль CRT можна використовувати тільки в програмах, призначених для роботи на комп’ютерах IBM PC і сумісних з ними.

Модуль Printer дозволяє перенапрямляти стандартний вивід Турбо Паскаля на принтер, використовуючи оператори Write і Writeln.

Модуль Overlay містить процедури, функції і змінні, які використовує програма управління оверлеями Турбо Паскаль. Він дозволяє зменшити об’єм пам’яті, яка потребується програмам, які виконуються в реальному режимі Dos. Фактично, він дозволяє писати програми, яким треба більше пам'яті, чім реально доступно на машині, оскільки під час роботи програми в пам'яті буде знаходитися тільки її частина.

Модуль Strings дає можливість програмі використовувати рядки з останнім нулем, що разом з розширеним синтаксисом дозволяє писати програми, сумісні з Windows-додатками.

Модуль Graph являє собою бібліотеку швидких і потужних підпрограм універсального призначення для роботи з графікою. Модуль містить апаратно-незалежні графічні майстри обробки, які підтримують найбільш поширені графічні адаптери IBM- сумісних персональних комп’ютерів, такі як CGI, EGA, VGA, Hercules, AT&T 400, MCGA, 3270 PC і IBM-8514. для роботи модуля також потрібен набір файлів автономних драйверів графічного адаптера (BGI-файли), а у випадку використання штрихових шрифтів – файли з цими шрифтами (CHR-файли).

ТЕМА: МОДУЛЬ SYSTEM

ПРОЦЕДУРИ УПРАВЛІННЯ ВИКОНАННЯМ ПРОГРАМ

Процедури, які дозволяють змінювати порядок виконання програми:

Назва Призначення
Break вимушений вихід з циклу for, while чи repeat
Continue Перехід до виконання наступної операції циклів for, while, repeat
Exit негайний вихід з поточної програми чи завершення основної програми
Halt Зупинка виконання програми і передача управління в операційну систему
RunError Зупинка виконання програми і генерація повідомлення про помилку виконання

ФУНКЦІЇ ПЕРЕТВОРЕННЯ ТИПІВ

В Турбо Паскалі реалізовані наступні функції перетворення типів:

Назва Призначення
Chr Повертає символ з заданим порядковим номером
High Повертає верхню границю діапазону значень аргументу
Low Повертає нижню границю діапазону значень аргументу
Ord Повертає порядковий номер значення порядкового типу
Round Округлює значення дійсного типу до найближчого цілого
Trunk відрізує значення дійсного типу до значення типу longint шляхом відкидання дробової частини

ПРОЦЕДУРИ І ФУНКЦІЇ ДЛЯ ЗМІННИХ ПОРЯДКОВОГО ТИПУ

Дані процедури працюють з змінними порядкового типу:

Назва Призначення
Dec зменшує значення змінної на задану величину
Inc збільшує значення змінної на задану величину
Odd перевіряє, чи являється аргумент непарним числом
Pred Повертає попередній елемент з списку значень порядкового типу
Succ Повертає наступний елемент зі списку значень порядкового типу

МАТЕМАТИЧНІ ФУНКЦІЇ

Математичні функції використовуються для виконання математичних операцій. При компіляції в режимі використання співпроцесора чи його емуляції ($N+) такі функції повертають значення типу EXTENDED, інакше – REAL.

Назва Призначення
Abs Повертає модуль аргументу
ArcTan Повертає арктангенс аргументу
Cos Повертає косинус аргументу
Exp Повертає результат піднесення е до степеня аргументу
Frac Повертає дробову частину аргументу
Int Повертає цілу частину аргументу
Ln Повертає натуральний логарифм аргументу
Pi Повертає значення числа пі (3.1415926535897932385)
Sin Повертає синус аргументу
Sqr Повертає результат піднесення аргументу до квадрату
Sqrt Повертає квадратний корінь аргументу

Аргументи всіх функцій, крім Pi, яка не має аргументів, являються значеннями типу REAL.

ПРОЦЕДУРИ ТА ФУНКЦІЇ РОБОТИ З РЯДКАМИ

Дані процедури і функції роботи з рядками (на відмінну від процедур і функцій модуля string) використовують стандартні рядки мови Pascal.

Назва Призначення
Concat виконує конкатенацію декількох рядків
Copy Повертає підрядок з рядка
Delete видаляє підрядок з рядка
Insert Вставляє підрядок у рядок
Length Повертає поточну довжину рядка
Pos Здійснює пошук підрядка в рядку
Srt перетворює числове значення аргументу в його рядкове представлення
Val перетворює рядковий аргумент в його числове представлення

ПРОЦЕДУРИ ТА ФУНКЦІЇ УПРАВЛІННЯ ДИНАМІЧНОЮ ПАМ’ЯТТЮ

Ці процедури та функції використовуються для управління кучею (Heap-областю) – так називають частину вільної пам'яті, яка залишається при виконанні програми.

Назва призначення
Dispose видаляє динамічну змінну
Freemem видаляє динамічну змінну заданого розміру
Getmem створює нову динамічну змінну заданого розміру
MaxAvail повертає розмір найбільшого неперервного вільного блоку кучі, відповідного розміру найбільшої динамічної змінної, яка може бути розміщена в кучі в час виклику функції
Mark фіксує поточний стан кучі
MemAvail повертає кількість вільних байтів кучі, доступних для використання
New створює нову динамічну змінну
Release Повертає кучу в стан, збережений процедурою mark

ФУНКЦІЇ РОБОТИ З ВКАЗІВНИКАМИ І АДРЕСНІ ФУНКЦІЇ

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

Назва призначення
Addr Повертає адресу заданого об’єкта
Assigned Визначає чи рівний вказівник чи процедурна змінна nil
CSeg Повертає поточне значення регістра cs
DSeg Повертає поточне значення регістра ds
Ofs Повертає зміщення заданого об’єкту
Ptr перетворює базову сегментну адресу і зміщення в значення типу pointer
Seg Повертає сегментну адресу заданого об’єкту
SPtr Повертає поточне значення регістра sp
SSeg Повертає поточне значення регістру ss

ПРОЦЕДУРИ ВВОДУ-ВИВОДУ І РОБОТИ З ФАЙЛАМИ І КАТАЛОГАМИ

В модулі System визначені слідуючи процедури і функції управління вводом-виводом і роботи з файлами і каталогами:

Назва Призначення
Append відкриває існуючий файл для доповнення
Assign Зв’язує ім’я зовнішнього файлу з файловою змінною
BlockRead читає один чи декілька записів з нетипізованого файлу
BlockWrite Записує один чи декілька записів в не типізований файл
ChDir встановлює поточний каталог
Close закриває поточний файл
EOF повертає ознаку кінця файлу
EOLn повертає ознаку кінця рядка текстового файлу
Erase Видаляє зовнішній файл
FilePos повертає поточну позицію в типізованому чи не типізованому файлі
FileSize повертає поточний розмір файлу; не використовується для текстових файлів
Flush звільняє буфер вводу-виводу текстового файлу
GetDir повертає поточний каталог вказаного диску
IOResult повертає ціле значення, яке визначає стан останньої виконаної операції вводу-виводу
MkDir Створює підкаталог
Read зчитує одне чи декілька значень з файлу в одну чи декілька змінних відповідно
ReadLn виконує ті ж дії, що і read, і переходить на початок слідую чого рядка текстового файла
Rename перейменування зовнішнього файлу
Reset відкриває існуючий файл для читання
Rewrite створює і одкриває новий файл
RmDir видаляє пустий каталог
Seek встановлює поточну позицію в типізованому чи не типізованому файлі на вказаний елемент; не використовується в текстових файлах
SeekEOF повертає ознаку кінця текстового файлу
SeekEOLn повертає ознаку кінця рядка текстового файлу
SetTextBuf призначає буфер вводу-виводу текстового файлу
Truncate обмежує розмір типізованого чи нетипізованого файлу поточною позицією у файлі
Write записує в текстовий файл одну чи декілька змінних
WriteLn виконує ті ж дії, що і write, а потім добавляє у файл маркер кінця рядка

ІНШІ ПРОЦЕДУРИ І ФУНКЦІЇ

В модулі System визначене також велике число процедур і функцій, які не можна віднести не до однієї з груп, описаних мною раніше.

Назва призначення
Exclude Видаляє елемент з множини
FillChar заповнює задану кількість послідовних байтів змінною вказаного значення (виразом будь-якого порядкового типу)
Hi повертає старший байт аргументу
Include включає елемент в множину
Lo повертає молодший байт аргументу
Move копіює задану кількість послідовних байтів з вихідної області пам'яті в назначену область
ParamCount повертає число параметрів, переданих в програму з командного рядка
ParamStr повертає вказаний параметр командного рядка
Random повертає псевдо-випадкове число
Randomize прив’язує стартове значення функції random до поточного системного часу
SizeOf повертає число байтів, які займає аргумент
Swap Міняє місцями старший і молодший байти двохбайтного аргументу
TypeOf повертає вказівник на таблицю віртуальних методів аргументу типу object
UpCase перетворює рядкову букву в прописну

ЗМІННІ ТА КОНСТАНТИ МОДУЛЯ

Крім процедур і функцій в модулі System описаний ряд раніше оголошених змінних:

Змінна Тип Опис
Input TEXT стандартна файлова змінна, яка визначає прилад вводу. По замовчуванню таким приладом являється клавіатура
Output TEXT стандартна файлова змінна, яка визначає прилад виводу. По замовчуванню таким приладом являється екран
SaveInt00 POINTER змінна для збереження вектора переривання $00
SaveInt02 POINTER Те ж, що $02
SaveInt1B POINTER Те ж, що $1B
SaveInt21 POINTER Те ж, що $21
SaveInt23 POINTER Те ж, що $23
SaveInt24 POINTER Те ж, що $24
SaveInt34 POINTER Те ж, що $34
SaveInt35 POINTER Те ж, що $35
SaveInt36 POINTER Те ж, що $36
SaveInt37 POINTER Те ж, що $37
SaveInt38 POINTER Те ж, що $38
SaveInt39 POINTER Те ж, що $39
SaveInt3A POINTER Те ж, що $3A
SaveInt3B POINTER Те ж, що $3B
SaveInt3C POINTER Те ж, що $3C
SaveInt3D POINTER Те ж, що $3D
SaveInt3E POINTER Те ж, що $3E
SaveInt3F POINTER Те ж, що $3F
SaveInt75 POINTER Те ж, що $75

В момент завантаження середовища Turbo Pascal змінює значення 18 векторів переривання. В змінних SaveIntXX зберігається старі значення цих векторів.

Крім змінних, в модулі System також міститься ряд типізованих констант.

Константа Тип початкове значення Опис
ErrorAddr POINTER NIL адреса помилки виконання
ExitCode INTEGER   код завершення
ExitProc POINTER NIL адреса процедури завершення
FileMode BYTE   Режим доступу до файлу
FileList POINTER NIL вказівник списку вільних блоків кучі
FreeZero POINTER NIL зарезервована
HeapEnd POINTER NIL вказівник на кінець кучі
HeapError POINTER NIL вказівник на функцію обробки помилок кучі
HeapOrg POINTER NIL вказівник на початок кучі
HeapPtr POINTER NIL вказівник кучі
InOutRes INTEGER   буфер результату операції вводу-виводу
OvrCodeList WORD   список оверлейних сегментів
OvrDebugPtr POINTER NIL вказівник відладчика оверлеєв
OvrDosHandle WORD   параметр зв’язку оверлеєв з DOS
OvrEmsHandle WORD $FFFF параметр зв’язку оверлеєв з EMS
OvrHeapEnd WORD   кінець оверлейного буфера
OvrHeapOrg WORD   початок оверлейного буферу
OvrHeapPtr WORD   вказівник оверлейного буферу
OvrHeapSize WORD   початковий розмір оверлейного буферу
OvrLoadList WORD   список завантажених оверлеєв
PrefixSeg WORD   префікс програмного сегменту
RandSeed LONGINT   параметр ініціалізації генератора випадкових чисел
Seg0040 WORD $0040 селектор сегменту $0040
SegA000 WORD $A000 селектор сегменту $A000
SegB000 WORD $B000 селектор сегменту $B000
SegB800 WORD $B800 селектор сегменту $B800
SelectorInc WORD $1000 перетворення селектора
StackLimit WORD   границя стеку
Test8086 BYTE   результат тестування процесора 80х86
Test8087 BYTE   результат тестування процесора 80х87

Змінні OvrCodeList, OvrDebugPtr, OvrDosHandle, OvrEmsHandle, OvrHeapEnd, OvrHeapOrg, OvrHeapPtr, OvrHeapSize і OvrLoadList використовуються модулем Overlay для роботи адміністратора оверлеєв.

Змінні FreeList, HeapEnd, HeapError, HeapOrg, HeapPtr використовується адміністратором кучі для реалізації розподілу динамічної пам'яті.

Змінні ErrorAddr, ExitCode і ExitProc використовується процедурами виходу.

Змінна PrefixSeg являє собою змінну довжиною в слово, яка містить адресу префікса програмного сегменту (PSP), яка створюється при виконанні програми системою DOS.

Змінна InOutRes використовується вбудованими програмами вводу-виводу для збереження значення, яке повертається при наступному виклику функції IOResult.

В RandSeed зберігається початкове значення для вбудованого генератора випадкових чисел. Якщо присвоювати цій змінній певне значення, то функція Random буде генерувати задану послідовність випадкових чисел.

Змінна FileMode дозволяє змінити режим доступу до відкритих типізованих чи нетипізованих файлів (0 – тільки читання, 1 – тільки запис, 2 – читання і запис).

Змінна StackLimit містить мінімальне допустиме зміщення вказівника стеку.

В змінній Test8086 вноситься значення, яке визначає тип процесора (0 – процесор 8086, 1 – 80286, 2 – 80386 і вище).

В змінну Test8087 записується результат тестування співпроцесора, якщо він використовується в програмі (0 – немає співпроцесора, 1 – співпроцесор 8087, 2 – співпроцесор 80287, 3 – співпроцесор 80387 і вище).

ТЕМА: МОДУЛЬ CRT

Модуль Crt містить ряд програм, які представляють можливість програмам, які працюють під DOS, ефективно управляти такими характеристиками персонального комп’ютера, як режим екрану, розширені коди клавіатури, кольору, вікна і звукові сигнали. Модуль Crt може використовуватися тільки в програмах, які працюють на персональних комп’ютерах IBM PC чи повністю сумісних з ними.

Одним з основних переваг використання модуля Crt являється підвищення швидкості і гнучкості при виконані операцій роботи з екраном. Програми, які не працюють з модулем Crt, виводять на екран інформацію за допомогою засобів операційної системи DOS, що зв’язано з додатковими операціями, які сповільнюють вивід. При використанні модуля Crt інформація, що виводиться, посилається базовій системі вводу-виводу (BIOS) чи, для іще більшого прискорення операцій, безпосередньо у відеопам’ять.

Щоб використовувати модуль Crt, його ім'я потрібно вказати в операторі USES вашої програми:




Дата добавления: 2015-09-11; просмотров: 86 | Поможем написать вашу работу | Нарушение авторских прав

Звичайно базовий тип множини в цьому випадку повинен бути допустимим для процедур вводу-виводу. | Close(f2); | Truncate(f); | Для доповнення текстового файлу використовують режим до запису. | Квартира з номером 34 у 13 будинку з номером 12. | Release(p); | Формування. | Readln(a); | New(q); | USES CRT; |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав