Главная / Программирование /
Введение в программирование на Delphi / Тест 23
Введение в программирование на Delphi - тест 23
Упражнение 1:
Номер 1
Что такое запись?
Ответ:
 (1) структура из строковых переменных 
 (2) база данных 
 (3) структура из полей различного типа 
 (4) структура из символьных переменных 
Номер 2
Дайте комментарий приведенному ниже коду:
type
MyZap = record
a : array [0..10] of Integer;
b : Boolean;
s : String;
end; //record
Ответ:
 (1) код объявления записи верный 
 (2) ошибка, нужно писать MyZap : record;
 
 (3) ошибка, нужно писать MyZap := record;
 
 (4) ошибка, массивы в записи недопустимы 
Номер 3
Дайте комментарий приведенному ниже коду:
type
MyZap : record
a : array [0..10] of Integer;
b : Boolean;
s : String;
end; //record
Ответ:
 (1) код объявления записи верный 
 (2) ошибка, нужно писать MyZap = record
 
 (3) ошибка, нужно писать MyZap := record
 
 (4) ошибка, массивы в записи недопустимы 
Упражнение 2:
Номер 1
Как работает динамический массив?
Ответ:
 (1) объявляется массив и его размер, затем в процессе работы этот размер можно изменить 
 (2) объявляется массив без указания размера, затем в процессе работы можно неоднократно устанавливать размерность массива 
 (3) объявляется массив без указания размера, размер указывается в процессе работы и в дальнейшем его нельзя изменять 
 (4) объявляется массив без указания размера, затем в процессе работы можно неоднократно увеличивать размерность массива, но не уменьшать 
Номер 2
Прокомментируйте приведенный ниже код использования динамического массива:
var
da : array of Integer;
begin
da[1]:= 12;
Ответ:
 (1) правильный код, в момент присвоения значения будет выделена память под указанный элемент массива 
 (2) ошибка – в разделе var
динамическому массиву нужно было указать начальный размер 
 (3) ошибка – перед присвоением значения требуется задать массиву размер функцией SetSize()
 
 (4) ошибка – перед присвоением значения требуется задать массиву размер функцией SetLength()
 
Номер 3
Прокомментируйте приведенный ниже код использования динамического массива:
var
da : array of Integer;
begin
SetLength(da, 1);
da[1]:= 12;
Ответ:
 (1) правильный код 
 (2) ошибка – в разделе var
динамическому массиву нужно было указать начальный размер 
 (3) ошибка – требуется использовать функцию SetSize()
 
 (4) ошибка – нужно было указать da[0]
, так как da[1]
– второй элемент массива, а объявлен был только один элемент 
Упражнение 3:
Номер 1
Что делает функция Low()
при работе с динамическими массивами?
Ответ:
 (1) уменьшает размерность массива до одного элемента 
 (2) возвращает значение низшего из имеющихся индекса массива 
 (3) указывает низший из имеющихся индекс массива, в котором есть присвоенное значение 
 (4) указывает низший из имеющихся индекс массива, в котором нет присвоенного значения 
Номер 2
Что делает функция High() при работе с динамическими массивами?
Ответ:
 (1) увеличивает размерность массива до одного элемента 
 (2) указывает высший из имеющихся индекс массива 
 (3) указывает высший из имеющихся индекс массива, в котором есть присвоенное значение 
 (4) указывает высший из имеющихся индекс массива, в котором нет присвоенного значения 
Номер 3
Если мы установили размерность массива SetLength(da, 5)
, то что вернут функции Low(da)
и High(da)
?
Ответ:
 (1) Low()
вернет 1, а High()
5 
 (2) Low()
вернет 0, а High()
4 
 (3) Low()
вернет 1, а High()
4 
 (4) Low()
вернет 0, а High()
5 
Упражнение 4:
Номер 1
Мы имеем массив a: array [0..5, 0..10] of Integer
. Чему будет равен элемент массива a[5, 10]
в результате следующего кода:
for k := 0 to 5 do
for n := 0 to 10 do
a [k, n] := k + n;
Ответ:
 (1) 5 
 (2) 10 
 (3) 15 
 (4) 20 
 (5) 25 
 (6) ошибка в коде 
Номер 2
Мы имеем массив a: array [0..5, 0..10] of Integer
. Чему будет равен элемент массива a[5, 10]
в результате следующего кода:
for k := 0 to 5 do
for n := 0 to 10 do
a [k, n] := k * n;
Ответ:
 (1) 45 
 (2) 50 
 (3) 55 
 (4) 60 
 (5) 65 
 (6) ошибка в коде 
Номер 3
Мы имеем массив a: array [0..5, 0..10] of Integer
. Чему будет равен элемент массива a[5, 1]
в результате следующего кода:
for k := 0 to 5 do
for n := 0 to 10 do
a [k, n] := k + n;
Ответ:
 (1) 5 
 (2) 6 
 (3) 7 
 (4) 8 
 (5) 10 
 (6) ошибка в коде 
Упражнение 5:
Номер 1
Какое свойство компонента StringGrid
отвечает за количество столбцов сетки?
Ответ:
 (1) Cols
 
 (2) ColCount
 
 (3) Rows
 
 (4) RowCount
 
 (5) Count
 
Номер 2
Какое свойство компонента StringGrid
отвечает за количество строк сетки?
Ответ:
 (1) Cols
 
 (2) ColCount
 
 (3) Rows
 
 (4) RowCount
 
 (5) Count
 
Номер 3
Что содержит свойство RowCount
компонента StringGrid
?
Ответ:
 (1) количество фиксированных строк 
 (2) количество фиксированных столбцов 
 (3) количество строк 
 (4) количество столбцов 
 (5) индекс текущей (выделенной) строки 
 (6) индекс текущего (выделенного) столбца 
Номер 4
Что содержит свойство ColCount
компонента StringGrid
?
Ответ:
 (1) количество фиксированных строк 
 (2) количество фиксированных столбцов 
 (3) количество строк 
 (4) количество столбцов 
 (5) индекс текущей (выделенной) строки 
 (6) индекс текущего (выделенного) столбца 
Упражнение 6:
Номер 1
Как можно сделать различную ширину столбцов сетки StringGrid
?
Ответ:
 (1) только в инспекторе объектов 
 (2) только программно 
 (3) и в инспекторе объектов, и программно 
 (4) это вообще невозможно 
Номер 2
Каким образом можно изменить ширину второго столбца сетки StringGrid
?
Ответ:
 (1) StringGrid1.Cells[1] := 200;
 
 (2) StringGrid1.Col[1] := 200;
 
 (3) StringGrid1.ColWidths[1] := 200;
 
 (4) StringGrid1.Col[1].Width := 200;
 
Номер 3
Каким образом можно изменить ширину первого столбца сетки StringGrid
?
Ответ:
 (1) StringGrid1.Cells[0] := 200;
 
 (2) StringGrid1.Cells[1] := 200;
 
 (3) StringGrid1.ColWidths[0] := 200;
 
 (4) StringGrid1.ColWidths[1] := 200;
 
 (5) StringGrid1.Col[0].Width := 200;
 
 (6) StringGrid1.Col[1].Width := 200;
 
Упражнение 7:
Номер 1
Каким образом можно указать маску для столбца сетки StringGrid
?
Ответ:
 (1) в свойстве EditMask
инспектора объектов 
 (2) в свойстве MaskEdit
инспектора объектов 
 (3) в событии onGetEditMask
 
 (4) в событии onGetMaskEdit
 
 (5) маску в сетке применить нельзя 
Номер 2
Дайте комментарий следующему коду, приведенному в событии onGetEditMask
сетки StringGrid
:
if ACol=1 then value := 'телефон: 999-99-99';
Ответ:
 (1) этот код вызовет ошибку 
 (2) будет задана маска для первой колонки 
 (3) будет задана маска для второй колонки 
 (4) будет задана маска для первой строки 
 (5) будет задана маска для второй строки 
Номер 3
Дайте комментарий следующему коду, приведенному в событии onGetEditMask
сетки StringGrid
:
if ARow=1 then value := 'телефон: 999-99-99'
Ответ:
 (1) этот код вызовет ошибку 
 (2) будет задана маска для первой колонки 
 (3) будет задана маска для второй колонки 
 (4) будет задана маска для первой строки 
 (5) будет задана маска для второй строки