Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Достоинства. Размножение окрестности




Недостатки

Размножение окрестности

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

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

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

 

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

- Безболезненно выполняется и обратная операция, ликвидирующая вариантность.

 

Использование подпрограмм

Вариантный фрагмент извлекается из окружающего его текста и выносится в самостоятельный модуль. На его месте в исходном тексте записывается оператор вызова подпрограммы,

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

В последующей сборке любой конкретной конфигурации программы участвует только один из модулей-подпрограмм. Заметим, что обычно такое попеременное участие в сборке проще организовать, если сформированные сменные модули-подпрограммы допускают автономную трансляцию.

Недостатки:

- С точки зрения безболезненности выполнения изменений текста применение подпрограмм значительно уступает размножению окрестности. Исходная версия программы здесь претерпевает значительные изменения: добавляются оператор вызова подпрограммы, заголовок подпрограммы. Работоспособность исходной версии сохранится лишь в случае, если все соответствующие редактирующие действия будут выполнены безошибочно. Предположение о безусловной безошибочности редактирования нельзя при­знать реалистичным. Отсюда следует, что применение аппарата подпрограмм для оформления варианта свойством безболезненности не обладает.

- Не будет безболезненным и обратное преобразование текста программыя.

Достоинства:

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

- Если не стремиться к строгому откату, восстанавливающему первоначальное состояние текста программы, и разрешить оставить в безвариантной программе как сформированную подпрограмму, так и обращение к ней, то ликвидацию вариантности можно провести безболезненно.

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

Метод использования оператора выбора

Вводится специальная переменная, которая будет управлять включением той или иной ветви оператора выбора. На месте вариантного фрагмента записывается оператор выбора, управляемый введенной переменной. Ветви оператора выбора представляют собой старый и новый вариантные фрагменты.

Недостатки:

- Включение и исключение ветвей выбора всегда сопряжено с редактированием текста существующей программы, а это угрожает потерей работоспособности отлаженной ранее версии.

- Загромождение исходного текста программы вариантными ветвями.

Достоинства:

- Не происходит дублирование текста.

 

Превращение в комментарии

При появлении нового вариантного фрагмента старый фрагмент превращают в комментарий, вставляя в исходный текст соответствующие конструкции языка программирования, а новый фрагмент располагают вслед за старым. При необходимости включения в выполняемую программу «закомментированного» ранее вариантного фрагмента включенный теперь фрагмент подобным же образом превращается в комментарий, а требуемый фрагмент «раскомментируется, т.е. из текста удаляются вставленные ранее конструкции, превращавшие фрагмент в комментарий.

Недостатки:

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

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

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

Достоинства:

- Дублирования текста при превращении в комментарий не происходит.


Предмет: «Основы алгоритмизации и программирования»

Вопрос 1 Алгоритмы. Основные черты алгоритмов. Алгоритмические языки и языки программирования. Язык блок схем. Понятие программы.

 

Алгоритм является одним из основных понятий математики. Впервые алгоритм был сформулирован азербайджанским математиком Аль Хорезми, он сформулировал правила выполнения 4-х математических действий над числами. В переводе с латыни алгоритм - форма написания. В настоящие время разные авторы по своему трактуют понятие алгоритма и дают следующие определения:

алгоритм – это последовательность действий со строго определенными правилами.

алгоритм – это точное и полное предписание исполнителю, который совершив определенную последовательность действий достигнет поставленную цель.

Примеры:

1. нахождение пути из пещеры;

2. рецепт приготовления кулинарного изделия;

3. правила пользования телефоном автоматом;

4. сложение двух чисел в десятичной системе.

При всем многообразии, как самих алгоритмов, так и способов их записи всем им присуще следующие черты:

1. МАССОВОСТЬ это возможность применение алгоритмов для решения целого класс задач, отвечающих общей постановкой задач.

2. ДИСКРЕТНОСТЬ каждый алгоритм представляет собой последовательность явно различных отдельных шагов. Эти шаги называются командами.

3. ДЕТЕРМИНИРОВАННОСТЬ сколько бы раз один и тот же алгоритм не применять к одним и тем же исходным данным, он должен давать один и тот же результат.

4. НАПРАВЛЕННОСТЬ алгоритм всегда должен завершаться на некотором этапе и однозначно определять, что является его результатом его выполнения.

Система обозначений (язык) используемый для записи алгоритма называется алгоритмическим языком(ая). АЯ должен содержать фразы, компоненты для интерпретации (понимания) предполагаемого исполнителя это алгоритма.

Однако есть языки которые плохо подходят для записи алгоритма т. к.:

1. Они слишком громоздки;

2. Не всегда однозначны;

3. Не всегда наглядны.

Поэтому используются специально для этой цели предназначенные языки, которые обычно и называются АЯ. Рассмотрим наиболее известные.




Поделиться с друзьями:


Дата добавления: 2015-06-26; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.