Главная / Программирование /
Программирование на Lazarus / Тест 9
Программирование на Lazarus - тест 9
Упражнение 1:
Номер 1
Что такое «процедура»?
Ответ:
 (1) это подпрограмма, которая выполняет какое-то действие, и возвращает результат определенного типа 
 (2) это подпрограмма, которая выполняет какое-то действие, и не возвращает результата 
 (3) это раздел, где объявляются переменные и их типы данных 
 (4) это блок кода между BEGIN и END 
Номер 2
Что такое «функция»?
Ответ:
 (1) это подпрограмма, которая выполняет какое-то действие, и возвращает результат определенного типа 
 (2) это подпрограмма, которая выполняет какое-то действие, и не возвращает результата 
 (3) это раздел, где объявляются переменные и их типы данных 
 (4) это блок кода между BEGIN и END 
Номер 3
Чем процедура отличается от функции?
Ответ:
 (1) ничем, это одно и то же 
 (2) процедура может вернуть значение определенного типа, а функция – нет 
 (3) функция может вернуть значение определенного типа, а процедура – нет 
 (4) В Lazarus нет процедур, есть только функции 
Упражнение 2:
Номер 1
Что такое «параметры по значению»?
Ответ:
 (1) копии данных, передаваемые в подпрограмму (подпрограмма не изменяет оригиналы) 
 (2) оригинальные данные, передаваемые в подпрограмму (подпрограмма может их изменить) 
 (3) возвращаемые подпрограммой данные 
 (4) типы данных, с которыми может работать подпрограмма 
Номер 2
Что такое «параметры по ссылке»?
Ответ:
 (1) копии данных, передаваемые в подпрограмму (подпрограмма не изменяет оригиналы) 
 (2) оригинальные данные, передаваемые в подпрограмму (подпрограмма может их изменить) 
 (3) возвращаемые подпрограммой данные 
 (4) типы данных, с которыми может работать подпрограмма 
Номер 3
В какие подпрограммы можно передавать параметры?
Ответ:
 (1) только в функции 
 (2) только в процедуры 
 (3) в процедуры и функции 
 (4) ни в процедуры, ни в функции 
Упражнение 3:
Номер 1
Укажите верное объявление процедуры:
Ответ:
 (1) procedure MyProc(st1, st2, st3: String): String
 
 (2) procedure MyProc[st1; st2; st3: String]: String
 
 (3) procedure MyProc(st1, st2, st3: String)
 
 (4) procedure MyProc[st1, st2, st3: String]
 
 (5) procedure MyProc(st1; st2; st3: String)
 
 (6) procedure MyProc[st1, st2, st3: String]
 
Номер 2
Укажите верное объявление функции:
Ответ:
 (1) function MyFunc(st1, st2, st3: String)
 
 (2) function MyFunc[st1, st2, st3: String]
 
 (3) function MyFunc(st1, st2, st3: String): String
 
 (4) function MyFunc[st1; st2; st3: String]: String
 
 (5) function MyFunc(st1; st2; st3: String)
 
 (6) function MyFunc[st1, st2, st3: String]
 
Номер 3
Укажите неправильные объявления процедур:
Ответ:
 (1) procedure MyProc(st1, st2, st3: String): String
 
 (2) procedure MyProc(st1, st2, st3: String)
 
 (3) procedure MyProc
 
 (4) procedure MyProc: String
 
 (5) procedure: String
 
Номер 4
Укажите неправильные объявления функций:
Ответ:
 (1) function MyFunc(st1, st2, st3: String): String
 
 (2) function MyFunc(st1, st2, st3: String)
 
 (3) function MyFunc
 
 (4) function MyFunc: String
 
 (5) function: String
 
Упражнение 4:
Номер 1
Каким образом функция может вернуть результат вычислений?
Ответ:
 (1) присвоив результат переменной с таким же именем, что и у функции 
 (2) присвоив результат переменной Result 
 (3) присвоив результат переменной Resulted 
 (4) функция не может возвращать результат вычислений 
Номер 2
Каким образом процедура может вернуть результат вычислений?
Ответ:
 (1) присвоив результат переменной с таким же именем, что и у функции 
 (2) присвоив результат переменной Result 
 (3) присвоив результат переменной Resulted 
 (4) процедура не может возвращать результат вычислений. 
Номер 3
Укажите правильный порядок разделов процедуры.
Ответ:
 (1) const, var, type 
 (2) var, const, type. 
 (3) const, type, var 
 (4) type, const, var 
Упражнение 5:
Номер 1
Что произойдет, если вызвать указанную функцию?function MyFunc():String;
begin
Result := 12;
end;
Ответ:
 (1) ошибка программы 
 (2) вернется строка ‘12’ 
 (3) вернется число 12 
Номер 2
Что произойдет, если вызвать указанную функцию?function MyFunc():Integer;
begin
Result := ‘12’;
end;
Ответ:
 (1) ошибка программы 
 (2) вернется строка ‘12’ 
 (3) вернется число 12 
Номер 3
Что произойдет, если вызвать указанную функцию?function MyFunc():String;
begin
Result := ‘12’;
end;
Ответ:
 (1) ошибка программы 
 (2) вернется строка ‘12’ 
 (3) вернется число 12 
Номер 4
Что произойдет, если вызвать указанную функцию?function MyFunc():Integer;
begin
Result := 12;
end;
Ответ:
 (1) ошибка программы 
 (2) вернется строка ‘12’ 
 (3) вернется число 12 
Упражнение 6:
Номер 1
Что произойдет, если вызвать указанную функцию?procedure Udvoenie(var r: real);
begin
r:= r * 2;
end;
Ответ:
 (1) ошибка программы 
 (2) значение переменной r удвоится, оригинальные данные, переданные в качестве параметра, не изменятся 
 (3) значение переменной r удвоится, изменятся и оригинальные данные, переданные в качестве параметра 
Номер 2
Что произойдет, если вызвать указанную функцию?procedure Udvoenie( r: real);
begin
r:= r * 2;
end;
Ответ:
 (1) ошибка программы 
 (2) значение переменной r удвоится, оригинальные данные, переданные в качестве параметра, не изменятся 
 (3) значение переменной r удвоится, изменятся и оригинальные данные, переданные в качестве параметра 
Номер 3
Что произойдет, если вызвать указанную функцию?procedure Udvoenie;
begin
r:= r * 2;
end;
Ответ:
 (1) ошибка программы 
 (2) значение переменной r удвоится, оригинальные данные, переданные в качестве параметра, не изменятся 
 (3) значение переменной r удвоится, изменятся и оригинальные данные, переданные в качестве параметра 
Упражнение 7:
Номер 1
Где нужно объявить процедуру, чтобы её потом можно было использовать в любом другом модуле проекта?
Ответ:
 (1) в разделе private 
 (2) в разделе public 
 (3) в разделе var, сразу после объявления переменной-формы (fMain: TfMain
) 
 (4) после раздела implementation 
Номер 2
Где нужно объявить процедуру, чтобы её можно было использовать в текущем модуле, но невозможно в других модулях проекта?
Ответ:
 (1) в разделе private 
 (2) в разделе public 
 (3) в разделе var, сразу после объявления переменной-формы (fMain: TfMain
) 
 (4) после раздела implementation 
Номер 3
Какой оператор досрочно заканчивает работу подпрограммы?
Ответ:
 (1) end 
 (2) exit 
 (3) halt 
 (4) out 
Номер 4
Какой оператор досрочно заканчивает работу всей программы?
Ответ:
 (1) end 
 (2) exit 
 (3) halt 
 (4) out