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.


 

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

80872. Формы участия граждан в осуществлении местного самоуправления в муниципальном образовании 46.48 KB
  Предусматривает что МСУ осуществляется гражданами путем референдума выборов других форм прямого волеизъявления через выборные и другие формируемые ОМСУ. включает формы непосредственной демократии когда сам гражданин непосредственно принимает участие в решении того или иного вопроса. группу составляют формы представительной демократии – выборные и другие ОМСУ когда участие гражданина состоит в выборах своих представителей для решения вопросов местной жизни.
80873. Организация территориального общественного самоуправления в муниципальном образовании 45.57 KB
  В соответствии с 131ФЗ Об общих принципах организации местного самоуправления в РФ: ТОС самоорганизация граждан по месту их жительства на части территории муниципального образования территориях поселений не являющихся муниципальными образованиями микрорайонов кварталов улиц дворов и других территориях для самостоятельного и под свою ответственность осуществления собственных инициатив в вопросах местного значения непосредственно населением или через создаваемые им органы территориального общественного самоуправления. Границы...
80874. Структура органов местного самоуправления: состав, полномочия 48.43 KB
  В субъектах РФ в городах федерального значения Москве и Санкт-Петербурге в соответствии с уставами и законами соответствующих субъектов РФ могут не создаваться выборные городские органы местного самоуправления; 2 другие органы образуемые в соответствии с уставами муниципальных образований структура органов местного самоуправления определяется населением самостоятельно. Образование органов местного...
80875. Организация аттестации муниципальных служащих 42.43 KB
  Порядок проведения аттестации Порядок проведения аттестации муниципальных служащих определяется путем принятия положения о проведении аттестации муниципальных служащих каждым муниципальным образованием в соответствии с Типовым положением о проведении аттестации муниципальных служащих. Для проведения аттестации на каждого муниципального служащего готовятся аттестационный лист муниципального служащего и отзыв об исполнении подлежащим аттестации муниципальным служащим должностных обязанностей за аттестационный период. Отзыв представляется не...
80876. Муниципальное образование как объект управления 43.36 KB
  Федеральный закон №131 Об общих принципах организации МСУ в РФ: МО – это городское или сельское поселение муниципальный район городской округ либо внутригородская территория города федерального значения. Сельское поселение один или несколько объединенных общей территорией сельских населенных пунктов поселков сел станиц деревень хуторов кишлаков аулов и других сельских населенных пунктов в которых МСУ осуществляется населением непосредственно и или через выборные и иные органы МСУ; Городское поселение город или поселок в...
80878. Муниципальное управление общественной безопасностью 45.48 KB
  В систему общественной безопасности на территории муниципального образования входят направления деятельности: 123 Каждое из них обеспечивает предоставление населению определенной общественной услуги по месту проживания и передвижения. Основным субъектом обеспечения общественной безопасности на муниципальных территориях является государство осуществляющее свои функции в данной области через органы законодательной исполнительной и судебной власти. На поселения возложены участие в предупреждении и ликвидации чрезвычайных ситуаций в его...
80879. Муниципальное управление жилищно-коммунальным комплексом 45.34 KB
  В состав ЖКК входят три основных блока:=жилищное хозяйство т. Государственная политика реформирования ЖКК. Основные направления реформирования ЖКК: Финансовое оздоровление предприятий ЖКК Передача распоряжения бюджетными средствами на дотирование отрасли от предприятий к жителям осуществляется в комплексе с мерами социальной защиты малоимущих граждан. Вместо дотирования предприятий ЖКК вводятся адресные жилищные субсидии зачисляемые на персонифицированные счета граждан.
80880. Основы государственной и муниципальной социальной политики 46.75 KB
  Одной из главных задач органов местного самоуправления является формирование и реализация муниципальной социальной политики. Муниципальная социальная политика это система целей задач и механизмов их реализации направленных на обеспечение населения социальными услугами на содержание и развитие социальной сферы муниципального образования.соцполитику реализуются как собственные полномочия МС так и переданные на муниципальный уровень государственные полномочия в социальной сфере.