игра брюс 2048
Главная / Программирование / Основы объектно-ориентированного проектирования / Тест 5

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

Упражнение 1:
Номер 1
Компонент класса, представляющий запрос

Ответ:

 (1) может изменять состояние объекта 

 (2) возвращает информацию о состоянии, не изменяя его 

 (3) реализуется функцией 

 (4) реализуется атрибутом 


Номер 2
Функция

Ответ:

 (1) не должна иметь побочного эффекта 

 (2) может иметь побочный эффект 

 (3) не должна иметь абстрактного побочного эффекта 

 (4) допускает абстрактный побочный эффект 


Номер 3
Функция имеет абстрактный побочный эффект, если?

Ответ:

 (1) содержит оператор присваивания, в левой части которого указано имя атрибута 

 (2) содержит вызов процедуры 

 (3) имеет конкретный побочный эффект, который может изменить значение не секретного запроса 

 (4) содержит вызов функции с побочным эффектом 


Упражнение 2:
Номер 1
Различие между аргументами-операндами и аргументами-опциями в том, что?

Ответ:

 (1) для операнда может быть задано значение по умолчанию 

 (2) для опции может быть задано значение по умолчанию 

 (3) опция задает режим выполнения операции 

 (4) операнд представляет объект, с которым оперирует программа 


Номер 2
Из принципа операндов следует, что?

Ответ:

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

 (2) новички обязаны изучать все специальные свойства 

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

 (4) сложность вызова не уменьшается, а увеличивается из-за необходимости установки опций 


Номер 3
На простоту интерфейса компонента в первую очередь влияет

Ответ:

 (1) размер программного кода компонента 

 (2) число аргументов 

 (3) чем больше аргументов у компонента, тем проще его интерфейс 

 (4) чем меньше аргументов у компонента, тем проще его интерфейс 


Упражнение 3:
Номер 1
Список требований при добавлении нового компонента

Ответ:

 (1) соответствие абстракции данных, задающей класс 

 (2) совместимость с другими компонентами класса 

 (3) дублирование целей других компонентов класса 

 (4) поддержка инварианта класса 


Номер 2
Под активной структурой данных понимается

Ответ:

 (1) часто вызываемая структура данных 

 (2) структура данных, содержащая ссылки 

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

 (4) список с курсором – это частный случай активной структуры 


Номер 3
АТД и активная структура данных

Ответ:

 (1) активная структура данных не может быть задана АТД 

 (2) абстракция означает пассивность 

 (3) введение состояния и операций над ним обогащает спецификацию АТД, добавляя функции и свойства 

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


Упражнение 4:
Номер 1
Априорная схема вызова компонента предполагает

Ответ:

 (1) проверку предусловия компонента непосредственно перед вызовом – в операторе if или в инструкции check 

 (2) проверка может не применяться по соображениям эффективности 

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

 (4) проверку предусловия в самом компоненте, если оно не проверялось перед вызовом 


Номер 2
Апостериорная схема вызова компонента

Ответ:

 (1) применяется тогда, когда не работает априорная схема 

 (2) основана на принципе: "вначале сделай, потом проверь"; 

 (3) всегда применима 

 (4) может привести к появлению исключительных ситуаций 


Номер 3
Документация

Ответ:

 (1) является частью программного текста 

 (2) элементы, входящие в документацию, обнаруживаются автоматически на разных уровнях абстракции 

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

 (4) информативное индексирование предложений программного текста способствует работе с документацией 


Упражнение 5:
Номер 1
Отметьте истинные высказывания

Ответ:

 (1) принцип "Разделения Команд и Запросов" является методологическим предписанием 

 (2) конкретный побочный эффект не допустим в функциях 

 (3) аргументы-опции должны реализоваться атрибутами класса 

 (4) всегда применима либо априорная либо апостериорная схема вызова компонента 


Номер 2
Отметьте истинные высказывания

Ответ:

 (1) аргументы должны быть операндами 

 (2) при эволюции класса аргументы имеют тенденцию добавляться или удаляться 

 (3) использование утверждений – предусловий, постусловий, инвариантов – является основой документирования интерфейсов 

 (4) выражение e является ссылочно-прозрачным, если возможно заменить любое его подвыражение эквивалентным значением без изменения значения e 


Номер 3
Отметьте истинные высказывания

Ответ:

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

 (2) аргументы компонента должны быть опциями 

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

 (4) каждый ОО-разработчик должен применять принцип "Разделения Команд и Запросов" без исключения 




Главная / Программирование / Основы объектно-ориентированного проектирования / Тест 5