Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТЕРИАЛ К РКР.doc
Скачиваний:
3
Добавлен:
23.11.2018
Размер:
441.86 Кб
Скачать

25. Дайте определения статических структур данных. Каковы их отличительные особенности?

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

26.Приведите пример функционального программирования. Функциональный стиль программирования основан на аргументной постановке задачи абстракции математической функции и аналитическом методе построения программ подобно математическим преобразованиям. Функциональное программирование широко используется в языке Лисп. Можно привести пример на языке Паскаль: Begin {Функциональный стиль) Writeln(Ln(Abs(Sin(5.5)); End., а если бы использовали процедурный стиль программирования то: Var x,y,z,t: Real; {Процедурный стиль} Begin х:=5.5; y:=Sin(x); z:=Abs(y); t:= Ln(z); Writeln(t); End.

28. Дайте определения полустатических структур данных. Каковы их отличительные особенности? Полустатические структуры данных - это последовательные линейные списки с переменной длиной, ограниченной фиксированной максимальной величиной и с ограниченным доступом. Отличительной особенностью яв-ся то что в статических структурах данных число элементов постоянно, а в полустатических число элементов может изменятся. Однако, хотя n=Var, максимальное значение n задается явно и ограничивает длину списка.

29. Дайте определение жизненного цикла программного продукта и назовите его основные этапы при традиционной технологии разработки ПО. Жизненный цикл ПП определяется как совокупность последовательных состояний программного продукта и всех действий по его преобразованию, начиная с анализа возникшей потребности в автоматизации определенных функций обработки данных до их программной реализации и включения в программное обеспечение (ПО) конкретного применения. Традиционно в жизненном цикле ПП принято выделять следующие этапы: 1) анализ; 2) проектирование; 3) программирование или, иначе говоря, кодирование функциональных модулей; 4)тестирование и отладка; 5)эксплуатация и сопровождение.

31. Дайте определение объектно-ориентированного программирования. Назовите основные свойства ООП. Обьектно–ориентированное программирование - это подход, в котором данные и поведение (методы обработки данных) жестко связаны. Данные и поведение представлены в виде классов, экземпляры которых - объекты. ООП позволяет пользователю вводить собственные типы данных, расширяя тем самым набор встроенных в язык типов данных. Для обозначения этих расширений используется термин абстрактные типы данных (АТД). Основными свойствами ООП являются инкапсуляция, наследование и полиморфизм. Под инкапсуляцией понимается сокрытие данных и операций АТД от внешних программ, использующих их. Наследование - это средство получения новых типов данных (классов) из уже существующих типов, называемых базовыми классами. При этом повторно используется существующий код. Порождённый класс образуется из базового путем добавления или изменения кода. Полиморфизм - средство для придания различных значений одному и тому же сообщению в зависимости от типа обрабатываемых данных. Например, если аргументы оператора целого типа, то используется целочисленное деление. Если же один или оба аргумента - значения с плавающей точкой, то используется деление с плавающей точкой.

32. В чем отличие стратегий тестирования и какие практические рекомендации можно дать по их применению? Решающую роль играет проектирование тестов. Возможен целый ряд подходов к стратегии проектирования тестов. Чтобы ориентироваться в них, рассмотрим два крайних подхода /1/. Первый состоит в том, что тесты проектируются на основе внешних спецификаций программ и модулей, либо спецификаций сопряжения программы или модуля. Программа при этом рассматривается как черный ящик (стратегия ‘черного ящика’). Существо такого подхода - проверить соответствует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание. Второй подход основан на анализе логики программы (стратегия ‘белого ящика’). Существо подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается. Полное тестирование программы невозможно. Тест для любой программы будет обязательно неполным, то есть тестирование не гарантирует отсутствие всех ошибок. Стратегия проектирования тестов заключается в том, чтобы попытаться уменьшить эту неполноту насколько это возможно. При этом ключевым вопросом является следующий: какое подмножество всех возможных тестов имеет наивысшую вероятность обнаружения ошибок при ограниченных времени, трудовых затратах, стоимости, машинном времени и т.п. Наихудшей из всех методологий является случайный набор тестов, так как он имеет малую вероятность быть оптимальным. Рекомендуется следующая процедура разработки тестов:

-разрабатывать тесты, используя методы стратегии “черного ящика”; - дополнительное тестирование, используя методы стратегии “белого ящика”.

33. Приведите пример линейного односвязного списка до включения и после включения в него новой записи.

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

В этом случае значение L2 записывается в поле указателя включаемой записи значение поля указанной записи, после которого включается новый элемент, изменяется на LN , ,окончательная логическая структура будет следующей:

34. Поясните определение качества ПО и такого критерия качества, как эффективность. Приведите пример повышения эффективности реализации алгоритма в программе. Качество ПП – это совокупность его черт и характеристик, которые влияют на способность ПП удовлетворять заданные потребности пользователя. Как и в случае технических устройств, показатели качества являются противоречивыми, что означает: улучшение одних показателей качества может быть достигнуто за счет ухудшения других. Качество ПП является удовлетворительным, если количественные показатели свойств гарантируют успешное его использование. Критериями качества ПП являются: функциональность; надежность; легкость применения; эффективность; сопровождаемость; мобильность. Эффективность – это отношение уровня услуг, предоставляемых ПП к объему используемых вычислительных ресурсов. Объем используемых вычислительных ресурсов количественно определяется затратами машинного времени и оперативной памяти на выполнение заданных функций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]