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

49.Перечислите основные принципы структурного программирования.

Принципы структурного программирования:

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

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

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

3. разработку программ рекомендуется вести сверху – вниз или по нисходящей стратегии.

50. Приведите пример статической структуры данных. Назовите составные части этой структуры и их связи. Статические структуры характеризуются тем, что для их размещения в памяти ЭВМ выделяется фиксированный объем памяти. СС подразделяются на вектора, массивы, записи и таблицы. Вектор – конечное упорядоченное множество простых данных или скаляров одного и того же типа. Элементы вектора находятся между собой в отношении непосредственного следования. В памяти ЭВМ элементы вектора представляются последовательностью одинаковых по длине участков памяти, как правило, расположенных в порядке следования элементов в группе. к-мерным массивом называется конечное упорядоченное множество (к-1) мерных массивов, все элементы которых принадлежат одному и тому же типу. При к=1 получаем вектор.

51. В чем отличие отладки и тестирования программ? Какие методы применяются при отладке программ? Целью тестирования является обнаружение ошибок в программе. Отладкой называется процесс выявления природы ошибки программы и исправления ошибок, после того, как ошибки были обнаружены в процессе тестирования. На этом этапе выделяют две задачи: 1)определение природы ошибки; 2)исправление ошибки. Наиболее распространенными и наименее эффективными для отладки являются так называемые методы ‘грубой силы’. К ним относят: 1)отладку с использованием дампа памяти; 2)отладку с использованием операторов печати по всей программе; 3)отладку с использованием автоматических средств: наиболее предпочтительно. Общей характеристикой методов ‘грубой силы’ является то, что они не требуют значительных умственных затрат и могут продолжаться бесконечно долго, если наряду с ними не применять более гибкие методы, к которым относятся:

1. метод индукции: он включает 1)определение данных тестирования, имеющих отношение к ошибке; 2)анализ от частного к общему позволит выявить закономерности в данных пункта 1); 3)в результате анализа (п.2) выдвигается гипотеза о причине ошибки; 4)для подтверждения гипотезы 3 разрабатывается один или больше тестов, которые должны либо подтвердить, либо опровергнуть гипотезу; 5)если дополнительные тесты подтверждают гипотезу, можно приступать к исправлению ошибки, а вот если не подтверждают, то требуется в лучшем случае возврат к п.3, а в худшем - к п.2.

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

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

1.Непостоянство и непредсказуемость р-ра (числа элементов) структуры в процессе ее обработки.

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

53.Приведите пример динамической структуры. Часто динамические структуры физически представляются в форме связных списков. Связный список – такая структура, элементами которой служат записи с одним и тем же форматом, связанные друг с другом с помощью указателей, хранящихся в самих элементах списка. В односвязном линейном списке каждый элемент состоит из двух различных по назначению полей: содержательного и поля указателя.

 -пустой указатель, означает конец списка.

Физическая структура списка может быть такой :

54. Назовите известные Вам методы тестирования стратегии “белого ящика” и укажите их основной недостаток. Стратегия ‘белого ящика’ основана на анализе логики программы. Существо подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается. Тестирование по принципу белого ящика характеризуется степенью, какой тесты выполняют или покрывают логику (исходный текст программы). Методы стратегии ‘белого ящика’: покрытия операторов; покрытия решений (покрытия переходов); покрытия условий; критерий решений (условий); комбинаторного покрытия условий. Существуют следующие недостатки. Недостаток в том, что даже выполнение всех путей не гарантирует соответствия программы ее спецификациям. Допустим, если требовалось написать программу для вычисления кубического корня, а программа фактически вычисляет корень квадратный, то программа будет совершенно неправильной, даже если проверить все пути. Вторая проблема - отсутствующие пути. Если программа реализует спецификации не полностью (например, отсутствует такая специализированная функция, как проверка на отрицательное значение входных данных программы вычисления квадратного корня), никакое тестирование существующих путей не выявит такой ошибки. И, наконец, проблема зависимости результатов тестирования от входных данных то есть когда путь может правильно выполняться для одних данных и неправильно для других.