
- •1. Информационное общество.
- •1.1. Роль и значение информационных революций
- •1.2. Роль и значение информационных технологий
- •1.3. Роль информатизации в развитии общества
- •1.4. Роль информационной культуры в развитии общества
- •2. Информатика – предмет и задачи
- •2.1. Появление и развитие информатики
- •2.2. Задачи информатики
- •3. Информация и кодирование
- •3.1. Сигналы, данные, методы
- •3.2. Понятие об информации
- •3.3. Свойства информации
- •3.4. Носители данных. Преобразование данных.
- •3.5. Кодирование данных двоичным кодом
- •3.6. Кодирование текстовых данных
- •3.7. Кодирование графических данных
- •3.8. Кодирование звуковой информации
- •4. Структуры данных
- •4.1. Основные структуры данных
- •4.2. Файлы и файловая структура
- •5. Вычислительная техника и программное обеспечение
- •5.1. Аппаратное обеспечение
- •5.2. Программное обеспечение
- •5.3. Классификация прикладных программных средств
- •5.4. Классификация служебных программных средств
- •6. Основные функции операционных систем
- •6.1. Обеспечение интерфейса пользователя
- •6.2. Организация файловой системы
- •6.3. Обслуживание файловой структуры
- •6.3.1. Создание и именование файлов
- •6.3.2. Создание каталогов (папок)
- •6.3.3. Копирование, переименование и перемещение файлов
- •6.3.4. Удаление файлов и каталогов (папок)
- •6.3.5. Навигация по файловой структуре
- •6.3.6. Управление атрибутами файлов
- •6.4. Управление установкой, исполнением и удалением приложений
- •6.4.1. Многозадачность
- •6.4.2. Установка приложений
- •6.4.3. Удаление приложений
- •6.5. Обеспечение взаимодействия с аппаратным обеспечением
- •6.6. Обслуживание компьютера
- •6.6.1. Средства проверки дисков
- •6.6.2. Средства управления виртуальной памятью
- •6.6.3. Средства кэширования дисков
- •6.7. Прочие функции операционных систем
- •7. Понятие алгоритма и программы
- •Программа Множество данных Множество результатов
- •8. Языки программирования.
- •2) Структуры данных;
- •4) Выражения;
- •9. Основные конструкции языка turbo-pascal
- •9.1. Алфавит языка
- •9.2. Cтруктура программы
- •9.3. Концепция и классификация типов данных
- •9.4. Простые типы данных
- •Логический тип;
- •Символьный тип;
- •Перечисляемый тип;
- •9.4.1. Целые типы
- •9.4.2. Вещественные типы
- •10. Управление вычислениями в языке turbo-pascal
- •10.1. Выражения
- •10.2. Операторы языка Turbo-Pascal
- •10.2.1. Оператор присваивания
- •10.2.2. Метки операторов. Оператор безусловного перехода goto
- •10.2.3. Пустой оператор
- •10.2.4. Составной оператор
- •10.2.5. Условный оператор If-Then-Else
- •10.2.6. Условный оператор case (оператор варианта)
- •10.2.7. Оператор цикла с предусловием
- •10.2.8. Оператор цикла с постусловием
- •10.2.9. Операторы цикла с параметром
- •11. Структурированные типы данных
- •12. Организация ввода/вывода в языке turbo-pascal
- •13. Модули в языке turbo - pascal
- •14. Cтандартные модули в языке turbo - pascal
13. Модули в языке turbo - pascal
В классическом стандарте языка Pascal были предусмотрены только внутренние процедуры, которые должны были включаться в текст программы непосредственно, как это описано выше. Это иногда бывает не совсем удобно, поскольку при решении больших задач программа становится слишком массивной и труднообозримой. Кроме того отсутствие в языке внешних процедур не позволяет создавать профессиональную библиотеку подпрограмм.
Позднее в реализациях Turbo-Pascal начиная с версии 4.0 был учтен этот недостаток и появилась возможность при выполнении программы подключать к ней внешние подпрограммы и файлы. Это достигается двумя способами - применение так называемых директив компилятора и применение новых объектов программирования в Turbo-Pascal - модулей.
Для того, чтобы включить в программу текст хранимый на диске в некотором файле, необходимо в нужном месте программы поставить директиву компилятора
$I <имя файла>
при этом имя файла должно содержать путь к нему, например директива
$I c:\pascal\user\modul1.pas
включит в текст программы текст хранимый в файле modul1.pas. Если
путь к файлу не указан, то компилятор будет его искать только в
текущей директории.
Применение этой директории позволяет разбивать текст программы на небольшие сегменты, которые впоследствии могут быть собраны вместе. Кроме того отдельные файлы, оформленные например в виде отдельных процедур и функций, могут использоваться в различных однотипных программах и не переписываться каждый раз заново при их составлении.
Более сильным средством организации внешних подпрограмм в языке Turbo-Pascal является аппарат модулей, наличие которого позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, пользоваться возможностями стандартных модулей и т.д.
Конструкция языка программирования Turbo-Pascal модуль состоит из нескольких частей:
1) Заголовок модуля.
Заголовок модуля состоит из служебного слова Unit и имени программы. Сам модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas.
2) Интерфейс модуля.
Через интерфейс модуля осуществляется взаимодействие основной программы с модулем (или модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции, которые могут быть использованы основной программой (модулем) при вызове этого модуля. Интерфейс начинается со служебного слова interface. Далее после служебного слова uses указываются имена используемых здесь модулей, затем следует раздел описаний констант, типов, переменных и т.д.
3) Исполнительная часть модуля.
Исполнительная часть модуля включает все его подпрограммы. Она может также включать локальные метки, константы, типы, переменные и т.д. Исполнительная часть модуля начинается служебным словом implementation, далее следуют имена модулей, раздел описаний и описания используемых подпрограмм.
4) Секция инициализации модуля.
Секция инициализации модуля применяется для установления его связи с какими-либо файлами и для инициализации переменных. Эта секция начинается словом Begin, после которого идут исполняемые операторы и заканчивается словом End. (с точкой). Если инициализация модуля не нужна, то в секции помещается лишь слово End. (с точкой).
Первые три раздела модуля являются обязательными, последовательность разделов так же является обязательной. Таким образом общая структура модуля имеет вид:
Unit <имя модуля>;
Interface;
<описание объектов используемых основной программой> Implementation;
<описание локальных объектов используемых модулем>
Begin
<операторы инициализации модуля>
End.
Для того чтобы избежать многократного описания в различных программах некоторых общеупотребительных типов данных, можно сосредоточить их в одном модуле. Рассмотрим, например, модуль, связанный с описанием дат, месяцев, дней и т.д.
Unit Calendar;
Interface
Type
Days = (Mon,Tue,Wed,Thu,Fri,Sat,San);
Months = (Jan,Feb,Mar,Apr,May,June, July,Aug,Sept,Oct,Nov,Decem);
WorkDays = Mon .. Fri;
Summer = June .. Aug;
Autumn = Sept .. Nov;
Spring = Mar .. May;
Winter = Decem .. Feb;
DayNo = 1 .. 31;
YearNo = 1900 .. 2000;
Date = Record
Day : DayNo;
Month : Months;
Year : YearNo End;
Implementation
End.
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово Uses, после которого указать имя (имена) модуля (модулей), например
Program example(input,output);
Uses Calendar; .............................
После этого в основной программе можно использовать идентификаторы, указанные в интерфейсе модуля (модулей).