
- •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 байтов памяти эвм, то функция упорядочения равна:
35. Дайте определение и приведите пример линейного односвязного списка.
Связный список – такая структура, элементами которой служат записи с одним и тем же форматом, связанные друг с другом с помощью указателей, хранящихся в самих элементах списка. В односвязном линейном списке каждый элемент состоит из двух различных по назначению полей: содержательного и поля указателя.
Пример: физическая последовательность записей и логическая последовательность содержательных частей односвязного списка: L1:<D1>,<0>; L2:<D2>,<L4>; L3:<D3>,<L2>; L4:<D4>,<L5>; L5:<D5>,<L7>; L6:<D6>,<L1>; L7: <D7>,<L6>. Состояние указателя начала списка - <L3>.
Ответ:
L3 |
|
L2 |
|
L4 |
|
L5 |
|
L7 |
|
L6 |
|
L1 |
|
0 |
|
|
D3 |
|
D2 |
|
D4 |
|
D5 |
|
D7 |
|
D6 |
|
D1 |
36. Изложите цель и основные этапы реализации метода эквивалентного разбиения.
Поскольку исчерпывающее входное тестирование программы невозможно, реально приходится ограничиваться использованием небольшого подмножества всех возможных входных данных. Исходя из этого:
а) каждый тест должен включать столько различных входных условий, сколько это возможно, с тем чтобы минимизировать общее число тестов;
б) необходимо пытаться разбить входную область программы на конечное число классов эквивалентности так, чтобы можно было предположить, что каждый тест, являющийся представителем некоторого класса, эквивалентен любому другому тесту этого класса. Другими словами, если один тест класса эквивалентности обнаруживает ошибку, то следует ожидать, что и все другие тесты этого класса эквивалентности будут обнаруживать эту ошибку. И наоборот, если тест не обнаруживает ошибки, то следует ожидать, что ни один тест этого класса эквивалентности не будет обнаруживать ошибки. Разработка тестов методом эквивалентного разбиения осуществляется в два этапа:
а) выделение класса эквивалентности;
б)построение тестов.
Классы эквивалентности выделяются путем выбора каждого входного условия (обычно это предложение или фраза в спецификации) и разбиением его на две или более групп. Для выполнения этой операции используют таблицу следующего вида:
Входные условия |
Правильные классы эквивалентности |
Неправильные классы эквивалентности |
Здесь - правильные классы эквивалентности соответствуют правильным входным данным программы, а неправильные классы эквивалентности представляют все другие возможные состояния входных условий.
Следующий этап данного метода - построение тестов.
Этот процесс включает в себя:
- назначение каждому классу эквивалентности уникального номера;
- проектирование новых тестов, каждый из которых покрывает как можно большее число непокрытых правильных классов эквивалентности, пока все правильные классы эквивалентности не будут покрыты тестами;
- запись тестов, каждый из которых покрывает один и только один из непокрытых неправильных классов эквивалентности.