36525

Параметры - переменные, параметры-значения.Механизм передачи в подпрограмму и из нее

Доклад

Информатика, кибернетика и программирование

Список формальных параметров необязателен и может отсутствовать. Если же он есть то в нем должны быть перечислены имена формальных параметров и их типы например: Procedure SB: Rel; b: Integer; с: Chr; Как видно из примера параметры в списке отделяются друг от друга точками с запятой. Несколько следующих подряд однотипных параметров можно объединять в подсписки например вместо Function F: Rel; b: Rel: Rel; можно написать проще: Function Fb: Rel: Rel; Операторы тела подпрограммы рассматривают список формальных параметров как...

Русский

2013-09-22

28.5 KB

0 чел.

Параметры - переменные, параметры-значения.Механизм передачи в подпрограмму и из нее.

Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем должны быть перечислены имена формальных параметров и их типы, например:

Procedure SB(a: Real; b: Integer; с: Char);

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

Function F(a: Real; b: Real): Real;

можно написать проще:

Function F(a,b: Real): Real;

Операторы тела подпрограммы рассматривают список формальных параметров как своеобразное расширение раздела описаний:

все переменные из этого списка могут использоваться в любых выражениях внутри подпрограммы

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

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

Если параметр определен как параметр-значение, то перед вызовом подпрограммы это значение вычисляется, полученный результат копируется во временную память (стек) и передается подпрограмме. Важно учесть, что даже если в качестве фактического параметра указано простейшее выражение в виде переменной или константы, все равно подпрограмме будет передана лишь копия переменной (константы).

Если параметр определен как параметр-переменная, то при вызове подпрограммы передается сама переменная, а не ее копия (фактически в этом случае подпрограмме передается адрес переменной). Изменение параметра-переменной приводит к изменению фактического параметра в вызывающей программе.

В случае параметра-константы в подпрограмму также передается адрес области памяти, в которой располагается переменная или вычисленное значение. Однако компилятор блокирует любые присваивания параметру-константе нового значения в теле подпрограммы.

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


 

А также другие работы, которые могут Вас заинтересовать

44323. Диалоговая оболочка для отладки DVM-программ 1.98 MB
  Модели параллельного программирования Краткий обзор существующих моделей Модель параллелизма DVM Сложности отладки DVMпрограмм. Описание графической оболочки Описание возможностей Отладка эффективности DVMпрограмм Средства DVMсистемы Возможности графической оболочки Демонстрация характеристик производительности DVMпрограммы Иллюстрация топологии решетки процессоров
44326. ПРОЕКТ МОДЕРНИЗАЦИИ КОЛБАСНОГО ЦЕХА ЗАО «НВС» Хохольского района Воронежской области 912.5 KB
  Какая нужна помощь руководству чтобы организовать надлежащий первичный учет поступления сырья ведение рецептурных журналов журналов технологической разделки и термической обработки Вызывает крайнее удивление что практически в каждом хозяйстве действуют свои нормативы на выход мяса при разделке туш на колбасные изделия а также на выход готовой продукции что создает лазейки для злоупотреблений. Об утверждении норм выходов колбасных изделий мясных полуфабрикатов и выходов при разделке мяса. Данный диплом выполнен с целью улучшения...
44328. Совершенствование аттестации педагогических работников дошкольного образовательного учреждения (на примере муниципального ДОУ № 172 г. Кемерово) 539.5 KB
  Аттестация по Трудовому кодексу - это систематическое определение, установление соответствия уровня знаний, квалификации работника занимаемой им должности или должности, на которую он претендует, проводимое в порядке, установленном соответствующим нормативным актом
44329. Формирование корпоративной информационной культуры муниципальных служащих 928 KB
  Проанализировать сущность формирования корпоративной информационной культуры муниципальных служащих Областного центра жилищных субсидий социальных выплат и льгот . Основные вопросы подлежащие разработке исследованию: Роль корпоративной информационной культуры в Российском обществе и ее значение для муниципальных служащих; Характеристика филиала государственного учреждения Омской области Областной центр жилищных субсидий социальных выплат и льгот Любинского муниципального района и использование им...
44330. Изучение ассортимента и оценка качества кисломолочных продуктов, производимых молочным заводом ЗАО «Ясень» 466.5 KB
  Классификация ассортимента кисломолочных продуктов. Пищевая ценность кисломолочных продуктов. Формирование качества кисломолочных продуктов в процессе производства. Упаковка маркировка хранение и транспортирование кисломолочных продуктов.
44331. Разработка женского комплекта состоящего из куртки-ветровки и брюк 1.67 MB
  Конструкторско-технологические требования характеризуют свойства материалов, оказывающие существования влияния на конструкцию изделия и параметры технологического процесса его изготовления. К ним следует отнести длину материалов в куске, их ширину и толщину, усадку, драпируемость, несминаемость, жесткость, раздвигаемость, осыпаемость