
- •1. Этапы подготовки задач для решения на пэвм
- •Программное обеспечение эвм
- •2.1.Алгоритмические языки.
- •5. Файлы и каталоги на дисках
- •5.1. Файловая система fat.
- •5.2. Файловая система ntfs
- •6. Интегрированая среда турбо паскаля 7.0
- •6.1. Информационные окна.
- •7. Разработка программ в интегрированной среде
- •8. Система меню ис тurbo рascal
- •8.1. Меню работы с файлами (file).
- •8.2. Меню редактирования (edit).
- •8.3. Меню поиска информации (search).
- •8.4. Меню выполнения программы (run).
- •8.5. Меню компиляции (compile).
- •8.6. Меню отладки (debug).
- •8.7. Меню инструментальных средств (tools).
- •8.8. Меню параметров среды (options).
- •9. Структура программы
- •10. Алфавит языка
- •11. Типы данных
- •Целые типы.
- •11.2.Логический тип boolean.
- •11.3. Символьный тип char.
- •11.4. Перечисляемый тип.
- •Вещественные типы.
- •12. Переменные
- •13. Константы
- •14. Стандартные функции
- •14.1. Арифметические функции.
- •14.2. Функции преобразование типа.
- •14.3. Функции для величин порядкового типа.
- •15. Арифметические операции
- •Логические операции
- •Операции отношения
- •18. Операторы языка
- •18.1. Оператор присваивания.
- •18.2. Оператор безусловного перехода goto.
- •18.3. Пустой оператор.
- •18.4. Составной оператор.
- •18.5. Условный оператор if.
- •18.6. Оператор варианта case.
- •Операторы цикла
- •19.1. Оператор цикла с постусловием repeat.
- •19.2.Оператор цикла с предусловием while.
- •19.3. Оператор цикла с параметром for.
- •19.4. Использование стандартных процедур Break и Continue в операторах циклов.
- •Сложные типы языка паскаль
- •20.1. Массивы.
- •20.2. Символьные массивы.
- •20.3. Строка типа string.
- •20.4. Записи.
- •20.5. Множества.
- •20.6. Файлы.
- •20.6.1. Доступ к файлам.
- •20.6.2. Логические устройства.
- •20.6.3. Процедура открытия файлов.
- •20.6.4. Процедуры и функции для работы с файлами.
- •20.6.5. Типизированные файлы.
- •20.6.6. Процедуры и функции для работы с файлами.
- •20.6.7. Нетипизированные файлы.
- •20.6.8. Текстовые файлы.
- •21. Процедуры и функции
- •21.1. Процедуры.
- •21.2. Функции.
- •21.3. Параметры формальные и фактические.
- •21.4. Параметры-значения.
- •21.5. Параметры-переменные.
- •21.6. Параметры-константы.
- •21.7. Параметры-процедуры и параметры-функции.
- •21.8. Параметры без типа.
- •Модули пользователя
- •22.1. Структура модуля пользователя
- •22.1.1. Заголовок модуля
- •22.1.2. Интерфейс модуля
- •22.1.3. Исполнительная часть модуля
- •22.1.4. Cекция инициализации
- •22.2. Использование модулей
- •23. Оверлей
22.1.1. Заголовок модуля
Заголовок модуля состоит из слова UNIT и имени модуля
Unit Module;
Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas.
22.1.2. Интерфейс модуля
Через интерфейс осуществляется взаимодействие основной программы с модулем (или модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции которые могут быть использованы основной программой (или модулем) при вызове этого модуля.
Интерфейс начинается, словом interface. Далее после слова uses указываются имена модулей, которые используются данным модулем (необязательная часть), после этого может быть: раздел объявления констант, раздел объявления типов, раздел объявления процедур и функций.
В разделе объявления процедур и функций указываются лишь заголовки подпрограмм. Сами подпрограммы приводятся в исполнительной части.
В интерфейсах различных модулей недопустимо циклическое обращение друг к другу, так как компилятор не может установить связь.
22.1.3. Исполнительная часть модуля
Исполнительная часть включает подпрограммы модуля. Она также может включать локальные метки, константы, типы и переменные.
Исполнительная часть начинается, словом implementation. Затем после слова uses указываются имена модулей, которые используются подпрограммами данной исполнительной части (этот раздел необязателен). Если какой-то модуль уже указан в интерфейсе модуля, то в исполнительной части его повторять не следует. Далее могут быть: разделы объявления меток, объявления локальных констант, объявления локальных типов, объявления локальных переменных. Затем идут описания подпрограмм модуля.
22.1.4. Cекция инициализации
В некоторых случаях перед обращением к модулю следует провести его инициализацию (например, установить связь с теми или иными файлами с помощью процедуры Assign). Необходимые действия можно выполнить в секции инициализации модуля. Эта секция начинается, словом begin, после которого идут исполняемые операторы, а затем помещается слово end.
Операторы секции инициализации выполняются единственный раз в момент запуска программы.
Если инициализация модуля не нужна, то в секции помещается лишь слово end.
Пример
Модуль, содержащий средства работы с комплексными числами:
unit Cmp;
interface
туре
Complex=record{способ представления}
Re,Im:real {комплексных чисел}
end;
{Заголовки процедур, реализуют операции над комплексными числами}
procedure InitC (c:Complex;R,I:real);
procedure AddC (c1,c2:Complex;var R:Complex);
procedure MaltC (c1,c2:Complex;var R:Complex);
procedure DivC (c1,c2:Complex;var R:Complex);
procedure WriteC(c:Complex);
implementation
{полные описания процедур (с сокращенными заголовками)}
procedure InitC;
begin
with c do
begin
Re:=R;
Im:=I;
end;
end;
procedure AddC;
begin
with R do
begin
Re:=c1.Re+c2.Re;
Im:=c1.Im+c2.Im;
end;
end;
procedure MaltC;
begin
with R do
begin
Re:=c1.Re*c2.Re+c1.Im*c2.Im;
Im:=c1.Im*c2.Re+c1.Re*c2.Im;
end;
end;
procedure DivC;
var
Tmp:real;
begin
with c2 do Tmp:=Re*Re+Im*Im;
with R do
begin
Re:=(c1.Re*c2.Re+c1.Im*c2.Im)/Tmp;
Im:=(c2.Re*c1.Re+c1.Re*c2.Im)/Tmp;
end
end;
procedure WriteC;
begin
with c do
begin
write(Re);
if Im=0 then exit;
if Im<>0 then write('+');
write(Im);
write('i');
end;
end;
end.