36566

Область действия имен в программе

Контрольная

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

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

Русский

2013-09-22

29 KB

8 чел.

Область действия имен в программе.

В программах, не использующих подпрограммы, имена, описанные в разделе описаний, действуют во всей программе, не вызывая каких-либо проблем. Совершенно иная ситуация имеет место, когда в программе используются подпрограммы. В подпрограммах могут использоваться свои локальные (внутренние) имена, и кроме того, она может также использовать глобальные (внешние) для неё имена из других подпрограмм или основной программы. Поскольку допустима иерархия подпрограмм в основной программе, необходимы чёткие правила действия имён в программах с подпрограммами. Рассмотрим эти правила, действующие в Турбо Паскале. Введём соответствующие определения.

Локальными именами подпрограммы называются те имена, которые описаны в этой подпрограмме (в её разделе описаний). Все остальные, используемые в подпрограмме имена, являются глобальными именами данной подпрограммы.

Правило действия локальных имён: все локальные имена доступны внутри подпрограммы и недоступны вне этой подпрограммы. Другими словами локальные имена теряют свои значения непосредственно при завершении подпрограммы. Пример: в процедуре print_f имена count, X, j - локальные имена.

Правило действия глобальных имён: все глобальные имена доступны внутри подпрограмм в том случае, если они отличны от локальных имён. В той же процедуре print_f глобальным именем является имя процедуры window (из модуля CRT).

Правило коллизии имён: Если локальные и глобальные имена (и типы) совпадают, то действует локальное имя, (оно "закрывает" такое же глобальное имя внутри подпрограммы).

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

Формальные параметры подпрограммы локальны в этой подпрограмме, а фактические - глобальны.

Глобальные имена (не входящие в фактические параметры) в силу правила их действия могут выступать как ещё один механизм связи подпрограмм с внешним окружением (дополнительный к механизму параметров подпрограмм, который следует считать основным).

Однако при проектировании процедур по возможности следует использовать механизм параметров, поскольку он более структурированный и приводит к более понятным текстам программ. Если в подпрограмме используются одновременно и параметры и глобальные переменные, то это может быть свидетельством неудачно проведенной декомпозиции на подпрограммы: общее правило проектирования подпрограмм гласит, что подпрограмма должна иметь связи через минимальное число параметров или глобальных переменных. Впрочем, исключать использование глобальных переменных как самостоятельно, так и совместно с параметрами, конечно, нельзя.

Задача 4.2.6(4)

program alex4;

type mas=array[1..4,1..5]of integer;

mass=array[1..5]of integer;

var a:mas;

p:mass;

i,j,y:integer;

procedure proc(x:mas;k:integer;var pr:integer);

var i:integer;

begin

pr:=1;

for i:=1 to 5 do

if x[i,k]<0 then pr:=pr*x[i,k];

end;

begin

for i:=1 to 4 do

for j:=1 to 5 do

read(a[i,j]);

for j:=1 to 5 do

proc(a,j,p[j]);

y:=sqr(1-p[5])+sqr(2-p[4])+sqr(3-p[3])+sqr(4-p[2])+sqr(5-p[1]);

writeln('y=',y);

readln;

end.


 

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

25406. Этнографические аспекты социальной работы 18.08 KB
  Этнографические аспекты социальной работы. В Российской Федерации проживают разные этнические группы отличающиеся не только по внешним признакам но и по многим другим особенностям: конфессиональной принадлежности менталитету языку обычаям традициям а следовательно и профессиональная среда социальной работы полиэтнична что требует от специалиста по социальной работе определенной подготовки а именно этнокультурной компетентности. Кроме того изучением этносов занимается этнология наука изучающая процессы формирования и развития...
25407. Демографические аспекты в социальной работе 66 KB
  Состав населения это распределение людей образующих население по группам в соответствии со значениями того или иного признака и по любому другому признаку по полу возрасту и т. На сегодняшний день численность населения в мире составляет более 6 млрд. причем городского населения 381900чел. Предмет демографии был определен учеными в XX веке 90х годов которым является воспроизводство населения т.
25408. Технологии организационно-административной работы в системе социальных служб, учреждений и организаций 69.5 KB
  Цель деятельности организаций в системе социальной поддержки установление устойчивых и упорядоченных связей между различными уровнями системы призванной обеспечить нуждающихся в помощи. К системе социальных служб учреждений и организаций можно отнести: Центры помощи детям оставшимся без попечения родителей; Социальные приюты; Центры психологопедагогической помощи населению; Телефоны доверия; Центры социальной помощи на дому; Дома ночного пребывания; Специальные дома для пожилых; Стационарные учреждения социального обслуживания;...
25409. Региональная социальная политика: сущность и содержание 17.66 KB
  Социальная политика это одно из главных направлений внутренней политики государства призванное обеспечить воспроизводство тех социальных ресурсов из которых черпает себе поддержку создает предпосылки для своей деятельности и стабильности общественной системы. Факторами серьезно влияющими на реализацию государственной в том числе социальной политики являются значительные географические и климатические различия российских регионов которые накладывают свой отпечаток на условия деятельности и образ жизни населения. Характеристика...
25410. Механизмы реализации социально-правовой политики в Республике Хакасия 45 KB
  Механизмы реализации социальноправовой политики в Республике Хакасия Формирование и функционирование механизма реализации социальноправовой политики определяется объективными потребностями и тенденциями общественного развития. Особый интерес для нас представляют нормативноправовые акты в части социальной защиты населения в Республике Хакасия. Законодательство Республики Хакасия о социальном обслуживании населения основывается на общепризнанных принципах и нормах международного права Конституции Российской Федерации Федеральном законе Об...
25411. Общественные объединения региона: характеристика, место и роль в решении социальных проблем 60 KB
  Исторически под общественными объединениями всегда понимались формы общественной активности граждан которая может быть реализована путем создания организаций. Деятельность общественных объединений это своего рода проявление социальных инициатив различных слоев населения и отдельных граждан в ответ на реалии социальноэкономической ситуации в стране состояние системы социальной защиты населения и стремление оказать помощь и поддержку другим гражданам в трудной жизненной ситуации. понимается добровольное самоуправляемое некоммерческое...
25412. Социальная работа с лицами делинквентного поведения 54 KB
  Социальная работа с осужденными пенитенциарная социальная работа это специфический вид профессиональной деятельности по оказанию социальной помощи поддержки и защите несовершеннолетних осужденных в целях их исправления и ресоциализации в период исполнения уголовного наказания а также адаптации реадаптации в обществе после освобождения. Основной целью социальной работы с осужденными в местах лишения свободы является создание предпосылок для исправления и ресоциализации несовершеннолетних осужденных а также для их успешной адаптации...
25413. Социальная работа в наркологии 38 KB
  Цель социальной работы в сфере наркологии комплексная социальная помощь входящим в группы повышенного риска развития наркологических заболеваний и лицам страдающим зависимостью от ПАВ членам их семей и ближайшего окружения включающая медицинские медикопсихологические социальнопсихологические педагогические и правовые аспекты. Задачи социальной работы в наркологии: участие в программах первичной профилактики зависимости от ПАВ; выявление лиц входящих в группы риска работа с ними; содействие в привлечении к лечению лиц...