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

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

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

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

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

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


 

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

22709. Нетарифні заходи ЗЕД 32.5 KB
  Ліцензування – це комплекс питань пов’язаних з підготовкою та поданням переліку документів потрібних для отримання ліцензії. Вимоги до системи ліцензування: коли не обмежує конкуренцію коли створені чіткі і прозорі ліцензійні умови коли використання ліцензій сприяє розвитку окремого виду діяльності. Ліцензування має бути логічним послідовним економічно обґрунтованим умови зрозумілі для всіх підприємств.
22711. Протиріччя у зовнішньополітичному курсі президента Дж. Кеннеді 38.5 KB
  Кеннеді. Піднесення національновизвольного руху у країнах третього світу примусило адміністрацію Кеннеді розглядати цей регіон як пріоритетний. Попри наполягання американських військовиків Кеннеді заборонив повторний повітряний наліт як і перебування американських кораблів та підводних човнів в межах 20мильної зони ЗО км від місця висадки десанту. Для Кеннеді це був важкий удар.
22712. Основні напрямки зовнішньої політики адміністрації Л. Джонсона 27.5 KB
  Він продовжив політику нормалізації відносин з СРСР: всупереч позиції конгресу надав московському урядові кредити на закупівлю хліба в американських фермерів; 1964 року оголосив доктрину наведення мостів розвиток торговельних і гуманітарних зв'язків із деякими соціалістичними країнами 1968 року підписав Договір про нерозповсюдження ядерної зброї а під завісу свого урядування готувався до переговорів щодо обмеження стратегічних озброєнь ОСО1.Джонсон все ж 1965 року проголосив нову доктрину названу його ім'ям Доктрина Джонсона яка...
22713. Доктрина ядерного стримування у зовнішній політиці США 32 KB
  Доктрина ''ядерного стримування'' у зовнішній політиці США. Ядерное оружие играет важнейшую роль в системе обороны США их союзников и друзей. Этот ядерный потенциал обладает уникальными свойствами которые позволяют США решать важные стратегические и политические задачи. Интересы США и их союзников необязательно потребуют нанесения ядерных ударов.
22714. Доктрина Джонсона 19 KB
  €Доктрина Джонсона€.Джонсон все ж 1965 року проголосив нову доктрину названу його ім'ям Доктрина Джонсона яка передбачала право США на військові дії на латиноамериканському континенті з метою захисту своїх громадян . Более подробно о внешней политике Джонсона см.
22715. Доктрина Ніксона 24.5 KB
  Согласно этой доктрине США обязывались и в дальнейшем участвовать в обеспечении обороны своих союзников и заявляли о своем праве определять масштабы формы и сферы своего вмешательства в региональные события руководствуясь своими национальными интересами. В послании президента Никсона Конгрессу 18 февраля 1970 эта доктрина прежде всего относившаяся к угрозе коммунистической экспансии в странах Азии получила дальнейшее развитие как руководящий принцип политики США и в других регионах. Но насущной проблемой нового президента была война во...
22716. Політика адміністрації Дж. Картера на Близькому та Середньому Сході 28.5 KB
  Картера на Близькому та Середньому Сході. Картер достаточно рано дал понять что готов искать новые возможности для решения ближневосточного конфликта. Эти сначала неловко начатые усилия развились в диалог между Израилем и Египтом который Картер решительно ускорил пригласив израильского премьерминистра Бегина и египетского президента Садата в свою загородную резиденцию КемпДевид. После тринадцатидневных переговоров в которых Картер как посредник играл решающую роль в сентябре 1978 года было заключено мирное соглашение.
22717. Політика США щодо СРСР у 1972 - 1974 рр 24.5 KB
  І лише 1973 року Сполучені Штати відмовилися від загальної військової повинності і перейшли до створення професійної армії на добровільній основі. В грудні 1969 року США зняли деяке обмеження у торговельній сфері з СРСР через місяць конгрес ратифікував підписаний 1968 року Сполученими Штатами Великобританією та Радянським Союзом Договір про непоширення ядерної зброї згодом розпочалися американорадянські попередні переговори в Гельсінкі а потім у Відні про обмеження систем протиракетної оборони та страіегічних озброєнь. 30 вересня 1971...