Главная / Программирование /
Основы объектно-ориентированного программирования / Тест 13
Основы объектно-ориентированного программирования - тест 13
Упражнение 1:
Номер 1
В ОО-окружении
Ответ:
 (1) могут вызываться только ОО-программы 
 (2) должен быть способ вызова компонентов (процедур, функций), написанных на любых языках программирования 
 (3) внешние программы могут обеспечивать доступ к аппаратным возможностям 
 (4) необъектные компоненты должны быть переписаны в объектном стиле 
Номер 2
Обертывание – это?
Ответ:
 (1) способ, при котором внешние (не объектные) программы заворачиваются в объектную упаковку, становясь частью классов 
 (2) попытка представить старую систему как новую, вводя в заблуждение пользователя 
 (3) преобразование нескольких классов в один новый класс 
 (4) способ сохранения корректности при разбиении класса 
Номер 3
Гибридный язык
Ответ:
 (1) язык, в основе которого лежат идеи нескольких языков 
 (2) необъектный язык, дополненный ОО-механизмами 
 (3) универсальный язык, обладающий преимуществами старых и новых языков 
 (4) результат неудачного языкотворчества 
Упражнение 2:
Номер 1
В вызове p(x)
Ответ:
 (1) x – может быть как входным, так и выходным аргументом 
 (2) никогда не меняется значение x, если оно развернутого типа 
 (3) может измениться значение x, если оно является ссылкой 
 (4) значение x не может измениться, если оно является ссылкой, но поля объекта, с которым связана ссылка, могут меняться 
Номер 2
Вызов компонента
Ответ:
 (1) всегда имеет цель вызова 
 (2) в форме x.f(…), где x – цель вызова, называется квалифицированным 
 (3) в форме f(…) называется неквалифицированным 
 (4) квалифицированный вызов всегда может быть преобразован в неквалифицированный 
Номер 3
Замена формальных аргументов фактическими при вызове метода
Ответ:
 (1) имеет семантику присваивания 
 (2) называется операцией присоединения 
 (3) имеет семантику передачи аргументов по значению, запрещая в связи с этим явную модификацию формальных аргументов (использование их в левых частях операторов присваивания, в процедурах создания) 
 (4) не требует соответствия аргументов по числу и типам 
Упражнение 3:
Номер 1
Левая часть инструкции присваивания x:=e
Ответ:
 (1) не может быть локальной сущностью 
 (2) может быть сущностью Current 
 (3) может быть сущностью Result 
 (4) не может быть формальным аргументом программы 
Номер 2
В инструкции цикла
Ответ:
 (1) предложение from, задающее инициализацию, факультативно 
 (2) предложения invariant и variant, задающие инвариант и вариант цикла, факультативны 
 (3) предложение invariant обязательно, а предложение variant, - факультативно 
 (4) проверка условия окончания цикла в предложении until выполняется в конце цикла 
Номер 3
В инструкции множественного выбора inspect e when vi … else … end
Ответ:
 (1) ветвь else может быть факультативной 
 (2) выражение е может быть строкой символов 
 (3) может возникнуть исключение, когда ветвь else отсутствует и не найдено соответствие между e и проверяемыми значениями v 
 (4) для каждой ветви указывается ровно одна выполняемая инструкция 
Упражнение 4:
Номер 1
Строки
Ответ:
 (1) задаются специальным классом String 
 (2) на экземплярах STRING доступны многочисленные операции: сцепление, выделение символов и подстрок, сравнение и т.д 
 (3) размер строки динамически изменяется в ходе выполнения операций 
 (4) присваивание строк означает разделение общей памяти 
Номер 2
Выражениями являются?
Ответ:
 (1) сущности 
 (2) вызовы функций 
 (3) вызовы процедур 
Номер 3
Вызовы функций
Ответ:
 (1) имеют такой же синтаксис, как и вызовы процедур 
 (2) могут быть только квалифицированными 
 (3) допускают нотацию с многоточием в виде: b.h(u, v).i.j(x, y, …) 
 (4) правило квалифицированного вызова применимо к вызовам функций 
Упражнение 5:
Номер 1
Отметьте истинные высказывания
Ответ:
 (1) операции ввода-вывода поддерживаются специальными классами FILE и STD_FILES 
 (2) взаимодействие с внешним ПО разумно осуществлять на уровне компонентов 
 (3) обертывание чаще всего сводится к добавлению объектного интерфейса к необъектному содержанию 
 (4) фактические аргументы при вызове не могут быть выражениями 
Номер 2
Отметьте истинные высказывания
Ответ:
 (1) Current является синтаксически выражением, а не сущностью, потому ему нельзя присвоить значение 
 (2) нестрогие булевы операции не требуют определенности всех операндов 
 (3) присваивание строк s1:= s2 имеет ссылочную семантику с разделением значения 
 (4) регистр в идентификаторах не учитывается 
Номер 3
Отметьте истинные высказывания
Ответ:
 (1) объектная технология может служить в качестве механизма упаковки наследуемого ПО 
 (2) подпрограммы могут модифицировать свои аргументы 
 (3) Current - выражение, обозначающее текущий экземпляр 
 (4) синтаксис значения неименованной константы позволяет определить ее тип