Я завершила экзамен 90 баллов на 5. Сертификат не заказала. Сейчас пытаюсь найти как его заказать. у меня указано экзамен пройден баллы оценка видно, а чтоб заказать сертификат нигде не видно. |
Модульное программирование
Использование модулей
Чтобы использовать в программе величины, описанные в интерфейсной части модуля, имя модуля следует указать в разделе uses. Можно записать несколько имен модулей через запятую, например:
program example; uses Average, Graph, Crt;
После этого все описания, расположенные в интерфейсных секциях модулей, становятся известными в программе, и ими можно пользоваться точно так же, как и величинами, определенными в ней непосредственно. Поиск модулей выполняется сначала в библиотеке исполняющей системы, затем в текущем каталоге, а после этого — в каталогах, заданных в диалоговом окне Options ( Directories.
Если в программе описана величина с тем же именем, что и в модуле, для обращения к величине из модуля требуется перед ее именем указать через точку имя модуля.
Пример использования модуля из пример 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) или непосредственно в видеопамять. При этом ввод-вывод выполняется быстрее, кроме того, появляется возможность управлять цветом и размещением на экране.
В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.
- выполнять вывод в заданное место экрана заданным цветом символа и фона;
- открывать на экране окна прямоугольной формы и выполнять вывод в пределах этих окон;
- очищать экран, окно, строку и ее часть;
- обрабатывать ввод с клавиатуры;
- управлять встроенным динамиком.
Пример. Программа "Угадай число" ( пример 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, поиска подстрок и символов.