Основы объектно-ориентированного программирования



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 

При разработке ПО в первую очередь следует заботиться о?

  • (Правильный ответ) корректности
  • интерфейсе пользователя
  • простоте использования
  • функциональности

При разработке сложного ПО основная доля затрат приходится на?

  • отладку
  • (Правильный ответ) сопровождение
  • разработку
  • создание спецификаций

Под скрытием информации понимается?

  • скрытие спецификаций от пользователей
  • скрытие реализации от пользователей
  • (Правильный ответ) механизм, делающий определённые компоненты недоступными для клиентов
  • недокументированные возможности ПО

Сборка мусора – это?

  • обязанность программиста периодически освобождать память, отводимую объектам
  • удаление методов класса сразу после их вызова
  • (Правильный ответ) автоматическое удаление неиспользуемых объектов
  • удаление модулей, не вызываемых в текущей сессии работы ПО
  • удаление объекта сразу после того, как с ним разорвана связь

Статическая типизация означает?

  • после того, как сущность связана с объектом, другие объекты не могут присоединяться к сущности
  • связывание объекта и сущности выполняется еще на этапе трансляции и эта связь не может изменяться динамически в процессе выполнения приложения
  • (Правильный ответ) тип объекта, связываемого с сущностью, должен совпадать с типом сущности
  • (Правильный ответ) для каждой сущности при ее объявлении задается тип

Правило прямого отображения требует, чтобы

  • (Правильный ответ) модульная структура ПО непосредственно отображала структуру модели предметной области
  • модульная структура ПО непосредственно отображала структуру предметной области
  • модульная структура ПО непосредственно отображала структуру спецификаций

К критериям модульности относятся

  • (Правильный ответ) непрерывность
  • единственный выбор
  • унифицированный доступ
  • слабая связность интерфейсов

Верно ли, что различия между правилами, критериями и принципами модульности состоят в том, что

  • (Правильный ответ) правила модульности следует выполнять при разработке ПО
  • между правилами, критериями и принципами нет различий – это синонимичные понятия
  • (Правильный ответ) разрабатываемая система должна удовлетворять критериям модульности
  • (Правильный ответ) механизмы ООП следует проектировать в соответствии с принципами

Принцип Открыт-Закрыт предполагает, что

  • (Правильный ответ) уже работающий модуль всегда должен быть закрытым
  • (Правильный ответ) ОО-механизмы (наследование) позволяет построить систему, удовлетворяющему этому принципу
  • (Правильный ответ) модуль всегда должен быть открытым для изменений
  • модуль является либо открытым, либо закрытым

Принцип единственного выбора предполагает, что?

  • (Правильный ответ) список выбора возможных вариантов должен быть известен лишь одному модулю
  • (Правильный ответ) список выбора возможных вариантов должен быть известен хотя бы одному модулю
  • в каждом методе должен встречаться единственный оператор выбора
  • (Правильный ответ) запрещено каждому модулю иметь доступ к любой информации, которая не является безусловно необходимой для его надлежащего функционирования

К принципам модульности относятся

  • (Правильный ответ) принцип лингвистических единиц
  • декомпозиция
  • слабая связность
  • (Правильный ответ) единственный выбор

Роль универсальности в повторном использовании в том, что?

  • взаимозависимости операций
  • позволяет справиться с проблемой изменчивости реализаций
  • (Правильный ответ) позволяет справиться с проблемой изменчивости типов
  • позволяет справиться с проблемой независимости представлений

Повторное использование

  • позволяет отказаться от обработки исключительных ситуаций
  • (Правильный ответ) уменьшает время разработки
  • снижает надежность приложения
  • (Правильный ответ) повышает эффективность приложения

Отметьте истинные высказывания?

  • (Правильный ответ) образцы, описанные в литературе, частично решают проблему повторного использования
  • (Правильный ответ) перегрузка метода является синтаксическим средством; она не решает важных проблем повторного использования и затрудняет читабельность текстов программ
  • универсальность решает все проблемы повторного использования
  • (Правильный ответ) решение проблемы «повторно использовать или переделать» должно позволять сохранять одни свойства повторно используемого модуля и адаптировать другие

Что можно повторно использовать?

  • (Правильный ответ) спецификации
  • (Правильный ответ) программный код
  • (Правильный ответ) персонал
  • (Правильный ответ) текст

Проблемы повторного использования связаны с?

  • непрерывностью представлений
  • (Правильный ответ) изменчивостью типов
  • (Правильный ответ) вариацией представлений
  • (Правильный ответ) взаимозависимостью операций

Порядок выполнения модулей нужно устанавливать

  • как можно раньше
  • (Правильный ответ) с помощью логических ограничений
  • (Правильный ответ) как можно позже

Главная функция проекта

  • (Правильный ответ) может меняться в процессе разработки
  • (Правильный ответ) проект может иметь несколько главных функций
  • (Правильный ответ) у проекта может вообще не существовать главной функции
  • наиболее стабильная и неизменная часть проекта

Отметьте истинные высказывания

  • (Правильный ответ) функциональное проектирование сверху вниз не подходит для программных систем с долгим жизненным циклом, включающим их изменения и повторное использование
  • описание, основанное на анализе функций системы с течением времени обеспечивает лучшую устойчивость и лучшие возможности для повторного использования, чем описание, основанное на типах объектов
  • (Правильный ответ) в классической объектной технологии имеются только два отношения между типами объектов: быть клиентом и быть наследником
  • (Правильный ответ) отношение наследования покрывает многочисленные формы специализации

При проектировании системы типов можно использовать?

  • (Правильный ответ) объекты физической реальности, к которой применяется ПО
  • объекты солнечной системы
  • (Правильный ответ) объекты, описанные в литературе
  • (Правильный ответ) повторно используемые объекты

Спецификация АТД включает разделы

  • (Правильный ответ) функций
  • (Правильный ответ) типов
  • (Правильный ответ) аксиом

При описании АТД можно?

  • (Правильный ответ) указывать родовые параметры
  • задавать представление данных
  • (Правильный ответ) задавать родительский класс
  • задавать реализацию функций

Согласно принципу унифицированного доступа клиент не может отличить

  • вызов атрибута от вызова метода
  • вызов атрибута от вызова функции
  • (Правильный ответ) вызов атрибута от вызова функции без аргументов
  • вызов функции от вызова процедуры

Модуль – это?

  • (Правильный ответ) структурный архитектурный элемент, из набора которых строятся программы
  • (Правильный ответ) синтаксическое понятие
  • семантическое понятие
  • (Правильный ответ) класс в ОО-подходе

К какому понятию относятся высказывания: «статическое понятие, применимое к тексту, идентификатор, имеет значение в период выполнения»?

  • класса
  • (Правильный ответ) сущности
  • объекта
  • ссылки

На основе изучения статического текста программы нельзя точно предсказать

  • (Правильный ответ) когда будут созданы новые объекты
  • (Правильный ответ) когда ранее присоединенные ссылки становятся пустыми
  • (Правильный ответ) какие ссылки будут присоединены к объектам
  • (Правильный ответ) какие объекты будут созданы

Работа по освобождении памяти, занятой недостижимыми объектами может вестись на уровне

  • (Правильный ответ) приложения
  • (Правильный ответ) исполнительной среды
  • (Правильный ответ) компилятора
  • отдельной процедуры

Достоинствами и недостатками статического режима управления памятью являются?

  • (Правильный ответ) недостатком является препятствие рекурсии
  • недостатком является простота реализации алгоритма
  • достоинством является запрет на создание динамических структур данных
  • (Правильный ответ) достоинством является эффективность реализации алгоритма

Отметьте истинные высказывания

  • (Правильный ответ) в языках без статической проверки типов универсализация не нужна
  • ограниченная универсальность предоставляет меньше возможностей в сравнении с общим случаем
  • (Правильный ответ) родовые классы могут использоваться для описания общих контейнерных структур данных, реализуемых независимо от типа элементов, которые они содержат
  • статическая проверка типов не возможна при введении универсальных классов с родовыми параметрами

Эффективно реализованный механизм универсализации требует минимальных затрат

  • (Правильный ответ) памяти, требуемой для выполнения
  • (Правильный ответ) времени компиляции
  • (Правильный ответ) размера сгенерированного кода
  • (Правильный ответ) времени выполнения

Отметьте истинные высказывания

  • (Правильный ответ) механизм ограниченной универсальности поддерживается механизмом наследования
  • (Правильный ответ) универсализация требуется только в типизированном языке, гарантирующем статически проверяемую безопасность типов
  • (Правильный ответ) единственные допустимые операции над сущностью, чей тип является формальным родовым параметром, это операции, применимые к любому типу
  • (Правильный ответ) статическая типизация облегчает читаемость и повышает надежность программы

Отметьте истинные высказывания

  • (Правильный ответ) утверждения служат четырем целям: помогают в конструировании корректных программ; помогают в создании документации, помогают в отладке, являются основой механизма исключений
  • (Правильный ответ) вариант цикла изменяет значение на каждом шаге выполнения цикла
  • (Правильный ответ) инвариант реализации, – часть инварианта класса – выражает корректность представления классом соответствующего АТД
  • включение функций в состав утверждений позволяет сохранить аппликативный характер утверждений

Для двух стилей разработки характерно?

  • профессиональная разработка предполагает толерантный стиль
  • (Правильный ответ) профессиональная разработка предполагает требовательный стиль
  • (Правильный ответ) для требовательного стиля – более жесткие требования к клиентам класса
  • (Правильный ответ) для толерантного стиля – более жесткие требования к поставщику

Укажите истинные триады Хоара

  • (Правильный ответ) {x>100} x:= x+ 10; {x >101}
  • {x>100} x:= x-90; {abs(x) <10}
  • (Правильный ответ) {x>100} x:= -x; {x < -100}
  • (Правильный ответ) {x>100} x:= -x; {abs(x) >10}

Цепочкой вызовов, связанной с программой rn, вызвавшей появление исключения, называется?

  • список всех программ, вызываемых в теле rn
  • список всех программ, начиная с rn, программы rn-1, непосредственно ее вызвавшей, вплоть до программы r0 – корневой программы
  • (Правильный ответ) список всех программ, определенный в предыдущем пункте, взятый в обратном порядке
  • список всех программ, вызывающих rn

Организованная паника

  • означает, что приложение работает некорректно
  • завершает работу вызванного метода и всего приложения
  • (Правильный ответ) подразумевает отказ для вызванного метода
  • (Правильный ответ) это один из двух нормальных способов завершения работы обработчика исключения

В ОО-окружении

  • (Правильный ответ) должен быть способ вызова компонентов (процедур, функций), написанных на любых языках программирования
  • могут вызываться только ОО-программы
  • (Правильный ответ) внешние программы могут обеспечивать доступ к аппаратным возможностям
  • необъектные компоненты должны быть переписаны в объектном стиле

Обертывание – это?

  • преобразование нескольких классов в один новый класс
  • (Правильный ответ) способ, при котором внешние (не объектные) программы заворачиваются в объектную упаковку, становясь частью классов
  • способ сохранения корректности при разбиении класса
  • попытка представить старую систему как новую, вводя в заблуждение пользователя

В инструкции множественного выбора inspect e when vi … else … end

  • (Правильный ответ) может возникнуть исключение, когда ветвь else отсутствует и не найдено соответствие между e и проверяемыми значениями v
  • выражение е может быть строкой символов
  • для каждой ветви указывается ровно одна выполняемая инструкция
  • (Правильный ответ) ветвь else может быть факультативной

В вызове p(x)

  • x – может быть как входным, так и выходным аргументом
  • может измениться значение x, если оно является ссылкой
  • (Правильный ответ) значение x не может измениться, если оно является ссылкой, но поля объекта, с которым связана ссылка, могут меняться
  • (Правильный ответ) никогда не меняется значение x, если оно развернутого типа

Динамические и статические типы

  • (Правильный ответ) сущность имеет динамический и статический типы
  • сущность имеет только статический тип
  • объект имеет динамический и статический типы
  • (Правильный ответ) ссылка имеет динамический тип или может быть пустой

Расширение или специализация

  • экземпляры родительского класса являются экземплярами классов потомков
  • (Правильный ответ) у экземпляров потомков свойств и методов может быть больше, чем у экземпляров родительского класса
  • (Правильный ответ) наследование классов, рассматриваемое как наследование модулей, является расширением
  • (Правильный ответ) наследование классов, рассматриваемое как наследование типов, является специализацией

Класс наследник

  • (Правильный ответ) не наследует конструкторы своего родителя
  • (Правильный ответ) каждый класс должен определить собственный набор конструкторов
  • (Правильный ответ) конструкторы родителя наследуются, но они не сохраняют статус конструкторов
  • наследует все компоненты родителя

Форма класса, в которой

  • (Правильный ответ) удалены предложения наследования и собраны все компоненты, наследуемые от всех предков, называется плоской формой
  • (Правильный ответ) сочетаются свойства краткой и плоской формы называется кратко плоской формой
  • (Правильный ответ) собраны только открытые компоненты и не показана реализация называется краткой формой

Под репликацией понимается?

  • (Правильный ответ) размножение у наследника компонента, наследуемого от общего предка
  • переопределение компонентов, наследуемых от общего предка
  • слияние компонента общего предка, наследуемого от разных родителей, в единый компонент
  • переименование компонентов, наследуемых от общего предка

Дублируемое наследование

  • запрещено из-за возникающих конфликтов
  • (Правильный ответ) это ситуация, при которой идет наследование от одного и того же класса по разным путям наследования
  • (Правильный ответ) это ситуация, при которой родительские классы имеют общих предков
  • это ситуация, при которой родительские классы имеют компоненты с одинаковыми именами или совпадающими реализациями

Достоинства, недостатки и проблемы множественного наследования

  • (Правильный ответ) проблема: родители имеют общих предков
  • (Правильный ответ) достоинство: наследование всех возможностей родителей
  • недостаток: наследник не может отказаться от вредных или противоречащих родительских свойств
  • (Правильный ответ) проблема: компоненты родителей имеют одинаковые имена

Финальным именем компонента является?

  • (Правильный ответ) для переименованного компонента – имя, полученное при переименовании
  • (Правильный ответ) для наследуемого компонента без переименования – финальное имя компонента (рекурсивно) в том родительском классе, от которого оно унаследовано
  • (Правильный ответ) для непосредственного компонента – имя, под которым оно объявлено
  • в случае конфликта имен – имя, полученное слиянием конфликтующих имен

Универсальные классы General и ANY — это библиотечные классы

  • позволяющие клиентам решать все нужные им задачи
  • (Правильный ответ) содержащие атрибуты и методы, необходимые всем объектам независимо от их природы
  • (Правильный ответ) по определению являющиеся предками всех создаваемых классов
  • автоматически вызываемые в специальных случаях

Отметьте истинные высказывания

  • при повторном использовании реализаций информация скрывается
  • попытка присваивания может заменить динамическое связывание
  • (Правильный ответ) повторное объявление должно удовлетворять утверждениям оригинальной подпрограммы
  • у клиента нет возможности контроля изменения семантики операций создателями классов, пользующимися повторными объявлениями и динамическим связыванием

Наилучшим решением проблемы системной корректности является решение?

  • на основе глобального анализа всей системы
  • на основе закрепления
  • на основе введения понятия кэтколла
  • (Правильный ответ) лучшее решение не найдено

Статическое связывание

  • выбирает связываемый компонент из класса, соответствующего динамическому типу цели
  • (Правильный ответ) позволяет связать цель вызова с вызываемым компонентом еще на этапе компиляции
  • имеет тот же эффект, что и динамическое связывание
  • (Правильный ответ) выбирает связываемый компонент из класса, соответствующего статическому типу цели

Классово-корректная система удовлетворяет следующим правилам

  • (Правильный ответ) при вызове вызываемый компонент должен быть объявлен в классе цели и доступен клиенту, осуществляющему вызов
  • статический и динамический тип сущности должны совпадать
  • (Правильный ответ) при присоединении тип источника согласован с типом цели
  • (Правильный ответ) для каждой сущности указан тип

Создание разделяемых объектов и разделяемых констант отличается тем, что?

  • (Правильный ответ) для констант задаются инварианты, запрещающие изменять их значения
  • ничем не отличается
  • (Правильный ответ) как константы, так и разделяемые объекты являются константными ссылками
  • (Правильный ответ) в отличие от констант значения полей ссылки для разделяемых объектов изменяются в процессе работы

В ОО-системах глобальные объекты

  • (Правильный ответ) могут быть смоделированы
  • не нужны
  • существуют
  • (Правильный ответ) не существуют

Отметьте истинные высказывания?

  • (Правильный ответ) несмотря на возникающие исключения и отказы работа приложения может завершиться успехом
  • механизм исключений противоречит механизму контрактов
  • (Правильный ответ) отказ в работе всего приложения происходит тогда, когда при обработке возникшего исключения происходят отказы для всех программ из цепочки вызовов
  • отказ в работе всего приложения происходит тогда, когда при обработке возникшего исключения происходит отказ хотя бы для одной из программ цепочки вызовов

Режимами управления памятью являются?

  • (Правильный ответ) динамический
  • (Правильный ответ) статический
  • (Правильный ответ) стековый
  • списковый

Некорректное использование типов может возникнуть из-за?

  • конфликта между статической типизацией и статическим связыванием
  • (Правильный ответ) конфликта между статической типизацией и ковариантностью
  • (Правильный ответ) конфликта между статической типизацией и скрытием потомком
  • конфликта между статической типизацией и динамическим связыванием

Цепочкой вызовов, связанной с программой rn, вызвавшей появление исключения, называется?

  • (Правильный ответ) список всех программ, начиная с r0, программы r1, непосредственно ее вызвавшей, вплоть до программы rn – корневой программы
  • список всех программ, начиная с rn, программы rn-1, непосредственно ее вызвавшей, вплоть до программы r0 – корневой программы
  • список всех программ, вызывающих rn
  • список всех программ, вызываемых в теле rn

Функциональная декомпозиция при проектировании сверху-вниз

  • (Правильный ответ) затрудняет связь с предыдущими версиями проекта
  • способствует повторному использованию
  • (Правильный ответ) обеспечивает хорошее соответствие проекта его начальной спецификации
  • (Правильный ответ) облегчает понимание каждого шага декомпозиции

Проектирование интерфейса пользователя

  • (Правильный ответ) после завершения проектирования основных классов
  • в процессе проектирования каждого класса
  • (Правильный ответ) должно выполняться на поздних этапах ОО-проектирования
  • должно выполняться на самых ранних этапах ОО-проектирования

Функциональная декомпозиция имеет следующие ограничения

  • не поддерживает самодокументирование
  • (Правильный ответ) реальная система имеет широкий спектр сервисов, среди которых трудно выделить главную функцию
  • (Правильный ответ) не способствует поддержке расширяемости
  • (Правильный ответ) плохо согласуется с предыдущими версиями

Отметьте истинные высказывания?

  • при повторном использовании интерфейсов реализация не защищена
  • (Правильный ответ) лишь понимание принципов Проектирования по Контракту позволяет в полной мере постичь сущность концепции наследования
  • экспорт определяет отношения между классом и его потомками
  • (Правильный ответ) заморозив компонент, можно гарантировать его семантическую уникальность

Родовое порождение

  • (Правильный ответ) требует, чтобы фактические родовые параметры представляли типы
  • (Правильный ответ) создает в результате новый тип
  • (Правильный ответ) это процесс подстановки фактических параметров вместо формальных параметров универсального класса
  • разрешает использовать в качестве фактического параметра универсальный класс

Для успешного применения статической типизации требуется совместное применение механизмов

  • (Правильный ответ) попытки присваивания
  • (Правильный ответ) ограниченной и неограниченной универсальности
  • (Правильный ответ) множественного наследования
  • (Правильный ответ) утверждений

Отметьте истинные высказывания

  • у корректных родителей наследники всегда корректны
  • (Правильный ответ) любой конфликт переопределений должен быть разрешен посредством select
  • (Правильный ответ) класс, наследующий от разных родителей различные компоненты с идентичным именем, не корректен
  • (Правильный ответ) версии дублируемого потомка, наследуемые под разными именами, представляют разные компоненты, являясь репликациями оригинала дублируемого предка

Строковые константы

  • являются такими же константами, как и константы других базовых типов
  • (Правильный ответ) являются разделяемыми объектами
  • (Правильный ответ) могут использоваться как выражения при передаче аргументов или присваивании
  • (Правильный ответ) допускают изменение символов строки