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

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

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

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

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

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


 

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

2702. Бинарный интегрированный урок по географии в 6-м классе на тему: 20.62 KB
  Бинарный интегрированный урок по географии в 6-м классе на тему: Облака Цель: Сформировать представление об облаках, их видах, условиях образования и значении. Задачи: Развитие умений анализировать, классифицировать, выявлять причинно-...
2703. Биогеоценоз леса. Растительный и животный мир лесов Мордовии 31.23 KB
  Биогеоценоз леса. Растительный и животный мир лесов Мордовии. ЦЕЛЬ УРОКА: продолжить формировать знания учащихся о биогеоценозах Мордовии, познакомить учащихся с биогеоценозом леса, его растительным и животным миром, воспитывать чувство бережного о...
2704. Операция Птицам — нашу заботу 22.14 KB
  Внеклассное мероприятие: Операция Птицам — нашу заботу Цели: прививать любовь к птицам, воспитывать экологическую культуру, вовлекать в практическую деятельность по охране птиц зимой. Все классы построены на линейку. ХОД МЕРОПРИЯТИЯ Ведущий: ...
2705. Что? Где? Когда? Мир вокруг нас 26.41 KB
  Внеклассное мероприятие по биологии и экологии: Что? Где? Когда? Мир вокруг нас Цель: развитие логического мышления, памяти, познавательной активности, воспитание навыков работать сообща, выслушивать мнения товарищей, уметь серьезно подойти к кажд...
2706. Берегите землю, берегите! 28.03 KB
  Внеклассное мероприятие по экологии Берегите землю, берегите! Цели: Воспитывать у учащихся бережное отношение к природе, ко всему живому. Привлекать к природоохранной работе. Оборудование:  плакаты, рисунки учащихся,  выставка экол...
2707. Устный журнал — Зеленая жемчужина 31.91 KB
  Внеклассное мероприятие по экологии. Устный журнал — Зеленая жемчужина Цели и задачи: сохранение сосновых и еловых насаждений Ульяновской области, формирование у обучающихся понимания единства человека и природы, вовлече...
2708. Путешествие по заповеднику 35.64 KB
  Внеклассное мероприятие: экологическая познавательная игровая программа Путешествие по заповеднику Хакасский Проводится для учащихся 2-го класса. Цели: 1) развитие познавательного интереса к природе, выработка умения видеть необычное в привычном,...
2709. Внеклассное мероприятие. Викторина Своя игра 24.43 KB
  Внеклассное мероприятие. Викторина Своя игра СИНИЙ РАУНД. 1. Тема: Фольклор, продолжи вторую часть пословицы и поговорки: 10- Пришла беда -… 20- Искру туши до пожара, беду ….. 30- Не зная броду, 40- Перемелется … 50- Ученье-свет, а … Тема: Сказо...
2710. От деревянного острога до современного жилья 392.18 KB
  Внеклассный урок по теме. От деревянного острога до современного жилья Подготовка к уроку. Класс разбивается на 2 группы. каждый получает две цветных карточки небольшого размера (красную и зеленую). Оборудование. компьютер (ноутбук), мультиме...