Главная / Программирование /
Программирование на языке высокого уровня Паскаль / Тест 7
Программирование на языке высокого уровня Паскаль - тест 7
Упражнение 1:
Номер 1
В чем состоит процесс раннего связывания?
Ответ:
 (1) на место вызова подпрограммы компилятор вставляет переход на ее начало 
 (2) на место вызова подпрограммы компилятор вставляет адрес ее начала  
 (3) на место вызова подпрограммы компилятор вставляет ее код  
Номер 2
Может ли конструктор быть виртуальным?
Ответ:
 (1) да  
 (2) нет 
Номер 3
Какие объекты должны иметь конструкторы?
Ответ:
 (1) все  
 (2) объекты, содержащие статические методы  
 (3) объекты, содержащие виртуальные методы 
 (4) динамические объекты  
Упражнение 2:
Номер 1
Одна таблица виртуальных методов строится для каждого
Ответ:
 (1) типа объекта 
 (2) экземпляра объекта  
 (3) метода объекта  
Номер 2
Можно ли использовать в теле конструктора виртуальные методы?
Ответ:
 (1) да 
 (2) нет  
Номер 3
VMT создается
Ответ:
 (1) компилятором 
 (2) конструктором  
 (3) программистом  
 (4) отладчиком  
Упражнение 3:
Номер 1
Может ли объект иметь более одного конструктора?
Ответ:
 (1) да 
 (2) нет  
 (3) может, но только по понедельникам  
Номер 2
Можно ли при переопределении статического метода в потомке изменить количество его параметров?
Ответ:
 (1) да 
 (2) нет  
Номер 3
Можно ли при наследовании виртуального метода изменить количество его параметров?
Ответ:
 (1) да  
 (2) нет 
Упражнение 4:
Номер 1
Можно ли в объекте-потомке заменить статический метод виртуальным?
Ответ:
 (1) да  
 (2) нет 
Номер 2
Можно ли в объекте-потомке заменить виртуальный метод статическим?
Ответ:
 (1) да  
 (2) нет 
Номер 3
Преимущества виртуальных методов:
Ответ:
 (1) гибкость 
 (2) увеличение быстродействия программы  
 (3) уменьшение объема исходного текста программы 
 (4) возможность расширения 
Упражнение 5:
Номер 1
Если метод будет выполнять в потомках объекта одни и те же функции, его следует описать как
Ответ:
 (1) виртуальный  
 (2) статический 
 (3) абстрактный  
Номер 2
Допустимы ли присваивания
Ответ:
 (1) экземпляру объекта-потомка экземпляра объекта-предка  
 (2) экземпляра объекта-потомка экземпляру объекта-предка 
 (3) указателю на экземпляр объекта-потомка указателя на экземпляр объекта-предка  
 (4) указателя на экземпляр объекта-потомка указателю на экземпляр объекта-предка 
Номер 3
Можно ли передавать объект в подпрограмму в качестве параметра?
Ответ:
 (1) да 
 (2) нет  
Упражнение 6:
Номер 1
Выполняются ли преобразования типа при передаче объекта в подпрограмму по адресу?
Ответ:
 (1) да  
 (2) нет 
Номер 2
Выполняются ли преобразования типа при передаче объекта в подпрограмму по значению?
Ответ:
 (1) да 
 (2) нет  
Номер 3
Можно ли передать на место параметра-объекта объект, являющийся его потомком?
Ответ:
 (1) да 
 (2) нет  
Упражнение 7:
Номер 1
Методы, которые в разных объектах иерархии выполняют одно и то же по смыслу действие разными способами, следует объявлять как
Ответ:
 (1) статические  
 (2) виртуальные 
 (3) абстрактные  
Номер 2
При использовании New для выделения памяти под объект в виде функции ее первым параметром является:
Ответ:
 (1) указатель на экземпляр объекта  
 (2) тип объекта  
 (3) экземпляр объекта  
 (4) тип указателя на объект 
Номер 3
При использовании New для выделения памяти под объект в виде процедуры ее первым параметром является:
Ответ:
 (1) указатель на экземпляр объекта 
 (2) тип объекта  
 (3) экземпляр объекта  
 (4) тип указателя на объект  
Упражнение 8:
Номер 1
При использовании New для выделения памяти под объект в виде функции ее вторым параметром является:
Ответ:
 (1) указатель на экземпляр объекта  
 (2) тип объекта  
 (3) экземпляр объекта  
 (4) обращение к конструктору объекта 
Номер 2
При использовании New для выделения памяти под объект в виде процедуры ее вторым параметром является:
Ответ:
 (1) указатель на экземпляр объекта  
 (2) тип объекта  
 (3) тип указателя на объект  
 (4) обращение к конструктору объекта 
Номер 3
Освобождает ли динамическую память деструктор с пустым телом?
Ответ:
 (1) да  
 (2) нет 
Упражнение 9:
Номер 1
Какие действия выполняет пустой деструктор?
Ответ:
 (1) освобождает память  
 (2) считывает из VMT фактический размер объекта 
 (3) никаких  
Номер 2
Деструктор обязательно описывать
Ответ:
 (1) для любых объектов  
 (2) для объектов, имеющих конструктор  
 (3) для динамических объектов  
 (4) для динамических полиморфных объектов 
Номер 3
Расширенная совместимость типов объектов допускает присваивания:
Ответ:
 (1) объекта-предка объекту-потомку  
 (2) объекта-потомка объекту-предку  
 (3) указателя на объект-предок указателю на объект-потомок  
 (4) указателя на объект-потомок указателю на объект-предок  
Упражнение 10:
Номер 1
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z,T : Integer;
end;
var a1:A; b1:B;
Сколько байтов в памяти занимают все поля объекта b1 ?
Ответ:
 (1) 1 
 (2) 2 
 (3) 4 
 (4) 6 
Номер 2
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z : Integer;
end;
var a1:A; b1:B;
Сколько байтов в памяти занимают все поля объекта b1 ?
Ответ:
 (1) 1 
 (2) 2 
 (3) 4 
 (4) 6 
Номер 3
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z,T : Integer;
end;
var b1:B;
Укажите правильные способы обращения к полям объекта:
Ответ:
 (1) B.Z  
 (2) b1.Y  
 (3) Y.B  
 (4) T.b1  
Упражнение 11:
Номер 1
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z,T : Integer;
end;
var b1:B;
Укажите правильные способы обращения к полям объекта:
Ответ:
 (1) B.Z  
 (2) Y.B  
 (3) b1.T  
 (4) T.b1  
Номер 2
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z,T : Integer;
end;
var b1:B;
Укажите правильные способы обращения к полям объекта:
Ответ:
 (1) b1.A.Y  
 (2) b1.B.Y  
 (3) b1.T  
 (4) b1.Y  
Номер 3
Дано описание объектов:
type A = Object
Y : Integer;
end;
B = Object (A)
Z,T : Integer;
end;
var b1:B;
Укажите правильные способы обращения к полям объекта:
Ответ:
 (1) B.A.Y  
 (2) b1.B.Y  
 (3) b1.T  
 (4) b1.Y  
Упражнение 12:
Номер 1
Дано описание объектов:
type A = Object
constructor Init;
procedure foo; virtual;
end;
B = Object (A)
procedure foo; virtual;
end;
pb = ^B;
var a1:^A;
begin
a1 := New(pB); a1^.foo;
Процедура foo какого объекта будет вызвана?
Ответ:
 (1) А  
 (2) В  
Номер 2
Дано описание объектов:
type A = Object
procedure foo;
end;
B = Object (A)
procedure foo;
end;
pb = ^B;
var a1:^A;
begin
a1 := New(pB); a1^.foo;
Процедура foo какого объекта будет вызвана?
Ответ:
 (1) А  
 (2) В