69751

Принцип локалізації

Домашняя работа

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

Метод покрокової деталізації та апарат процедур якраз і дають змогу вести таку паралельну розробку програм. Створені часткові алгоритми подають у вигляді досить автономних частин програми - описів процедур, які потім достатньо вставити в розділ опису процедур і функцій програми.

Украинкский

2014-10-09

38 KB

1 чел.

Самостійне вивчення

Тема 9. Принцип локалізації

Для розв'язування складних задач за допомогою комп'ютера, як зазначено, застосовують метод низхідного програмування і покрокової деталізації. У цьому випадку задачу розділяють на простіші підзадачі, які доручають виготовляти різним програмістам або колективам, щоб пришвидшити виготовлення великої програми. Метод покрокової деталізації та апарат процедур якраз і дають змогу вести таку паралельну розробку програм. Створені часткові алгоритми подають у вигляді досить автономних частин програми - описів процедур, які потім достатньо вставити в розділ опису процедур і функцій програми. За такої організації роботи бажано, щоб реалізація окремих алгоритмів була якомога автономнішою, а в завданні з виготовлення певної процедури потрібно задавати тільки її функцію і зв'язки за вхідними і вихідними даними.

Однак у процесі розробки часткових алгоритмів виникає потреба вводити додаткові типи значень, програмних об'єктів, наприклад, допоміжних змінних для подання проміжних результатів. У цьому випадку можуть виникнути труднощі, пов'язані з тим, що однакові імена можуть мати тільки одне призначення і кожне з них може бути використане для позначення тільки однієї змінної.

Ці труднощі в мові Паскаль усунуті завдяки блоковій структурі програми і принципу локалізації, суть якого полягає в тому, що імена, введені в конкретній процедурі, чинні тільки в межах цієї процедури. Розглянемо такий приклад:

program LOC(output);

const n=1;

var t: real; x: char;

procedure P(x, y: real);

var n: real;

begin

n:=x+t;

t:=y;

writeln(n, t, x);

end,

begin

t:=n/2;

x:="+";

P(n, 0.8);

writeln(n, t, x);

end.

Це приклад програми, в тілі якої описана процедура Р. У блоці головної програми описано чотири ідентифікатори: n, t, х і Р. їхні описи чинні в усьому описі головної програми, за винятком, можливо, опису процедур і функцій.

Опис процедури може містити три типи ідентифікаторів: формальні параметри, глобальні й локальні ідентифікатори.

Щодо формальних параметрів, то відомо, що вони можуть бути параметрами-значеннями і параметрами-змінними. Змінні, що відповідають параметрам-значенням, діють тільки протягом виконання процедури; параметри-змінні тільки вказують на відповідні змінні програми, яка викликає, і є фактичними параметрами.

У наведеному вище прикладі параметрами процедури Р є формальні параметри-значення. У разі звертання їм будуть присвоєні значення фактичних параметрів x=1, v=0.8, а після виходу з процедури вони стають недоступними.

Глобальні ідентифікатори не є формальними параметрами і не описані в тілі процедури, вони можуть мати той самий сенс, що й до моменту входження в процедуру. В процедурі Р глобальним ідентифікатором є змінна t. У тілі процедури ця змінна має значення r=0.5. Отже, за допомогою глобальних ідентифікаторів можливий безпосередній зв'язок процедури з блоком, який її охоплює, обминаючи формальні параметри.

Локальні ідентифікатори також не є формальними параметрами, однак, на відміну від глобальних, описані в тілі процедури. Принцип локалізації полягає в такому: якщо якийсь ідентифікатор описаний у тілі процедури, то всередині процедури він набуває змісту згідно з описом. Якщо ж цей ідентифікатор був описаний ще й поза тілом процедури - в блоці, що її охоплює, то дія попереднього опису тимчасово (до виходу з процедури) припиняється. Зокрема, якщо ідентифікатор у попередньому описі був іменем деякого програмного об'єкта, то цей об'єкт стає недоступним з тіла процедури. Після виходу з процедури опис у тілі процедури вже не діє і цей ідентифікатор знову набуває того змісту, що мав до входження в процедуру (якщо він був описаний поза процедурою). Якщо ідентифікатор, локалізований у тілі процедури, є іменем програмного об'єкта, то у разі виходу з процедури він перестає діяти, а після входження знову функціонує.

У прикладі, який ми розглядаємо, п описана в головній програмі як стала. Після входження в процедуру вона втрачає сенс сталої і набуває сенсу дійсної змінної. Програма працює так: t=0.5; х='+'. Під час входження в процедуру змінним х і у, що є формальними параметрами, присвоюються значення х=1; y=0.8. Дійсна змінна n=1+0.5= 1.5 (оскільки t зберігає свій сенс і у процедурі як глобальна змінна), t=0.8. Отже, оператор виведення дає 1.5; 0.8; 1.0. Після виходу з процедури виводяться величини, позначені такими ж ідентифікаторами. Однак тепер будуть виведені дещо інші значення - 1; 0.8; +, оскільки перший і третій ідентифікатори набувають сенсу, описаного в головній програмі, і виводяться значення, які вони мали до входження в процедуру; тільки t, як глобальна змінна, має значення, одержане в процедурі.

Під час викликання фактичних параметрів за іменем (тобто коли формальні параметри є параметрами-змінними), може трапитись колізія між ними й ідентифікаторами, локалізованими в тілі процедури. Однак вона буде обов'язково усунена автоматично внаслідок зміни ідентифікаторів, локалізованих у тілі процедури, що забезпечує транслятор. Наприклад,

var x, у: real;

………….

procedure P1(b: real; var y: real);

………….

P1(x,y);

…………

Цю колізію транслятор усуває, вводячи в процедурі замість у іншу змінну, наприклад у 1.

Отже, як локалізовані в процедурі можна брати довільні ідентифікатори, які не використовуються як формальні параметри цієї процедури і не збігаються з глобальними ідентифікаторами. З іншими ідентифікаторами, що використані поза цією процедурою, вони можуть збігатися.

Зазначимо, що принцип локалізації стосується всіх описів, у тому числі й описів процедур. Під час описування деякої процедури Р може виникнути ситуація, коли треба використати інші процедури. Якщо ці процедури будуть використані тільки в Р, тобто вони мають локальний характер, то їхній опис доцільно ввести всередину Р. Наприклад,

procedure P(a: real; var b: real);

var с: integer;

procedure P1(d: integer; x: real);

………

begin

………

end;

procedure P2()

……..

begin

……..

end;

…….

Begin

…….

      P1();

      …….

      P2();

      …….

      end

Звертання до процедур P1 і Р2 можливе лише в процедурі Р, причому формальні параметри зовнішньої процедури можна використовувати як фактичні параметри у разі звертання до локалізованих у ній процедур.


 

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

45205. Сметная прибыль. Определение, виды, база исчисления, состав затрат 16.01 KB
  В состав нормативов СП входят затраты: Отдельных федеральных регионов местные сборы Налог на прибыль Налог на имущество по ставкам установленным организацией местного самоуправления не выше 5 Расширение производства подрядовой организации Модернизация оборудования Реконструкция объектов основных фондов Материальная стимуляция работников Проведение мероприятий по охране и отдых несвязанных с участием работников производственных процессов Организация помощи учебным заведениям Виды сметной прибыли Общеотраслевой норматив...
45206. Локальные и объектные сметные расчеты 169.89 KB
  2004 методика по определению стоимости строительства строит. стоимости 1. Показатели единичной стоимости по конструктивным элементам Объектносметный расчет рекомендуется составлять в текущем уровне цен на объекты в целом путем суммирования ранних из локальных сметных расчетов с группировкой затрат по соответствующим графам сметной стоимости По стоимости: строительных работ монтажных работ стоимости оборудования мебели и инвентаря прочих затрат С целью определения полной стоимости объекта в конце объектной сметы рекомендуется...
45207. Методы определения стоимости строительства 15.32 KB
  Методы определения стоимости строительства При составлении смет и сметных расчетов могут применяться следующие методы определения стоимости: Базисно-индексный Ресурсный Метод на основе укрупненных сметных нормативов в том числе банка данных о стоимости ранее построенных или запроектированных объектованалогов Базисноиндексный метод Определение стоимости строительства предусматривает составление сметных расчетовсмет на различных тсадиях инвестиционного строительного процесса в базисном уровне цен с использованием единичных расценок...
45208. Базисно-индексный метод определения стоимости строительства 16.88 KB
  Определение стоимости строительства предусматривает составление сметных расчетов смет на различных стадиях инвестиционно-строительного процесса в базисном уровне цен с использованием единичных расценок действующей сметно-нормативной базы и системы текущих прогнозных индексов. Используемые при подготовке сметных расчетов индексы изменения сметной стоимости дифференцирования: по статусу используемых нормативов федеральные территориальные отраслевые индивидуальные по видам строительства по способу применения к сметной стоимости...
45209. Инструментальное оснащение и ресурсное обеспечение проектов 29.5 KB
  Определение и харка аудитории проекта Инструментальное оснащение проекта: Задачи: поиск вариантов проектного изменения ситуации просчитать последствия реализации каждого решения и выбрать оптимальное обосновать наиболее эффективные формы коммуникации определить срва и методы достижения целей средства то с помощью чего ситуация преобразуется в соответствии с ее нормативной моделью. проекта которые рассматриваются в качестве источника проблем инициатора проекта и носителя ресурсов. Технологическое воздействие оснащение...
45210. Бренд как предмет маркетинговой коммуникации: структура, технологии формирования 28.5 KB
  Бренд как предмет маркетинговой коммуникации: структура технологии формирования. Бренд значит клеймо то есть клейменый товар с определенной маркой содержащей имя производителя и являющейся гарантией определенного качества. Бренд как предмет и результат маркетинговой коммуникации представляет собой сложноконструированный феномен. С одной стороны бренд предполагает известность торговой марки и гарантированное качество.
45211. Этапы и технологии проектного обоснования рекламной кампании 28.5 KB
  Этапы и технологии проектного обоснования рекламной кампании Определение целей и задач рекламной кампании. Содержание целевого блока определяется в зависимости от нескольких факторов: проблем рекламодателя; специфики предмета рекламной коммуникации размера и особенностей целевого сегмента силы партнеров и характера конкуренции этапа жизненного цикла предмета рекламы и др. Возможные цели рекламной кампании: продвижение продукта или услуги на рынок; стимулирование потребительской активности целевых групп путем формирования потребности в...
45212. Маркетинговый потенциал и технологии разработки социально культурных программ 26 KB
  Маркетинговый потенциал и технологии разработки социально культурных программ Потенциал: В постиндустриальном мире сфера культуры из иждивенца экономики превращается в главную движущую силу развития общества. За счет культурных ресурсов развивается въездной туризм. Известные корпорации активно участвуют в спонсировании масштабных культурных акций активно используя культурные символы в продвижении своих имен и брендов. Поддержка культурных программ способствует формированию позитивного имиджа компании ее репутация повышает социальную...
45213. Этапы и технологии проектирования, социально культурной акции 36 KB
  Характеристика аудитории проекта т. Характеризуя аудиторию программы необходимо выявить наиболее сущностные личностные и социально-культурные проблемы; определить их источники установить причинно-следственную зависимость; обосновать возможности разрешения или предупреждения в рамках разрабатываемого проекта. Именно они определяют наряду с социальнокультурной проблематикой цели и задачи проекта виды и содержание деятельности. Ориентация на решение социальных проблем это способ повышения общественной значимости проекта а...