ПАСКАЛЬ Чем отличаются параметры-значения и параметры-переменные?

А04рлан05 А04рлан05    3   22.05.2020 05:23    0

Ответы
Sasci Sasci  22.05.2020 22:30

Любой из формальных параметров подпрограммы может быть  либо  параметром-значением,  либо  параметром-переменной,  либо  параметром-константой.  Если параметры  определяются  как  параметры-переменные,  перед  ними  необходимо ставить зарезервированное слово VAR, например:                        

           procedure  p (var a : real);   Здесь  параметр  а  -  параметр-переменная.

     Заголовок процедуры может быть устроен так, что некоторые группы  формальныхпараметров не содержат слова VAR. Например:                        

           procedure  p (a,b,c:real; var s:real);

     Формальные параметры, которые входят в  группы,  не  содержащие  слова  VAR,называются формальными параметрами-значениями.

     Определение формального параметра тем или иным существенно  толькодля вызывающей программы: если формальный параметр  объявлен  как  параметр-переменная,  то  при  вызове   подпрограммы   ему   должен   соответствовать фактический параметр в виде переменной определенного  типа; если  формальный параметр  объявлен  как  параметр-значение,  то   при   вызове   ему   может соответствовать  произвольное   выражение.   Контроль за неукоснительным соблюдением этого правила осуществляет компилятором ТУРБО ПАСКАЛЯ.

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

     Если  параметр  определен  как  параметр-значение,   то   перед   вызовомподпрограммы это значение вычисляется, полученный  результат  копируется  во временную память и передается подпрограмме. Важно учесть, что  даже  если  в качестве  фактического  параметра  указано выражение   в   виде переменной или константы, все равно подпрограмме будет передана  лишь  копия переменной  (константы).  Таким  образом,  назначение  параметра-значения  – передача данных из программы в подпрограмму. Если же параметр определен  как параметр-переменная, то при вызове подпрограммы передается сама  переменная, а не ее копия. Любые возможные изменения в  подпрограмме  параметра-значения никак не  воспринимаются  вызывающей  программой,  так  как  в  этом  случае изменяется копия фактического параметра, в то время как изменение параметра-переменной приводит к изменению самого фактического параметра  в  вызывающей программе. Параметр-константа схож с параметром-переменной:  в  подпрограмму передается сама константа, но изменение  её  невозможно.  Назначение  такого параметра совпадает с назначением параметра-значения. Формальные параметры-константы указываются в заголовке программы после  служебного  слова  const. Его действие рас до ближайшей точки с запятой.

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика