Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА и П.doc
Скачиваний:
24
Добавлен:
29.08.2019
Размер:
13.34 Mб
Скачать

Лабораторная работа №9. Тема: «Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя».

Цель работы: получение навыков составления программ на языке Pascal с использованием модулей.

Краткие теоретические сведения

Структура модуля.

Модуль состоит из раздела интерфейса, раздела реализации и раздела инициализации.

unit ИмяМодуля;

interface

{объявление типов, констант, переменных, процедур и функций, которые могут использоваться в программах, использующий данный модуль}

implementation

{ объявление типов, констант, переменных, которые используются процедурами и функциями модуля}

{инструкция реализации процедур и функций модуля}

begin

{инструкции инициализации переменных модуля}

end.

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

Раздел реализации начинается словом implementation. В этот раздел помещают инструкции, реализующие процедуры и функции модуля, объявление внутренних типов, констант, переменных.

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

Подготовка текста модуля.

Процесс создания модуля ничем не отличается от процесса создания программы. Текст модуля надо набрать в окне редактора текста и сохранить в файле с расширением pas.

Компиляция модуля.

Компилируется модуль точно также, как и обычная программа, т. е. выбором из меню Compile команды Compile. Однако в результате компиляции модуля вместо выполняемого файла программы (файла с расширением ехе) Turbo Pascal создаст файл с расширением tpu (tpu – сокращение от Turbo Pascal Unit). Откомпилированный модуль будет помещен в каталог, предназначенный для выполняемых программ. Имя этого каталога указано в поле EXE&TPU диалогового окна Directories, которое появляется при выборе команды Directories из меню Options.

Использование модуля.

Чтобы программа могла использовать модуль, надо указать имя этого модуля в списке используемых программой модулей. Например, для того чтобы программа могла использовать модуль из файла my_unit.tpu, в ее тексте надо поместить инструкцию uses my_unit;

Ниже приведена программа, которая использует функции Ltrim и Upper из модуля my_unit.

Program usunit;

uses my_unit;

Var

buf: string;

begin

write (‘Введите строку ->’);

readln (buf);

buf:=Ltrim (buf); {удалить пробелы в начале строки}

buf:=Upper (buf); {привести к верхнему регистру}

writeln (buf);

end.

Задание

Напишите программу, которая удаляет начальные пробелы и преобразует строчные символы строки в прописные.

unit my_unit;

interface

function LTrim (st: string): string; {удаляет начальные пробелы}

function Upper (st: string): string; {преобразует к верхнему регистру}

implementation

function LTrim (st: string): string;

begin

while (pos (‘ ‘, st)=1) and (length (st)>0) do

delete (st, 1, 1);

LTrim:=st;

end;

function Upper (st: string): string;

var

buf: string;

ln: integer; {длина исходной строки}

c: string [1]; {обрабатываемый символ}

i: integer;

begin

buf:=’ ‘;

ln:=length (st);

for i:=1to ln do

begin

c:=copy (st, i, 1); {выделить символ строки}

case c[1] of

a’..’п’,

a’..’z’: buf:=buf+chr (ord (c[1])-31);

р’..’я’: buf:=buf+chr (ord (c[1])-80);

else buf:=buf+c;

end;

end;

Upper:=buf;

end;

end.