ПредишенСледващото

Припомнете си, че всеки модул (процедура, функция, програма) се състои от глава (процедура ..., ... функция, програма ...) и блока.

Ако някоя процедура единица съдържа p1 p2 в процедура. Тогава ние казваме, че е вграден в p2 p1.

Всички документи за самоличност, въведени във всички единици (процедури, функции) да описват променливи, константи, типовете, процедури, наричани за местна единица. Такава единица заедно с модулите вложени в него, наречен на обхвата на тези местни променливи, константи, процедури и видове.

Константи, променливи, видове, описани в блок програма наречените глобални. Тя ще изглежда по-лесно да се справят с по принцип само с глобални променливи, описващи всички тях в програмата. Но използването на локални променливи позволява на системата да оптимизирате по-добре на програмата, което ги прави по-видими и намалява вероятността от грешки.

Когато пишете програми с вложени модули, трябва да се придържате към следните правила:

  1. Опишете идентификаторите в устройството, където те се използват, ако е възможно.
  2. Ако един и същи обект (тип променлива константа) се използват в две или повече блокчета, е необходимо да се опише обекта в най-отдалечените от тях съдържащ всички други звена, които използват този обект.
  3. Ако променливата се използва в процедурата, трябва да запази стойността си до следващия разговор на тази процедура, е необходимо да се опише такава променлива във външна блок, съдържащ процедурата.

Локализация на променливи дава програмист по-голяма свобода при избора на идентификатори. Така, ако две процедури А и В са напълно отделени една от друга (т.е., не вложени един в друг), идентификаторите в тях могат да бъдат избрани доста произволно, по-специално, може да се повтори. В този случай, съвпадение идентификатор различните области на паметта не съответстват напълно свързани един с друг.

Ако същото идентификатор е описано в раздел Б и втори път, описан в вместения блок B C. ние трябва да помним, че тези два еднакви идентификатор съответстват на различни места в паметта.

Глобалните променливи I и прибрано две клетки на паметта. Първият изявленията на: = 2.0 и аз: = 15. След това, р (а) процедурата се нарича. По време на работа на клетъчния р е даден за локална променлива аз и да се изпрати на броя 3. След края на клетката е р аз процедура програма "забравени". След завръщането си в програмата за изявление writeln знае само една клетка аз - глобално, т.е. този, който съдържа номера 15. Поради това, програмата ще отпечата I = 15, а = 23.0, защото а = 3 + 10 * 2.

Ако местните и глобални променливи принадлежат към същата комплекс вида, този тип трябва да бъдат описани в раздел тип. и описват променливите себе си чрез този общ тип.

В този пример, променливите А и В са описани чрез обща типа АВ. Ако местните и глобални променливи са описани по същия начин, но не и чрез общ тип, програмата не може да "разбере", че тези променливи принадлежат към един и същи тип.

В този пример, променливите А и В - същия спектър, т.е. Тези два типа са едни и същи, но програмата е, обаче, "не вярвам", че а и б принадлежат към един и същи тип. Това се дължи на факта, че описанието, дадено масиви в различни блокове.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!