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 следит за тем, чтобы количество и типы формальных параметров строго соответствовали количеству и типам фактических параметров в момент обращения к подпрограмме. Смысл используемых фактических параметров зависит от того, в каком порядке они перечислены при вызове подпрограммы. В нашем примере первый по порядку фактический параметр будет возводиться в степень, задаваемую вторым параметром, а не наоборот. Любой из формальных параметров подпрограммы может быть либо параметром-значением, либо параметром-переменной, либо, наконец, параметром-константой.

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

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

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

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

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


 

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

72299. Выявление условий и форм внеклассной работы, способствующих повышению качеств знаний учащихся 61.99 KB
  Цель работы: выявить условия и формы внеклассной работы способствующие повышению качеств знаний учащихся. Гипотеза: использование внеклассной работы по физике способствует повышению качества знаний учащихся. Задачи квалификационной работы: дать психолого-педагогическое обоснование внеклассной работы...
72300. Локомотивное эксплуатационное депо. Выполнение разреза аккумуляторной батареи «75 КРН-150 Р» 481.01 KB
  Основные задачи железнодорожного транспорта – своевременное, качественное и полное удовлетворение потребностей народного хозяйства и населения в перевозках, повышение экономической эффективности его работы, безопасность движения на единицу перевозок, повышение скорости и сроки доставки грузов...
72302. Возникновение и развитие науки об экспертизе. Предмет и объекты судебной экспертизы. Экспертные учреждения РФ 183.5 KB
  Обращение правосудия к помощи науки отмечается в истории судебной экспертизы достаточно давно. По литературным данным, еще во времена византийского императора Юстиниана...
72304. Выявление резервов роста прибыли, и разработка предложений по увеличению прибыли на перспективу 336 KB
  Методика анализа прибыли и рентабельности Введение В условиях рыночной экономики получение прибыли является непосредственной целью предприятия. Это связано с тем что для предприятий несущих полную материальную ответственность за результаты своей торгово-хозяйственной деятельности основной целью...
72305. Правовые нормы, направленные на борьбу с захватом заложников 478.5 KB
  Цель исследования – выявление социально-юридической сущности захвата заложников и наказания за данное преступление как в России, так и за рубежом. Достижение цели исследования осуществляется постановкой и реализацией следующих задач: определение особенностей объективных и субъективных признаков...
72306. Технология производства бетонных строительных конструкций методом трехмерной печати 17.16 MB
  Конструкции выполненные по монолитной технологии практически не имеют швов следствием чего является отсутствие проблем со стыками и с их герметизацией а также повышение теплотехнических и изоляционных свойств. В зданиях подобной конструкции пространство между элементами деревянного...