русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Область видимости


Дата добавления: 2014-02-04; просмотров: 631; Нарушение авторских прав


Список параметров

Имя модуля и имя файла, в котором записан модуль должны совпадать.

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

Структура процедуры

Procedure NameProc(список параметров);
Раздел описания типов, констант, переменных, Процедур, функций
Begin
Радел операторов
End;

 

Листинг 4. Пример процедуры

procedure PSurface(x1,y1,x2,y2,x3,y3: real;

var S: real);

var

a,b,c,p: real;

begin

a:=Distance(x1,y1,x2,y2); b:=Distance(x2,y2,x3,y3);

c:=Distance(x3,y3,x1,y1); p:=(a+b+c)/2;

S:=Sqrt(p*(p-a)*(p-b)*(p-c));

end;

unit NameUnit;
Interface
Uses …; // подключение других модулей Секция описания типов, констант, переменных, заголовки процедур, функций, доступных из секции реализации
Implementation
Uses …; // подключение других модулей Секция описания локальных типов, констант, переменных. Тексты процедур, функций
Initialization
Секция операторов, выполняемых при инициализации
Finalization
Секция операторов, выполняемых при завершении работы
end.

Листинг 5. Пример модуля

unit Lib;

 

interface

 

var

x1,y1, x2,y2, x3,y3, S: real;

 

function Distance(x1,y1,x2,y2: real): real;

function FSurface(x1,y1,x2,y2,x3,y3: real): real;

 

implementation

 

function Distance(x1,y1,x2,y2: real): real;

begin

Result:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1));

end;

 

function FSurface(x1,y1,x2,y2,x3,y3: real): real;

var

a,b,c,p: real;

begin

a:=Distance(x1,y1,x2,y2); b:=Distance(x2,y2,x3,y3);

c:=Distance(x3,y3,x1,y1); p:=(a+b+c)/2;

Result:=Sqrt(p*(p-a)*(p-b)*(p-c));

end;

 

end.



Листинг 6. Программа с подключением модуля

program Pr4;

uses

Lib;

{$APPTYPE CONSOLE}

begin

Write(‘x1=’); Readln(x1); Write(‘y1=’); Readln(y1);

Write(‘x2=’); Readln(x2); Write(‘y2=’); Readln(y2);

Write(‘x3=’); Readln(x3); Write(‘y3=’); Readln(y3);

S:=FSurface(x1,y1,x2,y2,x3,y3); Write(‘S=’,S:12:4);

Readln;

end.



Все константы, переменные, типы, функции, процедуры, описанные в процедуре или функции, являются локальными и доступны только внутри этой подпрограммы или в её подпрограммах (процедурах и функциях).

Все константы, переменные, типы, функции, процедуры, описанные в родительской подпрограмме ранее, чем дочерняя подпрограмма, доступны дочерней подпрограмме. Для дочерней подпрограммы эти константы, переменные, типы, функции, процедуры являются глобальными.

Если модуль подключает к себе другой модуль, то константы, переменные, типы, функции, процедуры, описанные в разделе interface подключенного модуля доступны подпрограммам подключающего модуля. Переменные, типы, функции, процедуры, описанные в разделе implementation доступны только подпрограммам этого модуля.

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

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

q подпрограмма становится менее универсальной;

q возрастает вероятность недопустимого изменения глобальной переменной в подпрограмме.



<== предыдущая лекция | следующая лекция ==>
Структура функции | Оператор IF


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.847 сек.