Главная » Статьи » Мои статьи

Шалтай-болтай - собираем программу на Паскале.
Все во вселенной состоит из большого количества самых разных элементов.Самые мельчайшие из них образуют более крупные, которые, затем образуют еще более крупные элементы, уже имеющие какую-то узнаваемую форму. Если рассматривать весь мир с точки зрения физики, то, как мы знаем, мельчайшими частицами являются протоны и электроны, которые путем взаимодействия образуют атомы. Атомы в свою очередь образуют более крупные элементы, такие как молекулы.Из молекул строятся как раз уже элементы - вещества, имеющие вполне узнаваемую форму. Все вещества состоят из молекул. Ну и любое вещество, в принципе может принимать форму, обусловленную его физическими свойствами.Если взять жидкость,то она не имеет формы и всегда принимает форму того сосуда, в котором находится, но  имеет постоянный объем.Твердые вещества имеют постоянную форму и объем.Что касается газов, то они не имеют ни постоянной формы ни постоянного объема. В общем,сплошная МКТ - молекулярно-кинетическая теория!
В компьютерном мире и, в частности в мире программирования, кроме того,что благодаря физике сами компьютеры и появились на свет, используется аналог молекулярно-кинетической теории. Так же как и все в окружающем нас мире состоит из частиц, в компьютерном мире большинство программ состоит из большого количества файлов.Из одного или всего лишь нескольких файлов состоят только достаточно простые программы. Если вы возьмете какую-нибудь серьезную программу, например, компьютерную игру, зайдете в ту папку,куда она у вас установлена, то сразу увидите большое количество этих  самых файлов.
Все вещества состоят из частиц,атомов и молекул, а все программы состоят из кодов,битов,байтов, программных модулей. Таким образом, большинство программ подобно веществу имеют ("молекулярную") модульную структуру.
Далее, в этой статье, мы попытаемся рассмотреть каким образом эта модульная структура реализуется при программировании на Паскале.

Итак,как мы уже сказали,программа на Паскале может иметь модульную структуру. Сам модуль любого языка программирования имеет определенную структуру.
На Паскале он имеет следующий вид:

Unit <название модуля>;

interface

<объявление процедур и функций,которые содержит данный модуль>

implementation

<раздел,который содержит сам исходный код каждой из объявленных процедур и функций>
<Например>
Function Tryam(x:integer):integer;

end. <конец модуля>

Теперь, представим,что мы назвали этот модуль Test и сохранили его в файле test.pas. Возникает вопрос: как нам подключить его к программе на Паскале, чтобы использовать те процедуры и функции, которые он содержит? Все довольно просто.
В Паскале все модули подключаются при помощи слова Uses (используется).
Например: Uses Crt; - модуль, который содержит процедуры и функции для расширенного управления клавой,экраном и мышью в текстовом режиме.
В том, случае, когда мы подключаем наш собственный модуль нам остается написать Uses Test; и далее, в программе, использовать его процедуры и функции.

Program Int;
uses Test;
var
x,y:integer;
begin;
x:=1;
y:=Tryam(x);
end.

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

Пример модуля:содержит функции для вычисления гиперболических синуса,косинуса,тангенса и котангенса.

Unit FUNC;

interface

type


HFunc=Function(x:real):real;

Function Ch(x:real):real;
Function Sh(x:real):real;
Function Th(x:real):real;
Function Cth(x:real):real;

Function Sign(x:integer):integer;

implementation

Function Ch(x:real):real;
begin
Ch:=(exp(x)+exp(-x))/2;
end;

Function Sh(x:real):real;
begin
Sh:=(exp(x)-exp(-x))/2;
end;

Function Th(x:real):real;
begin
Th:=(exp(x)-exp(-x))/(exp(x)+exp(-x));
end;

Function Cth(x:real):real;
begin
Cth:=(exp(x)+exp(-x))/(exp(x)-exp(-x));
end;

Function Sign(x:integer):integer;
begin
if x=1 then
Sign:=1;
if x=-1 then
Sign:=-1;
end;

end.

Пример программы:


Program TT;
uses Func;
var
x,y:real;
begin
y:=Cth(x);
readln('x=',x);
end.

Благодарю за внимание!
Категория: Мои статьи | Добавил: Razdolbaist (20.07.2012)
Просмотров: 555 | Рейтинг: 0.2/30
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]