Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Использование модуля в основной программе
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово 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 с.) |