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

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

Упражнение 1:
Номер 1
Корректность программы – это понятие

Ответ:

 (1) неформальное 

 (2) которое можно определить, используя только термины самой программы 

 (3) которое можно формализовать триадой Хоара 

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


Номер 2
Триада Хоара

Ответ:

 (1) устанавливает корректность программы безотносительно каких либо условий 

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

 (3) устанавливает корректность программы по отношению к ее постусловию 

 (4) устанавливает корректность программы по отношению к ее предусловию и постусловию 


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

Ответ:

 (1) {x>100} x:= -x; {abs(x) >10} 

 (2) {x>100} x:= x+ 10; {x >101} 

 (3) {x>100} x:= -x; {x < -100} 

 (4) {x>100} x:= x-90; {abs(x) <10} 


Упражнение 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) только предусловий 

 (2) предусловий, постусловий и инвариантов цикла 

 (3) вариантов и инвариантов цикла 

 (4) отключения всяческих проверок 


Номер 2
Каждый цикл

Ответ:

 (1) имеет единственный инвариант 

 (2) имеет множество инвариантов 

 (3) имеет инвариант, позволяющий доказать его корректность 

 (4) имеет инвариант, позволяющий доказать завершаемость цикла 


Номер 3
Если процедуры создания корректны (по их завершению выполняются все инварианты класса) и каждый из экспортируемых методов сохраняет инварианты, то?

Ответ:

 (1) гарантируется выполнение инвариантов во все стабильные моменты 

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

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

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


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

Ответ:

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

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

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

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


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

Ответ:

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

 (2) метод с предусловием False бесполезен для клиентов 

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

 (4) класс описывает все возможные реализации АТД 


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

Ответ:

 (1) утверждения задают семантику класса 

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

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

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




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