- •Вопрос 2: «Жизненный цикл программного продукта. Спецификация программного продукта»
- •Вопрос 3: «Алгоритмы. Способы описания алгоритмов. Базовые схемы алгоритмов»
- •Вопрос 4: «Поиск. Оптимальность поиска. Статические и динамические методы поиска. Ключ. Метод дихотомии. Оценки алгоритмов поиска»
- •Вопрос 5: «Сортировка. Методы сортировка в простейших задачах»
- •Вопрос 6: «Динамические структуры данных. Стек. Очередь. Дек. Списки»
- •Вопрос 7: «Методы разработки при модульном проектировании. Сверху вниз. Снизу вверх. Конструктивный подход»
- •Вопрос 8: «Рекурсия, итерация. Косвенная и прямая рекурсия. Где используется конструкция:
- •Вопрос 9: «Символы. Примеры. Строки. Примеры. Строки типа StringBuilder. Примеры»
- •Вопрос 10: «Конструкторы. Синтаксис. Примеры»
- •Вопрос 11: «Объектно-ориентированное программирование (ооп). Объект. Инкапсуляция. Наследование. Полиморфизм»
- •Вопрос 12: «Свойства. Синтаксис. Примеры. Найдите пример программы из предложенных преподавателем»
- •Вопрос 13: «Перегрузка методов. Примеры»
- •Вопрос 15: «Массивы. Примеры записей, задающих массивы»
- •Вопрос 16: «Методы класса. Метод Main»
- •Вопрос 17: «Классы в ооп. Что содержит класс? Описание класса. Спецификаторы. Поля. Методы. Константы»
- •Вопрос 18: «Класс System.Array. Оператор foreach. Массив объектов. Примеры»
Вопрос 1: «Классификация программ. Отличия программного продукта от программного комплекса. Сопровождение программного продукта. Дерево характеристик качества программного продукта. Программное обеспечение»
Все программы по характеру использования и категориям пользователей можно разделить на два класса- утилитарные программы и программные продукты (изделия). - Утилитарные программы ("программы для себя") предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения. - Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом. Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
К ак правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами - распространителями программ ,реже - фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами - исправление обнаруженных ошибок, создание новых версий программ и т.п. Сопровождение программного продукта - поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты: - насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт; - насколько легко эксплуатировать программный продукт; - можно ли использовать программный продукт при изменении условия его применения и др. ПО — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. Также — совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных
Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное, а по способу распространения и использования на несвободное/закрытое,открытое и свободное.
Вопрос 2: «Жизненный цикл программного продукта. Спецификация программного продукта»
Жц состоит из этапов:
маркетинг рынка программных средств спецификация требований к программному продукту
проектирование структуры программного продукта разработка алгоритма
программирование
автономная и комплексная отладка
тестирование
документирование программного продукта подготовка эксплуатационной и технической документации
распространение программного продукта
эксплуатация
сопровождение
снятие программного продукта с продажи, отказ от сопровождения
Спецификация программного продукта:
Она содержит:
определение состава и назначение функций обработки данных
требование пользователя к интерфейсу
требования к комплексу технических средств для эксплуатации программного продукта
Вопрос 3: «Алгоритмы. Способы описания алгоритмов. Базовые схемы алгоритмов»
Алгоритмы.
В практике программирования под алгоритмами понимают постоянное и точное предписание исполнителю совершить определенную последовательность действий, направленных на достижение указанных целей или решение поставленной задачи.
Свойства алгоритма:
дискретность
определенность или точность, ориентация алгоритма на исполнителя, который в состоянии понять и выполнить алгоритм
результативность (должно выполняться за конечное число шагов)
универсальность
Правила построения алгоритма:
Надо задать множество объектов с которыми будет работать алгоритм. Формальное (закодированное) представление этих объектов – данные. Это правило отделяет алгоритмы от методов и способов.
Для работы алгоритма требуется память для размещения входных, промежуточных и выходных данных. Память дискретная (из ячеек)
Дискретность
Детерминированность (определенность переходов между шагами)
Сходимость (результативность)
Способы описания алгоритмов:
Словестный (вербальный). Недостатки: многословность, неоднозначность.
Табличный
Графический (блок-схемы)
Базовые структуры алгоритмов — это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
К основным структурам относятся следующие:
линейные
разветвляющиеся
циклические
Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом.
Разветвляющимся называется алгоритм, в котором действие выполняется по одной из возможных ветвей решения задачи, в зависимости от выполнения условий. Стандартные блок-схемы разветвляющегося алгоритма приведены ниже:
Циклическим называется алгоритм, в котором некоторая часть операций (тело цикла — последовательность команд) выполняется многократно. Перед операцией цикла осуществляются операции присвоения начальных значений тем объектам, которые используются в теле цикла. В цикл входят в качестве базовых следующие структуры:
блок проверки условия
блок, называемый телом цикла
Существуют три типа циклов:
Цикл с предусловием
Цикл с постусловием
Цикл с параметром (разновидность цикла с предусловием)
Если тело цикла расположено после проверки условий , то может случиться, что при определенных условиях тело цикла не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называетсяциклом c предусловием.
Возможен другой случай, когда тело цикла выполняется по крайней мере один раз и будет повторяться до тех пор, пока не станет ложным условие. Такая организация цикла, когда его тело расположено перед проверкой условия, носит название цикла с постусловием.
Цикл с параметром является разновидностью цикла с предусловием. Особенностью данного типа цикла является то, что в нем имеется параметр, начальное значение которого задается в заголовке цикла, там же задается условие продолжения цикла и закон изменения параметра цикла. Механизм работы полностью соответствует циклу с предусловием, за исключением того, что после выполнения тела цикла происходит изменение параметра по указанному закону и только потом переход на проверку условия. Стандартные блок-схемы циклических алгоритмов приведены ниже: