- •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 байтов памяти эвм, то функция упорядочения равна:
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. Разработку программ рекомендуется вести сверху – вниз или по нисходящей стратегии. Суть нисходящей стратегии в том, что проектировщик должен приступить к работе, имея только концептуальный, абстрактный замысел о том, что система или программа будет делать. Затем этот замысел постепенно конкретизируется шаг за шагом, тем самым погружаясь в подробности окончательного программного продукта до тех пор, пока не будет достигнуто «дно», под которым понимаются программные модули, реализующие отдельные функции или процедуры преобразования данных