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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать любые идентификаторы (констант, типов, переменных, подпрограмм), указанные в интерфейсах перечисленных модулей.

Пример. Программа, меняющая в массиве максимальное и минимальное числа.

program EXAMPLE26; {заголовок программы}

uses Unitl, Unit2; {используемые модули}

var i: Integer;

begin

Change(Arr); {процедура замены в Unitl,

массив Arr - в Unit2}

for i:= 1 to N do {N-B Unit2}

WriteLn(Arr(i])

end.

 

{модули, расположенные в других файлах}

unit Unitl; {модуль с основной подпрограммой}

interface {интерфейс первого модуля}

uses Unit2; {использование модуля с параметрами}

procedure Change (var Arr: Mass); {заголовок процедуры}

implementation {исполнительная часть}

uses UnitS; {использование модуля с вспомогательной подпрограммой}

procedure Change; {сокращенный заголовок}

var Max, Min, i; Integer;

begin

Max:= 1; Min:= 1;

for i:= 1 to N do {N-в Units}

begin

if Arr[i] > Arr[Max]

then Max:= i;

if Arrti] < Arr[Min]

then Min:= i

end;

Swap(Arr[Max], Arr[Min]) {замена местами макс.и мин.чисел, процедура в Units}

end

end. {конец Unitl}

 

 

unit Unit2; {модуль с параметрами}

interface {интерфейс второго модуля}

const N = 5; {число элементов}

type Mass = array!1..N] of Real; {тип массива}

const Arr: Mass = (0.5, -2.0, 1.0, 3.5, 7.0);

{типизированная константа}

implementation {исполнительная часть}

end. {конец UNIT2}

 

 

unit UnitS; {модуль с вспомогательной подпрограммой}

interface {интерфейс третьего модуля}

procedure Swap(var X, Y: Real}

implementation {исполнительная часть}

procedure Swap(var X, Y: Real) {перемещение двух чисел}

var Z: Real;

begin

Z:= X; X:- Y; Y:= Z

end

end. {конец UNITS}

Использование идентификаторов элементов модуля

Как правило, идентификаторы объектов модуля используются в основной программе (или другом модуле) обычным образом. Однако может оказаться, что используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы. Чтобы различить их, при обращении к элементу модуля указывается имя модуля, а затем через точку – идентификатор объекта (аналогично использованию полей записи).

Пример,

program EXAMPLE;

uses Unitl;

var Result, X: Real;

begin

Read (X); {чтение переменной программы}

Read (Unitl.X); {чтение переменной модуля}

Result:= X {переменная программы}

+Unitl.X {переменная модуля}

end

 

.

unit Unitl;

interface

var X: Real; {переменная модуля}

implementation

end.

 

19.2 Подпрограммы в языке C

Характеристика подпрограмм

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

Функция в C это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. В любой программе на C должна быть функция с именем main (главная функция), именно с этой функции, в каком бы месте программы она не находилась, начинается выполнение программы.

При вызове функции ей при помощи аргументов (формальных параметров) могут быть переданы некоторые значения (фактические параметры), используемые во время выполнения функции. Функция может возвращать некоторое значение. Это возвращаемое значение и есть результат выполнения функции, который при выполнении программы подставляется в точку вызова функции, где бы этот вызов ни встретился. Допускается также использовать функции, не имеющие аргументов и функции, не возвращающие никаких значений. Действие таких функций может состоять, например, в изменении значений некоторых переменных, выводе на печать некоторых текстов и т.п.

В языке C нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за определением функции main, перед ним, или находится в другом файле.

Однако для того, чтобы компилятор мог осуществить проверку соответствия типов передаваемых фактических параметров типам формальных параметров до вызова функции нужно поместить объявление (прототип) функции.

Объявление функции имеет такой же вид, что и определение функции, с той лишь разницей, что тело функции отсутствует, и имена формальных параметров тоже могут быть опущены.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 145; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.98.108 (0.007 с.)