ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.07.2024
Просмотров: 19
Скачиваний: 0
Тема 9. «Модули в языке Паскаль»
1.Внутренние и внешние подпрограммы
2.Модуль в языке Паскаль
3.Стандартные модули в языке Паскаль
1.Внутренние и внешние подпрограммы
Вклассическом стандарте языка Pascal были предусмотрены только внутренние подпрограммы, которые должны были включаться в текст программы непосредственно. Это иногда бывает не совсем удобно, поскольку при решении больших задач программа становится слишком массивной и труднообозримой. Кроме того, отсутствие в языке внешних процедур не позволяет создавать профессиональную библиотеку подпрограмм.
ВTurbo-Pascal, начиная с версии 4.0, был учтен этот недостаток, и появилась
возможность при выполнении программы подключать к ней внешние подпрограммы и файлы. Это достигается двумя способами - применение так называемых директив компилятора
- применение новых объектов программирования в Turbo-Pascal - модулей.
Для того, чтобы включить в программу текст, хранимый на диске в некотором файле,
необходимо в нужном месте программы поставить директиву компилятора {$I <имя файла>}
при этом имя файла должно содержать путь к нему, например директива
{$I c:\pascal\user\modul1.pas} |
1 |
Тема 9. «Модули в языке Паскаль»
2. Модуль в языке Паскаль
Модуль является более сильным средством организации внешних подпрограмм в языке Turbo-Pascal, наличие которого позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, пользоваться возможностями стандартных модулей и т.д.
Конструкция языка программирования Turbo-Pascal модуль состоит из нескольких частей:
1) Заголовок модуля.
Заголовок модуля состоит из служебного слова Unit и имени программы. Сам модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas.
2) Интерфейс модуля.
Через интерфейс модуля осуществляется взаимодействие основной программы с модулем (или модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции, которые могут быть использованы основной программой (модулем) при вызове этого модуля. Интерфейс начинается со служебного слова interface.
Далее после служебного слова uses указываются имена используемых здесь модулей, затем следует раздел описаний констант, типов, переменных и т.д.
2
Тема 9. «Модули в языке Паскаль»
3) Исполнительная часть модуля.
Исполнительная часть модуля включает все его подпрограммы. Она может также включать локальные метки, константы, типы, переменные и т.д. Исполнительная часть модуля начинается служебным словом implementation, далее следуют имена модулей, раздел описаний и описания используемых подпрограмм.
4) Секция инициализации модуля.
Секция инициализации модуля применяется для установления его связи с какими-либо файлами и для инициализации переменных. Эта секция начинается словом Begin, после которого идут исполняемые операторы и заканчивается словом End. (с точкой). Если инициализация модуля не нужна, то в секции помещается лишь слово End. (с точкой).
Первые три раздела модуля являются обязательными, последовательность разделов так же является обязательной.
3
Тема 9. «Модули в языке Паскаль»
Таким образом, общая структура модуля имеет вид:
Unit <имя модуля>;
Interface;
<описание объектов используемых основной программой>
Implementation;
<описание локальных объектов используемых модулем>
Begin
<операторы инициализации модуля>
End.
4
Тема 9. «Модули в языке Паскаль»
Unit Calendar;
Interface
Type
Days = (Mon,Tue,Wed,Thu,Fri,Sat,San);
Months = (Jan,Feb,Mar,Apr,May,June,
July,Aug,Sept,Oct,Nov,Decem);
WorkDays = Mon .. Fri;
Summer = June .. Aug;
Autumn = Sept .. Nov;
Spring = Mar .. May;
Winter = Decem .. Feb;
DayNo = 1 .. 31;
YearNo = 1900 .. 2000;
Date = Record
Day : DayNo;
Month : Months;
Year : YearNo
End;
Implementation
End.
Например
Program example(input,output); Uses Calendar;
.............................
5
Тема 9. «Модули в языке Паскаль»
3. Стандартные модули в языке Паскаль
В языке Turbo-Pascal в настоящее время имеется большое количество стандартных подпрограмм и данных, объединенных в несколько стандартных модулей. Они позволяют упростить процесс написания программ, более эффективно использовать возможности компьютеров IBM PC и операционной системы MS-DOS. В библиотеке имеются следующие стандартные модули:
System - основная библиотека
Strings - работа со строками, |
|
Crt - работа с консолью, |
|
Graph - графическая библиотека, |
|
Dos - использование возможностей Dos, |
|
WinDos - использование возможностей Dos и строк |
|
Overlay - организация оверлейных структур, |
|
Printer - работа с принтером, |
|
Turbo3 - связь с программами Turbo-Pascal 3.0, |
|
Graph3 - связь с графикой Turbo-Pascal 3.0. |
6 |
Тема 9. «Модули в языке Паскаль»
МОДУЛЬ SYSTEM
Модуль System является фактически основной библиотекой среды TurboPascal. В него входят все процедуры и функции стандарта Pascal и
дополнительные подпрограммы позволяющие выполнять разнообразные действия общего назначения (управление вводом/выводом, работа со статической и динамической памятью и т.д.). Модуль System
автоматически подключается к любой программе и его можно не упоминать в разделе описания модулей Uses. Все функции и процедуры этого модуля можно просмотреть по встроенной помощи (<F1> или
<Ctrl>+<F1>).
7
Тема 9. «Модули в языке Паскаль»
МОДУЛЬ CRT
Модуль Crt содержит константы, переменные и подпрограммы для работы с консолью. С их помощью можно работать как с целым экраном так и отдельными создаваемыми окнами, управлять их размерами, цветом фона и символов.
Все цвета пронумерованы, имеют свои коды от 0 до 15. Код 128 осуществляет мерцание символа.
Цвета 0 .. 7 можно использовать как для фона так и для символа, остальные коды 8 ..15 применяются только для символов. Назначение цветов их кода можно всегда посмотреть по контекстной помощи - <Ctrl>+<F1>. Там же
можно и посмотреть описание и способ применения основных процедур этого модуля.
8
Тема 9. «Модули в языке Паскаль»
Значение номера цвета можно определить по следующей таблице:
Номер |
Цвет |
Номер |
Цвет |
|
|
|
|
0 |
Черный |
9 |
Светло-синий |
|
|
|
|
1 |
Синий |
10 |
Светло-зеленый |
|
|
|
|
2 |
Зеленый |
11 |
Светло-бирюзовый |
|
|
|
|
3 |
Бирюзовый |
12 |
Светло-красный |
|
|
|
|
4 |
Красный |
13 |
Светло-малиновый |
|
|
|
|
5 |
Малиновый |
14 |
Желтый |
|
|
|
|
6 |
Коричневый |
15 |
Белый |
|
|
|
|
7 |
Светло-серый |
128 |
Мерцание |
|
|
|
|
8 |
Темно-серый |
|
|
|
|
|
|
9
Тема 9. «Модули в языке Паскаль»
Рассмотрим только наиболее часто встречающиеся процедуры и функции модуля Crt:
HighVideo - устанавливает высокую яркость символов, |
|
LowVideo - устанавливает низкую яркость символов, |
|
NormVideo - устанавливает нормальную яркость символов, |
|
TextBackground(<код цвета>) - устанавливает цвет фона, |
|
TextColor(<код цвета>) - устанавливает цвет символов, |
|
ClrScr - очищает экран, |
|
GotoXY(<x,y>) - помещает курсор в позицию экрана x,y, |
|
KeyPressed - проверяет нажатие любой клавиши, |
|
Sound(<Hz>) - включает звук с частотой Hz, |
|
NoSound - отключает звук, |
|
Window(x1,y1,x2,y2) - задает размеры окна и помещает курсор в |
|
левый верхний угол. |
10 |