Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по технологии программирования1.DOC
Скачиваний:
55
Добавлен:
02.05.2014
Размер:
513.02 Кб
Скачать

37. Дайте определение и приведите пример линейного двусвязного списка.

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

Логическая структура двусвязного списка:

В первой записи пустым является обратный указатель, а в последней – прямой. В этом случае доступ к списку возможен как с начала списка, так и с его конца. Например, если физическая последовательность записей содержательных частей двусвязного списка является следующей: L1:<D1>,<0>,<L5>; L2:<D2>,<L4>,<L3>; L3:<D3>,<L2>,<0>; L4:<D4>,<L6>,<L2>; L5:<D5>,<L1>,<L6>; L6:<D6>,<L5>,<L4> и состояние указателя начала списка - <L3>, а указателя конца списка- <L1>, то логическую последовательность содержательных частей этого списка - <D3>, <D2>, <D4>, <D6>, <D5>, <D1>.

38. Какие модели ЖЦ ПП Вы знаете. В чем отличие моделей жизненного цикла (ЖЦ) программного продукта (ПП) в традиционной и CASE- технологии разработки ПО? Модель ЖЦ ПП определяет перечень этапов преобразования программа -> программное средство -> программный продукт, порядок выполнения этапов, а также критерии перехода от этапа к этапу. Традиционная модель ЖЦ ПО строится по каскадному принципу (переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем. CASE-технология базируется на спиральной модели ЖЦ ПП, суть которой в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта. Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования. Чем же принципиально CASE-технология отличается от традиционной? Исторически так сложилось, что при проектировании новых объектов структурный аспект отражается в виде схем (принципиальные электрические схемы, механические схемы, комбинированные схемы и т.п.). Так вот CASE-технологии иначе еще называют структурным системным анализом, что отражает тот факт, что и функционирование объекта (в рассматриваемом случае разрабатываемого ПО) отражается в различных схемах, таблицах, диаграммах, матрицах, картах и т.п

39. Перечислите основные принципы структурного программирования. Цель структурного программирования – разработка программы, которой присуща определенная структура, основанная на применении принципов структурного программирования. Перечислим эти принципы:

1. Каждый программный модуль (блок, функция, процедура) должен иметь только один вход и один выход. Это позволяет максимально упростить стыковку модулей в программе.

2. В программах рекомендуется применять 4 типа конструкций: а) последовательность ( модулей, операторов) б) разветвление (условный оператор); в) цикл 1) с предусловием 2) с постусловием 3)выбор из нескольких альтернатив

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