Программирование на языке Паскаль Тема: Модули
План лекции 1. 2. 3. 4. 5. Общее понятие модуля Стандартные модули Модули пользователя Компиляция модулей Примеры создания модуля пользователя
Компиляция и компоновка программы Исходный код (текст) программы Исполняемый код (машинный код) pas-файл exe-файл Compile Destination Disk (Memory – по умолчанию)
Исходный код исполняемый код • Компиляция компилятор (Compiler) объектный код программы • Компоновка компоновщик (Linker) объектный код программы + объектный код стандартных процедур и функций исполняемый код
<Из Оксфордского словаря английского языка> Модуль — любой из набора элементов, которые производятся отдельно и могут быть соединены вместе для сборки здания или мебели. Модуль (Unit) или Блок Н. Вирт для языка “ Modul-2“
Исходный текст модуля • • Заголовок модуля; Интерфейсный раздел; Раздел реализации; Раздел инициализации
Структура модуля Unit имя_модуля; Interfase Uses список_используемых модулей; { открытые объявления }; { заголовки открытых процедур и функций }; Implementation Uses список используемых модулей; { собственные объявления }; { тела доступных и скрытых процедур и функций } ; [ Begin ] ……… End.
Unit имя_модуля; { заголовок модуля } Interfase Uses Label Const Type Var Procedure Function { начало интерфейсной части } { список используемых модулей } { объявление общедоступных меток } { объявление общедоступных констант } { объявление общедоступных типов } { объявление общедоступных переменных } { заголовки общедоступных процедур } { заголовки общедоступных функций } Implementation Uses Label Const Type Var Procedure процедур} Function функций } { начало исполняемой части } { список используемых модулей } { объявление скрытых меток } { объявление скрытых констант } { объявление скрытых типов } { объявление скрытых переменных } {заголовки и тела общедоступных и скрытых [Begin] End. { заголовки общедоступных и скрытых {начало инициирующей части } { конец модуля}
Стандартные модули System Crt Printer Dos Graph Turbo. tpl (tpl – Turbo Pascal Library) Turbo. tpu
Компиляция модуля Меню Compile: • • • Compile (+); Make (); Build; Distination (Memory, Disk); Primary file…
Компиляция: Имя_модуля. pas Имя_модуля. tpu Утилита TPUMOVER к файлу Turbo. tpl
Пример Назовем модуль Ar поместим в него • функцию tg(x) • процедуру для вычисления суммы n-членов арифметической прогрессии s=(n+1)*(a 0 +an)/2
Описание модуля Unit Ar; Interfase function tg (x: real): real; procedure sum (a 0, an : real; n: integer; var s: real); Implementation function tg (x: real): real; begin tg: =sin(x)/ cos(x); end; procedure sum; begin s: = (n+1)*(a 0 + an )/2; end.
Использование модуля program prim_1; uses Ar; var s, x, a 0, an : real; n: integer; begin read (x); writeln(‘Значение tg(x)=’, tg(x)); readln(a 0, an , n); sum(a 0, an , n, s); writeln(s) end.