- •1. Раскройте содержание предварительного и детального внешнего проектирования по.
- •2. Дайте определение структуры данных.
- •4. Перечислите принципы модульного программирования.
- •5. В чем заключаются восходящий и нисходящий методы проектирования по?
- •6. Какие стратегии тестирования Вы знаете? в чем их отличие?
- •7. Назовите символы, которые используются в схемах проектов по согласно гост, и приведите примеры таких символов.
- •8. В чем отличия нисходящего и восходящего метода тестирования программных модулей?
- •9. Дайте определения полустатических структур данных. Каковы их отличительные особенности?
- •10. Приведите пример структуры данных. Дайте пояснения относительно ее частей.
- •11. Назовите цель и перечислите принципы модульного программирования.
- •12. В чем отличия двумерного массива (матрицы) и таблицы?
- •45. Дайте определение технологии, методологии и метода.
- •14. Опишите этапы отладки и тестирования программ. В чем отличие целей отладки и тестирования?
- •16. Приведите структуры управления (последовательности операторов) в структурном программировании.
- •17. Дайте определения основных типов данных и назовите операции их обработки
- •18.Дайте определение схемы, перечислите схемы, которые используются при документировании по, и их назначение.
- •20. Перечислите основные стратегии тестирования. Какие известные Вам методы реализуют каждую из стратегий?
- •21. На чем основано процедурное программирование и каковы его недостатки?
- •22. Дайте определение структуры данных и приведите пример.
- •23. Назовите основные преимущества case- технологий по сравнению с традиционной технологией проектирования.
- •24. Приведите пример таблицы решений для какой-либо внешней спецификации.
- •25. Дайте определения статических структур данных. Каковы их отличительные особенности?
- •35. Дайте определение и приведите пример линейного односвязного списка.
- •36. Изложите цель и основные этапы реализации метода эквивалентного разбиения.
- •37. Дайте определение и приведите пример линейного двусвязного списка.
- •40. Дайте определение модуля и назовите его основные атрибуты.
- •41. Что такое макетирование программ, каковы его основные достоинства и где этот метод нашел широкое применение?
- •42. Перечислите критерии качества по и приведите их определения. Какие из них являются обязательными для по?
- •43. Перечислите особенности динамических структур данных.
- •44. Назовите последовательность работ при тестировании по. Какой или какие этапы являются наиболее ответственными и почему?
- •46. В чем отличие каскадной и спиральной моделей жизненного цикла по?
- •49.Перечислите основные принципы структурного программирования.
- •55.Дайте определение и приведите пример нотации.
- •61. Какие подходы применяют при тестировании модульных программ? в чем их отличие?
- •64. В каком случае представление разреженной матрицы в виде нелинейного списка выгоднее представления в памяти эвм всех элементов матрицы?
- •67.Приведите компактную структуру в памяти эвм для хранения приведенной ниже матрицы:
- •69. Приведите более быстрый вариант вычисления и мотивируйте его преимущества:
- •70. Приведите двумерную матрицу, которая в памяти эвм хранится в виде следующего нелинейного списка:
- •71. Приведите двумерную матрицу, которая в памяти эвм хранится в виде следующего нелинейного списка:
- •72. Укажите обратную логическую последовательность содержательных частей двусвязного списка, физическая последовательность записей которых является следующей:
- •73. Укажите логическую последовательность содержательных частей односвязного списка, физическая последовательность записей которых является следующей:
- •74. Приведите компактную структуру в памяти эвм для хранения приведенной ниже матрицы:
- •75. Приведите двумерную матрицу, которая в памяти эвм хранится в виде следующего нелинейного списка:
- •76. Укажите обратную логическую последовательность содержательных частей двусвязного списка, физическая последовательность записей которых является следующей:
- •77.Отметьте правильные утверждения:
- •83.Отметьте правильные утверждения относительно массива и таблицы:
- •84.Если описание двумерного массива в программе на языке Фортран Dimension f(m, 2:n) и элемент массива занимает d байтов памяти эвм, то функция упорядочения равна:
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. Назовите известные Вам методы тестирования стратегии “белого ящика” и укажите их основной недостаток. Стратегия ‘белого ящика’ основана на анализе логики программы. Существо подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается. Тестирование по принципу белого ящика характеризуется степенью, какой тесты выполняют или покрывают логику (исходный текст программы). Методы стратегии ‘белого ящика’: покрытия операторов; покрытия решений (покрытия переходов); покрытия условий; критерий решений (условий); комбинаторного покрытия условий. Существуют следующие недостатки. Недостаток в том, что даже выполнение всех путей не гарантирует соответствия программы ее спецификациям. Допустим, если требовалось написать программу для вычисления кубического корня, а программа фактически вычисляет корень квадратный, то программа будет совершенно неправильной, даже если проверить все пути. Вторая проблема - отсутствующие пути. Если программа реализует спецификации не полностью (например, отсутствует такая специализированная функция, как проверка на отрицательное значение входных данных программы вычисления квадратного корня), никакое тестирование существующих путей не выявит такой ошибки. И, наконец, проблема зависимости результатов тестирования от входных данных то есть когда путь может правильно выполняться для одних данных и неправильно для других.