Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Пользовательская процедура или функция может быть описана в одном из трех вариантов:
- В составе уже имеющейся (родительской) процедуры или функции. В этом случае все данные родительской процедуры (функции) становятся видимы (доступны) дочерней процедуре (функции), а возможность использования дочерней процедурой (функцией) ограничивается только рамками родительской процедуры (функции).
- В составе текущего (из которого происходит вызов) модуля только в секции Реализации (Implementation). В этом случае создаваемая процедура (функция) доступна из любой процедуры (функции), но только в рамках данного текущего модуля. В других модулях эта процедура (функция) не видна.
- В секции Interface текущего модуля. Такая процедура (функция) доступна как в любом месте текущего модуля, так и в любом другом модуле, который вызывает директивой uses наш текущий модуль.
Для обмена данными с процедурой (функцией) из места их вызова существует так называемое «окно параметров» - перечень данных, которыми должны обмениваться место вызова и вызываемая процедура (функция). Это окно параметров выглядит в виде перечисления имен данных, ограниченных скобками и следует сразу после имени описываемой процедуры (функции). Имена данных параметров видимы только в рамках данной процедуры (функции) и не видны в других программных единицах (локальные данные). Кроме того, в случае использования функции ее имя тоже представляет из себя параметр – переменную, тип которой задается при описании функции, как и тип каждого из параметров.
Рассмотрим несколько примеров:
Procedure primer1(a,b:real; c:integer; var d,e: real; var s:string);
Const …
Var …
Begin
Текст процедуры
End;
В этом примере описана процедура с именем Primer1. Окно параметров расшифровывается следующим образом: Из вызывающей структуры в процедуру передаются два вещественных числа (они равносильны типу констант!) (a и b) и одно целочисленное (c). Из процедуры в место вызова передаются (возвращаются) два вещественных числа (рассчитанные в процедуре) (переменные d и e), а также строковая переменная s, значение которой тоже скорее всего определено в теле процедуры.
ВНИМАНИЕ! Если в окне параметров данные описаны как константы (без ключевого слова var), то значения таких констант НЕЛЬЗЯ изменять в теле процедуры (функции)! В противном случае возможны непредсказуемые искажения в области данных (как этих, так и совершенно других).
Пример описания функции следует ниже:
Function fun1(a,b:real; c:integer): real;
Var d,e: real;
Begin
d:=a+b;
e:=c*(d+a);
fun1:=frac(e);
End;
При использовании функции главным возвращаемым параметром является само имя функции (в примере – fun1 типа real), хотя в окне параметров для функции могут быть указаны и другие возвращаемые параметры-переменные.
Для вызова процедуры следует в необходимом месте программы просто указать имя процедуры и значения передаваемых параметров. Например, фрагмент программы с вызовом процедуры Primer1 может выглядить так:
Var
ff, p1,p2: real;
n: integer;
st: string;
begin
….
n:=13;
ff:=5647.554466;
Primer1(10.55, ff, n, p1, p2, st);
….
End;
Обратите внимание, что типы передаваемых в процедуру данных должны обязательно совпадать с типом данных, описанных в окне параметров процедуры. В нашем примере это соответствие пар данных: (10.55 и вещественной a), (вещественных ff и b), (целых n и c)
Контрольные вопросы
1. Какие файлы представляют проект?
2. Какова минимальная структура файла проекта(приложения)?
3. Какими файлами представлен модуль без формы и модуль с формой?
4. Какая информация соджержится в модуле формы?
5. Какое расширение имеет файл после компиляции модуля?
6. Какова минимальная структура модуля?
7. Для какой цели в модуле служит секция Интерфейса? Какова доступность данных, объявленных в этой секции?
8. Что помещают в секции Implementation? Какова доступность данных, объявленных в этой секции?
9. В чем отличие функции от процедуры? Каковы правила их объявления и вызова?
10. Перечислите особенности описания процедур(функций) внутри другой процедуры(функции), внутри программы, внутри секций Implementation и Interface.
11. Для чего используются параметры процедур(функций) и каковы основные особенности их применения?
Лабораторная работа 5
«Создание и использование записей и файлов разных типов»
Цель работы: исследование правил объявления, создания и обращения с данными типа запись, а также нетекстовых файлов.
1. Задание на лабораторную работу.
1.1. Изучить идеологию и способы создания записей.
1.2. Описать тип и на его основе объявить переменные записи, использовать их поля.
1.3. Изучить способы создания, чтения и записи нетекстовых файлов.
1.4. Создать файл записи, оъявленной в п.1.2. Сохранить, читать и пополнять файл записи.
1.5. Оформить результаты работы в виде отчета.
|
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!