Главная страница

Основы объектно-ориентированного программирования (Интуит). Основы объектно-ориентированного программирования. Правильный ответ


Скачать 34.46 Kb.
НазваниеПравильный ответ
АнкорОсновы объектно-ориентированного программирования (Интуит
Дата28.06.2022
Размер34.46 Kb.
Формат файлаdocx
Имя файлаОсновы объектно-ориентированного программирования.docx
ТипДокументы
#619207

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

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

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

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

  • функциональности

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

  • отладку

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

  • разработку

  • создание спецификаций

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

  • скрытие спецификаций от пользователей

  • скрытие реализации от пользователей

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

  • недокументированные возможности ПО

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

  • обязанность программиста периодически освобождать память, отводимую объектам

  • удаление методов класса сразу после их вызова

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

  • удаление модулей, не вызываемых в текущей сессии работы ПО

  • удаление объекта сразу после того, как с ним разорвана связь

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

  • после того, как сущность связана с объектом, другие объекты не могут присоединяться к сущности

  • связывание объекта и сущности выполняется еще на этапе трансляции и эта связь не может изменяться динамически в процессе выполнения приложения

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

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

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

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

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

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

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

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

  • единственный выбор

  • унифицированный доступ

  • слабая связность интерфейсов

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

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

  • между правилами, критериями и принципами нет различий – это синонимичные понятия

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

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

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

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

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

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

  • модуль является либо открытым, либо закрытым

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

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

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

  • в каждом методе должен встречаться единственный оператор выбора

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

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

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

  • декомпозиция

  • слабая связность

  • (Правильный ответ) единственный выбор

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

  • взаимозависимости операций

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

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

  • позволяет справиться с проблемой независимости представлений

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

  • позволяет отказаться от обработки исключительных ситуаций

  • (Правильный ответ) уменьшает время разработки

  • снижает надежность приложения

  • (Правильный ответ) повышает эффективность приложения

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

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

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

  • универсальность решает все проблемы повторного использования

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

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

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

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

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

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

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

  • непрерывностью представлений

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

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

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

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

  • как можно раньше

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

  • (Правильный ответ) как можно позже

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

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

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

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

  • наиболее стабильная и неизменная часть проекта

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

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

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

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

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

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

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

  • объекты солнечной системы

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

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

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

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

  • (Правильный ответ) типов

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

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

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

  • задавать представление данных

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

  • задавать реализацию функций

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

Модуль – это?

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

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

  • семантическое понятие

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

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

  • класса

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

  • объекта

  • ссылки

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

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

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

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

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

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

  • (Правильный ответ) приложения

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

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

  • отдельной процедуры

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

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

  • недостатком является простота реализации алгоритма

  • достоинством является запрет на создание динамических структур данных

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

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

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

  • ограниченная универсальность предоставляет меньше возможностей в сравнении с общим случаем

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

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

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

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

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

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

  • (Правильный ответ) времени выполнения

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

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

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

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

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

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

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

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

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

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

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

  • профессиональная разработка предполагает толерантный стиль

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

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

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

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

  • (Правильный ответ) {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

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

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

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

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

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

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

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


написать администратору сайта