Скачать презентацию Модули в Pascal Руководитель ст препод Леонов Ю Скачать презентацию Модули в Pascal Руководитель ст препод Леонов Ю

Модули в Pascal.ppt

  • Количество слайдов: 42

Модули в Pascal Руководитель: ст. препод. Леонов Ю. А. Выполнил: студент Петроченко О. В. Модули в Pascal Руководитель: ст. препод. Леонов Ю. А. Выполнил: студент Петроченко О. В. гр. 10 -САПР

Содержание 1. Введение 2. Что такое модуль? 3. Назначение модулей 4. Особенности при разработке Содержание 1. Введение 2. Что такое модуль? 3. Назначение модулей 4. Особенности при разработке собственных модулей 5. Структура модуля 6. Интерфейсный раздел ü Список импорта интерфейсного раздела ü Список экспорта интерфейсного раздела 7. Раздел реализации ü Список импорта раздела реализации ü Подразделы внутренних для модуля описаний

Содержание 8. Раздел инициализации 9. Примеры модулей 10. Компиляция модулей 11. Доступ к программным Содержание 8. Раздел инициализации 9. Примеры модулей 10. Компиляция модулей 11. Доступ к программным ресурсам модуля 12. Стандартные модули ü System ü CRT ü Dos ü Graph 13. Статические библиотеки 14. Динамические библиотеки

Содержание 15. DLL ü Цели введения ü Использование DLL ü Отличие DLL от модуля Содержание 15. DLL ü Цели введения ü Использование DLL ü Отличие DLL от модуля 16. Заключение 17. Контрольные вопросы

Введение Термин «модуль» в программировании начал использоваться в связи с внедрением модульных принципов при Введение Термин «модуль» в программировании начал использоваться в связи с внедрением модульных принципов при создании программ. В 70 -х годах под модулем понимали какую-либо процедуру или функцию, написанную в соответствии с определенными правилами. Первым основные свойства программного модуля сформулировал ученый Э. В. Парнас.

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

Что такое модуль? Модуль – это коллекция программных ресурсов ( переменные, const, типы, функции, Что такое модуль? Модуль – это коллекция программных ресурсов ( переменные, const, типы, функции, процедуры ), предназначенных для использования другими модулями и программами. Module 1 Module 2 Module 3 Uses Module 1, Module 2, Module 3; … Begin … End.

Назначение модулей ü предназначены для хранения программных ресурсов; ü предоставляют возможность повторного использования программного Назначение модулей ü предназначены для хранения программных ресурсов; ü предоставляют возможность повторного использования программного кода; ü способствуют быстрому созданию программы;

Особенности разработки собственных модулей тся пускае е Не до нно овреме дулей с одн Особенности разработки собственных модулей тся пускае е Не до нно овреме дулей с одн е мо зовани ми исполь выми имена о одинак Иде нтиф ик сов пад атор м ать с им одуля д ене м ф олжен айл а

Общая структура модуля Unit Идентификатор модуля; Интерфейсный раздел Interface Раздел реализации Implementation Раздел инициализации Общая структура модуля Unit Идентификатор модуля; Интерфейсный раздел Interface Раздел реализации Implementation Раздел инициализации Begin End.

Структура модуля Unit идентификатор модуля; Unit {список импорта раздела {интерфейсный раздел} реализации} Interface uses Структура модуля Unit идентификатор модуля; Unit {список импорта раздела {интерфейсный раздел} реализации} Interface uses {список импорта интерфейсного {подразделы внутренних для раздела} модуля описаний} uses label {список экспорта const интерфейсного раздела} type сonst var type procedure var function procedure {раздел реализации} function begin { раздел реализации } end. implementation

Интерфейсный раздел Раздел начинается с зарезервированного слова interface. В нем описывается взаимодействие данного модуля Интерфейсный раздел Раздел начинается с зарезервированного слова interface. В нем описывается взаимодействие данного модуля с другими, а также с главной программой. < Список импорта интерфейсного раздела > В этом списке перечисляются идентификаторы модулей, информация интерфейсных частей которых должна быть доступна в данном модуле. Здесь целесообразно описывать идентификаторы только тех модулей, информация из которых используется в описаниях интерфейсного раздела.

Интерфейсный раздел < Список экспорта интерфейсного раздела> Состоит из подраздела описания констант, типов, переменных, Интерфейсный раздел < Список экспорта интерфейсного раздела> Состоит из подраздела описания констант, типов, переменных, процедур и функций, которые будут «видны» во всех других модулях и программах. {спи разд сок импо рта и uses ела} нтер фейс {спис ного ок эк разд спор та ин сons ела} терф t type ейсн ого var proc functedure ion

Раздел реализации Начинается раздел зарезервированным словом implementation. Он предназначен для описания процедур и функций, Раздел реализации Начинается раздел зарезервированным словом implementation. Он предназначен для описания процедур и функций, заявленных в интерфейсном разделе. Таким образом в интерфейсном разделе описывается только заголовок процедур и функций, а в разделе реализации указывается полное описание этих процедур и функций. < Список импорта раздела реализации > В этом списке перечисляются идентификаторы модулей, информация интерфейсных частей которых должна быть доступна в данном модуле.

Раздел реализации < Подразделы внутренних для модуля описаний > В этих подразделах описываются метки, Раздел реализации < Подразделы внутренних для модуля описаний > В этих подразделах описываются метки, константы, типы, переменные, процедуры и функции, которые описывают алгоритмические действия, выполняемые данным модулем. {спи реалсок импо uses изации} рта разд ела {под модуразделы label ля опис внутрен аний них д cons } ля t type var proce funct dure ion

Раздел инициализации Предназначен для установления начальных значений модуля. Все операторы выполняются один раз. Операторы Раздел инициализации Предназначен для установления начальных значений модуля. Все операторы выполняются один раз. Операторы описанные в разделе инициализации при подключении модуля к программе автоматически вставляются в начало программы Раздел инициализации может отсутствовать вместе с начинающим его словом begin, тогда сразу следует признак конца модуля.

Примеры модулей Задание: необходимо создать модуль, в котором имеется функция возведения числа в степень. Примеры модулей Задание: необходимо создать модуль, в котором имеется функция возведения числа в степень. Unit math; Interface Function Pow( Digit: real; Degree: real ): real; Implementation Function Pow( Digit: real; Degree: real ): real; Begin Pow: =exp( Degree*Ln(Digit) ); end; End.

Примеры модулей Задание: необходимо создать модуль, в котором присутствует функция сложения двух чисел. Unit Примеры модулей Задание: необходимо создать модуль, в котором присутствует функция сложения двух чисел. Unit unit 1; Interface Function Sum( d 1, d 2: double ): double; Implementation Function Sum( d 1, d 2: double ): double; Begin Sum: = d 1 + d 2; end; End.

Компиляция модулей На этапе компиляции программа преобразуется в машинный код процессора. Код программы, полученной Компиляция модулей На этапе компиляции программа преобразуется в машинный код процессора. Код программы, полученной после компиляции называется объектным кодом. В языке Паскаль есть три режима компиляции: Compile, Make и Build.

Compile (компилировать) q компилирует и преобразует исходный код в откомпилированный модуль; q помещает результаты Compile (компилировать) q компилирует и преобразует исходный код в откомпилированный модуль; q помещает результаты компилирования в одноименные файлы с расширением TPU.

Make (сделать) q проверяет наличие TPU- файлов для каждого заданного модуля; q проверяет изменения Make (сделать) q проверяет наличие TPU- файлов для каждого заданного модуля; q проверяет изменения исходного текста используемого модуля.

Build (построить) q Ищет и компилирует соответствующий PAS- файл для каждого объявленного модуля; q Build (построить) q Ищет и компилирует соответствующий PAS- файл для каждого объявленного модуля; q Осуществляет перекомпиляцию независимо внесены ли изменения.

Стандартные модули В языке Pascal есть 8 стандартных модулей, содержащих в себе множество различных Стандартные модули В языке Pascal есть 8 стандартных модулей, содержащих в себе множество различных типов, констант, процедур и функций. Замечание: Модуль System подключается к программе автоматически, а все остальные модули становятся доступными только после указания их имен в разделе описания модулей.

System – основной модуль, содержит описание математических функций, процедуры и функции обработки строк. Ресурсы System – основной модуль, содержит описание математических функций, процедуры и функции обработки строк. Ресурсы данного модуля доступны любой программе без специального указания.

Описание процедур и функций System Дескрипторы процедур и функций function Arctan(x: real): real; procedure Описание процедур и функций System Дескрипторы процедур и функций function Arctan(x: real): real; procedure Break; procedure Continue; function Cos(x: real): real; Описание Возвращает арктангенс аргумента Завершает выполнение циклической конструкции Переход на следующую итерацию в циклической конструкции Возвращает косинус аргумента, задающего угол в радианах

Описание процедур и функций System Дескрипторы процедур и функций procedure Exit; function Frac(x: real): Описание процедур и функций System Дескрипторы процедур и функций procedure Exit; function Frac(x: real): real; function Int(x: real): real; function Ln(x: real): real; Описание Выход из текущего блока, например, процедуры или функции Возвращает дробную часть аргумента Возвращает целую часть аргумента Возвращает натуральный логарифм аргумента

CRT Crt – модуль управления экраном в текстовом режиме. Содержит описание переменных, констант, процедур CRT Crt – модуль управления экраном в текстовом режиме. Содержит описание переменных, констант, процедур и функций, обеспечивающих управление экраном, клавиатурой и динамиком.

Описание процедур и функций CRT Дескрипторы процедур и функций procedure Clr. Eol; procedure Clr. Описание процедур и функций CRT Дескрипторы процедур и функций procedure Clr. Eol; procedure Clr. Scr; procedure Del. Line; procedure Ins. Line; Описание Стирает все символы, начиная от позиции курсора до конца строки Очищает экран цветом и помещает курсор в верхний левый угол экрана. Удаляет строку, на которой находится курсор Вставляет пустую строку начиная с позиции курсора

Описание процедур и функций CRT Дескрипторы процедур и функций procedure No. Sound; function Read. Описание процедур и функций CRT Дескрипторы процедур и функций procedure No. Sound; function Read. Key: char; Описание Выключает внутренний динамик Считывает символ с клавиатуры; Устанавливает цвет фона procedure Text. Back. Ground(color: byte); procedure Text. Color(color: Устанавливает цвет byte); выводимых символов

Dos – модуль взаимодействия с операционной системой MS DOS, содержит описание процедур и функций, Dos – модуль взаимодействия с операционной системой MS DOS, содержит описание процедур и функций, обеспечивающих обращение к функциям операционной системы.

Описание процедур и функций Dos Дескрипторы процедур и Описание функций function Disk. Free(Disk: byte): Описание процедур и функций Dos Дескрипторы процедур и Описание функций function Disk. Free(Disk: byte): Возвращает число longint; свободных байтов на заданном диске function Disk. Size(Disk: byte): Возвращает число байтов на longint; заданном диске procedure Get. FTime(var f; var Возвращает дату и время Time: longint); последней записи файла procedure Set. FAttr(var f; Attr: Устанавливает атрибуты word); файла

Graph – стандартный модуль, в котором собраны необходимые процедуры и функции для работы с Graph – стандартный модуль, в котором собраны необходимые процедуры и функции для работы с графикой.

Strings – модуль, содержащий процедуры и функции. Модуль предназначен для работы с символьной информацией. Strings – модуль, содержащий процедуры и функции. Модуль предназначен для работы с символьной информацией.

Статические модули Библиотека – коллекция подпрограмм, используемых для разработки программного обеспечения. Библиотеки разделяются на Статические модули Библиотека – коллекция подпрограмм, используемых для разработки программного обеспечения. Библиотеки разделяются на динамические и статические. Статические модули – объектный файл, относящейся к программе на этапе компиляции.

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

DLL Dll – это динамическая библиотека (dynamic-link library). Используется в ОС Microsoft Windows и DLL Dll – это динамическая библиотека (dynamic-link library). Используется в ОС Microsoft Windows и IBM OS/2; Позволяет многократное применение различными программными приложениями. Использование Dll эффективно при обновлении определенных модулей программ, так как не затрагивает остальные модули К сожалению, использование различных версий Dll – библиотек приводит к сбоям в программах.

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

Отличие DLL от модулей Между модулями и DLL имеются существенные различия: • Модули компонуются Отличие DLL от модулей Между модулями и DLL имеются существенные различия: • Модули компонуются статически, а DLL- динамически; • При использовании одной процедуры двумя программами в системе имеются две копии программы, а в DLL-одна; • Модули экспортируют типы, константы, данные, а DLL- только процедуры и функции;

Заключение Трудно представить сегодня программирование без модулей. Наличие модулей в языке Pascal позволяет программировать Заключение Трудно представить сегодня программирование без модулей. Наличие модулей в языке Pascal позволяет программировать и отлаживать программу по частям. Модули позволяют создавать библиотеки подпрограмм и данных, использовать повторно разработанные ранее алгоритмы.

Контрольные вопросы 1. Что такое модуль? 2. Для чего необходим модуль? 3. Какие существуют Контрольные вопросы 1. Что такое модуль? 2. Для чего необходим модуль? 3. Какие существуют особенности при разработке собственных модулей? 4. Какие основные раздела модуля вы знаете? 5. Что описывается в разделах модуля? 6. Что происходит на этапе компиляции? 7. Какие вы знаете стандартные модули?

Контрольные вопросы 8. Расскажите о режимах компиляции? 9. Что вы знаете о модуле System? Контрольные вопросы 8. Расскажите о режимах компиляции? 9. Что вы знаете о модуле System? 10. Что такое статические модули? 11. В чем отличие динамических модулей от статических? 12. Что такое DLL? 13. Назначение DLL.

Список литературы 1. Немнюгин, С. А. Turbo Pascal: программирование на языке высокого уровня / Список литературы 1. Немнюгин, С. А. Turbo Pascal: программирование на языке высокого уровня / С. А. Немнюгин. – 2 -е изд. – СПб. : Питер, 2010. – 269 с. 2. Немнюгин, С. А. Turbo Pascal: практикум / С. А. Немнюгин. – 2 -е изд. – СПб. : Питер, 2009. – 272 с. 3. Фаронов, В. В. Turbo Pascal: учебное пособие / В. В. Фаронов. – М. : Изд. : ОМД Групп, 2010. – 157 с. 4. Марченко, А. И. Программирование в среде Turbo Pascal 7. 0. / А. И. Марченко, Л. А. Марченко. – М. : Бином Универсал, К. : ЮНИОР, 2009. – 368 с. 5. Культин, Н. Б. Turbo Pascal в задачах и примерах / Н. Б. Культин. – СПб. : БХВ-Петербург, 2010. – 248 с. 6. Коффман, Э. М. Turbo Pascal / Э. М. Коффман. – 5 -е изд. – М. : Вильямс, 2009. – 879 с.