Опубликован: 03.09.2010 | Уровень: для всех | Доступ: платный
Лекция 4:

Модульное программирование

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

Использование модулей

Чтобы использовать в программе величины, описанные в интерфейсной части модуля, имя модуля следует указать в разделе uses. Можно записать несколько имен модулей через запятую, например:

program example;
uses Average, Graph, Crt;

После этого все описания, расположенные в интерфейсных секциях модулей, становятся известными в программе, и ими можно пользоваться точно так же, как и величинами, определенными в ней непосредственно. Поиск модулей выполняется сначала в библиотеке исполняющей системы, затем в текущем каталоге, а после этого — в каталогах, заданных в диалоговом окне Options ( Directories.

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

ПРИМЕЧАНИЕ К любой программе автоматически подключается стандартный модуль System, который содержит библиотеку исполняющей системы Паскаля.

Пример использования модуля из пример 4.6 приведен в пример 4.7. Программа находит разность средних арифметических значений двух вещественных массивов.

program dif_average;
uses Average;
var a, b : mas;
    i : integer;
    dif, av_a, av_b : real;
begin
    for i := 1 to n do read(a[i]);
    for i := 1 to n do read(b[i]);
    average(a, av_a);
    average(b, av_b);
    dif := av_a – av_b;
    writeln('Разность значений ', dif:6:2);
end.
Листинг 4.7. Разность средних арифметических значений массивов (модуль)

Стандартные модули Паскаля

В Паскале имеется ряд стандартных модулей, в которых описано большое количество встроенных констант, типов, переменных и подпрограмм. Каждый модуль содержит связанные между собой ресурсы. Ниже приводится краткая характеристика модулей Паскаля.

Модуль System

Модуль System содержит базовые средства языка, которые поддерживают ввод-вывод, работу со строками, операции с плавающей точкой и динамическое распределение памяти. Этот модуль автоматически используется во всех программах, его не требуется указывать в операторе uses. Он содержит все стандартные и встроенные процедуры, функции, константы и переменные Паскаля.

Модуль Crt

Модуль Crt предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять. При этом ввод-вывод выполняется быстрее, кроме того, появляется возможность управлять цветом и размещением на экране.

В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.

Модуль Crt позволяет:

  • выполнять вывод в заданное место экрана заданным цветом символа и фона;
  • открывать на экране окна прямоугольной формы и выполнять вывод в пределах этих окон;
  • очищать экран, окно, строку и ее часть;
  • обрабатывать ввод с клавиатуры;
  • управлять встроенным динамиком.

Пример. Программа "Угадай число" ( пример 4.8).

program luck;
uses crt;
const max = 10;
var i, k, n : integer;
begin
    clrscr;                                        { очистить экран }
    randomize;
    i := random(max);                              { загадать число }
    window(20, 5, 60, 20);                        { определить окно }
    TextBackGround(Blue);                       { цвет фона – синий }
    clrscr;                                     { залить окно фоном }
    TextColor(LightGray);                   { цвет символов – серый }
    k := –1;                                      { счетчик попыток }
    GotoXY(12, 5); writeln(' Введите число : ');
    repeat                                      { цикл ввода ответа }
        GotoXY(20, 9);                          { установить курсор }
        readln(n);                                   { ввести число }
        inc(k);
    until i = n;
    window(20, 22, 60, 24);            { определить окно результата }
    TextAttr := 2 shl 4 + 14;      { желтые символы за зеленом фоне }
    clrscr;                                     { залить окно фоном }
    GotoXY(6, 2);                               { установить курсор }
    writeln(' Коэффициент невезучести : ', k / max :5:1);
    readkey;                          { ждать нажатия любой клавиши }
    TextAttr := 15;                  { белые символы на черном фоне }
    clrscr;                             { очистить после себя экран }
end.
Листинг 4.8. Пример использования модуля Crt

Генератор случайных чисел формирует число, находящееся в диапазоне от нуля до max – 1. Пользователь вводит числа в одну и ту же позицию на экране до тех пор, пока не угадает это число. При угадывании с первого раза коэффициент невезучести равен нулю.

Модули Dos и WinDos

Модули Dos и WinDos содержат подпрограммы, реализующие возможности операционной системы MS-DOS, такие как переименование, поиск и удаление файлов, получение и установка системного времени, выполнение программных прерываний и т. д. Эти подпрограммы в стандартном Паскале не определены. Для поддержки подпрограмм в модулях определены константы и типы данных.

Модуль Dos использует строки Паскаля, а WinDos — строки с завершающим нулем.

Модуль Graph

Модуль обеспечивает работу с экраном в графическом режиме.

Экран в графическом режиме представляется в виде совокупности точек — пикселов (pixel, сокращение от picture element ). Цвет каждого пиксела можно задавать отдельно. Начало координат находится в левом верхнем углу экрана и имеет координаты (0, 0). Количество точек по горизонтали и вертикали ( разрешение экрана ) и количество доступных цветов зависят от графического режима. Графический режим устанавливается с помощью служебной программы — графического драйвера.

В состав оболочки входят несколько драйверов, каждый из которых может работать в нескольких режимах. Режим устанавливается при инициализации графики либо автоматически, либо программистом. Самый "мощный" режим, поддерживаемый модулем Graph, — 640 480 точек, 16 цветов. Модуль Graph обеспечивает:

  • вывод линий и геометрических фигур заданным цветом и стилем;
  • закрашивание областей заданным цветом и шаблоном;
  • вывод текста различным шрифтом, заданного размера и направления;
  • определение окон и отсечение по их границе;
  • использование графических спрайтов и работу с графическими страницами.

Модуль Strings

Модуль Strings предназначен для работы со строками, заканчивающимися нуль-символом, то есть символом с кодом 0 (их часто называют ASCIIZ-строки). Этот вид строк введен в Паскаль специально для работы с длинными строками и программирования под Windows. Модуль Strings содержит функции копирования, сравнения, слияния строк, преобразования их в строки типа string, поиска подстрок и символов.

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
София Шишова
София Шишова

Я завершила экзамен 90 баллов на 5. Сертификат не заказала. Сейчас пытаюсь найти как его заказать. у меня указано экзамен пройден баллы оценка видно, а чтоб заказать сертификат нигде не видно.

Игорь Тарасов
Игорь Тарасов
Россия, г. Астрахань
Венера Имамова
Венера Имамова
Россия