Описание процедур и функций модулей System, Dos, Crt
Алгоритмические языки и программирование
Работа с пользовательскими модулями
Методические указания
к выполнению лабораторной работы №7
для студентов очной формы обучения
специальности 230201 – "Информационные системы
и технологии"
Брянск 2007
УДК 004.43
Алгоритмические языки и программирование. Работа с пользовательскими модулями: методические указания к выполнению лабораторной работы №7 для студентов очной формы обучения специальности 230201 – "Информационные системы и технологии". – Брянск: БГТУ, 2007. - 12 с.
Разработал: Ю.А. Леонов, асс.
С.М. Рощин, к.т.н.
Научный редактор Ю.М. Казаков
Редактор издательства Л.И. Афонина
Компьютерный набор Ю.А. Леонов
Рекомендовано кафедрой «Компьютерные технологии и системы» БГТУ (протокол № от )
Темплан 2007г., п. 461
Подписано в печать Формат 60х84 1/16. Бумага офсетная.
Офсетная печать.
Усл. печ. л. 0,7 Уч. – изд. л. 0,7 Тираж 50 экз. Заказ Бесплатно
|
Издательство брянского государственного технического университета, 241035, Брянск, бульвар 50-летия Октября, 7, БГТУ. 58-82-49
Лаборатория оперативной полиграфии БГТУ, ул. Харьковская, 9
ЦЕЛЬ РАБОТЫ
Целью работы является ознакомление с принципами работы модулей, общей структурой модуля и приобретение практических навыков при разработке собственного модуля.
Продолжительность работы – 4ч.
Теоретическая часть
Модули, структура модуля
Модули предназначены для поддержки принципов модульного программирования при разработке программ, основным из которых является принцип скрытия информации (information hiding). Согласно этому принципу взаимовлияние логически независимых фрагментов программы должно быть сведено к минимуму. Принцип скрытия информации, поддерживаемый модулями, позволяет создавать надежно работающие и легко модифицируемые программы. В языке Pascal модули используются преимущественно для создания библиотек процедур, функций и объектов, которые затем могут использоваться в программах, разрабатываемых пользователем.
При разработке собственных модулей необходимо помнить некоторые особенности:
· не допускается одновременное использование модулей с одинаковыми именами;
· идентификатор модуля, указанный в заголовке (unit), должен совпадать с именами файлов, содержащих исходный (.PAS) и объектный (.TPU, .TPP, .TPW) код;
· если идентификатор модуля длиннее восьми символов, то он должен совпадать с именами файлов по первым восьми символам.
Общая структура модуля
Unit Идентификатор модуля;
{Интерфейсный раздел}
Interface
{Список импорта интерфейсного раздела}
Uses
{Список экспорта интерфейсного раздела}
Const
Type
Var
Procedure
Function
{Раздел реализации}
Implementation
{Список импорта раздела реализации}
Uses
{Подразделы внутренних для модуля описаний}
Label
Const
Type
Var
Procedure
Function
{Раздел инициализации}
Begin
End.
{Интерфейсный раздел}
В этом разделе описывается взаимодействие данного модуля с другими, а также с главной программой. Другими словами – взаимодействие модуля с «внешним миром».
{Список импорта интерфейсного раздела}
В этом списке перечисляются идентификаторы модулей, информация интерфейсных частей которых должна быть доступна в данном модуле. Здесь целесообразно описывать идентификаторы только тех модулей, информация из которых используется в описаниях интерфейсного раздела.
{Список экспорта интерфейсного раздела}
Состоит из подраздела описания констант, типов, переменных, процедур и функций, которые будут «видны» во всех других модулях и программах. Для процедур и функций здесь описываются только заголовки, но с обязательным полным описанием формальных параметров.
{Раздел реализации}
В этом разделе указывается реализационная часть описаний данного модуля, которая недоступна для других модулей и программ. Другими словами – «внутренняя кухня» модуля.
{Список импорта раздела реализации}
В этом списке перечисляются идентификаторы модулей, информация интерфейсных частей которых должна быть доступна в данном модуле.
{Подразделы внутренних для модуля описаний}
В этих подразделах описываются метки, константы, типы, переменные, процедуры и функции, которые описывают алгоритмические действия, выполняемые данным модулем. Эти описания недоступны ни одному другому модулю.
{Раздел инициализации}
В этом разделе указываются операторы начальных установок, необходимых для запуска корректной работы модуля. Если операторы инициализации не требуются, то ключевое слово begin может быть опущено.
Описание процедур и функций стандартных модулей
System, DOS, Crt
System – основной модуль, содержит описание математических функций, функций преобразования, процедуры и функции обработки строк и т.п. Ресурсы данного модуля доступны любой программе без специального указания.
Dos – модуль организации взаимодействия с операционной системой MS DOS, содержит описание процедур и функций, обеспечивающих обращение к функциям операционной системы.
Crt – модуль управления экраном в текстовом режиме, содержит описание переменных, констант, процедур и функций, обеспечивающих управление экраном, клавиатурой и динамиком.
Ниже рассмотрены некоторые процедуры и функции модулей System, Dos, Crt (табл. 1). В таблице не приводились процедуры и функции, которые были разобраны в темах «Работа с файлами», «Работа со строками», а также процедуры и функции, касающиеся работы с динамической памятью.
Таблица 1
Описание процедур и функций модулей System, Dos, Crt
Дескрипторы процедур и функций
| Описание
| SYSTEM
| function Abs(x): тип результата;
| Возвращает абсолютное значение аргумента; параметр x – выражение целого или вещественного типа; тип результата соответствует типу параметра
| Продолжение табл. 1
Дескрипторы процедур и функций
| Описание
| function Arctan(x: real): real;
| Возвращает арктангенс аргумента
| procedure Break;
| Завершает выполнение циклической конструкции
| procedure Continue;
| Переход на следующую итерацию в циклической конструкции
| function Cos(x: real): real;
| Возвращает косинус аргумента, задающего угол в радианах
| procedure Dec(var x [; n: longint]);
| Уменьшает значение переменной; параметр x представляет собой переменную перечисляемого типа, а n – целочисленное выражение, задающее величину, на которую уменьшается x
| procedure Exit;
| Выход из текущего блока, например, процедуры или функции
| function Frac(x: real): real;
| Возвращает дробную часть аргумента
| procedure Halt[(ExtCode: word)];
| Выход из программы; параметр ExtCode представляет собой необязательное выражение, которое задает код завершения программы
| procedure Inc(var x [; n: longint]);
| Увеличивает значение переменной; данная процедура аналогична процедуре Dec
| function Int(x: real): real;
| Возвращает целую часть аргумента
| function IOResult: integer;
| Возвращает состояние последней операции ввода-вывода; проверка ввода-вывода должна быть выключена директивой компилятора {$I-}
| function Ln(x: real): real;
| Возвращает натуральный логарифм аргумента
| function Odd(x: longint): boolean;
| Проверяет, является ли аргумент нечетным числом, если нечетное, то функция возвращает значение true
| function Ord(x): longint;
| Возвращает порядковый номер для значения порядкового типа
| function ParamCount: word;
| Возвращает число параметров, переданных в командной строке
| function ParamStr(index): string;
| Возвращает заданный параметр командной строки по его порядковому номеру
| function Pi: real;
| Возвращает значение математической константы p
| function Random[(Range: word)];
| Возвращает случайное число в диапазоне от 0 до 1, в противном случае в диапазоне от 0 до Range-1
| procedure Randomize;
| Инициализирует генератор случайных чисел
| function Round(x: real): longint;
| Округляет значение вещественного типа до значения целого типа данных
| function Sin(x: real): real;
| Возвращает синус аргумента
|
Продолжение табл. 1
Дескрипторы процедур и функций
| Описание
| function Sqr(x): тип данных;
| Возвращает квадрат аргумента
| function Sqrt(x: real): real;
| Возвращает квадратный корень аргумента
| function Trunc(x: real): longint;
| Возвращает округленное значение вещественного типа до значения целочисленного
| function UpCase(ch: char): char;
| Преобразует символ в верхний регистр
| DOS
| function DiskFree(Disk: byte): longint;
| Возвращает число свободных байтов на заданном диске
| function DiskSize(Disk: byte): longint;
| Возвращает число байтов на заданном диске
| procedure Exec(Path, s: string);
| Выполняет указанную программу, передавая заданную строку параметров (командную строку); Path – имя программы, s – строка параметров
| procedure GetDate(var Year, Month, Day, DayofWeek: word);
| Возвращает текущую дату, установленную в операционной системе
| procedure GetFAttr(var f; var Attr: word);
| Возвращает атрибуты файла; проверка атрибутов Attr выполняется путем сравнения их с масками, заданными в виде констант в модуле Dos
| procedure GetFTime(var f; var Time: longint);
| Возвращает дату и время последней записи файла
| procedure GetTime(var hour, min, sec, ssec: word);
| Возвращает установленное в операционной системе текущее время
| procedure PackTime(var DT: DateTime; var Time: longint);
| Преобразует запись DateTime в четырехбайтовое значение
| procedure SetFAttr(var f; Attr: word);
| Устанавливает атрибуты файла
| procedure UnpackTime(Time: longint; var DT: DateTime);
| Преобразует четырехбайтовое значение в распакованную запись DateTime
| CRT
| procedure ClrEol;
| Стирает все символы, начиная от позиции курсора до конца строки
| procedure ClrScr;
| Очищает экран цветом определенным TextBackGround и помещает курсор в верхний левый угол экрана.
| procedure Delay(MSec: word);
| Выполняет задержку на заданное число миллисекунд
| Окончание табл. 1
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|