Главная / Программирование /
Язык программирования Perl / Тест 12
Язык программирования Perl - тест 12
Упражнение 1:
Номер 1
выберите правильные объявления подпрограммы в Perl
Ответ:
 (1) sub sub1;
 
 (2) sub sub1 { return 0; }
 
 (3) sub1();
 
 (4) sub sub1 (@);
 
Номер 2
выберите правильные определения подпрограммы в Perl
Ответ:
 (1) sub sub1;
 
 (2) sub sub1 { return 0; }
 
 (3) $ref = sub1();
 
 (4) $ref = sub { return 0; }
 
Номер 3
выберите правильные вызовы подпрограммы в Perl
Ответ:
 (1) sub sub1 (@);
 
 (2) sub sub1 { return 0; }
 
 (3) sub1();
 
 (4) &sub1;
 
Упражнение 2:
Номер 1
где в программе на Perl могут определяться подпрограммы?
Ответ:
 (1) обязательно в начале текста программы 
 (2) обязательно в конце текста программы 
 (3) в любом месте текста программы 
Номер 2
когда в Perl требуется объявление подпрограммы?
Ответ:
 (1) когда нужно определить значения аргументов по умолчанию 
 (2) до вызова подпрограммы в стиле встроенных функций Perl 
 (3) объявление подпрограммы до ее вызова требуется всегда 
Номер 3
для чего нужны прототипы подпрограмм?
Ответ:
 (1) для описания имен параметров 
 (2) для контроля количества и установления контекста параметров 
 (3) для контроля типа возвращаемого значения 
Упражнение 3:
Номер 1
какой разыменовывающий префикс у подпрограммы?
Ответ:
 (1) символ @ 
 (2) символ % 
 (3) символ $ 
 (4) символ * 
 (5) символ & 
Номер 2
выберите допустимые имена подпрограмм
Ответ:
 (1) sub h5n1 {}
 
 (2) sub 2in1 {}
 
 (3) sub s_u_b {}
 
 (4) sub -sub {}
 
Номер 3
выберите правильные высказывания о подпрограммах в Perl
Ответ:
 (1) в Perl фактически есть только функции 
 (2) в Perl есть только процедуры 
 (3) все подпрограммы всегда возвращают значение 
 (4) sub s1 {...}
не имеет параметров, а sub s2 (@) {...}
имеет 
Упражнение 4:
Номер 1
в каком виде в подпрограмму передаются аргументы?
Ответ:
 (1) в виде одного списка значений аргументов 
 (2) в виде списка именованных переменных 
 (3) вместо аргументов используются глобальные переменные 
Номер 2
как можно вернуть из подпрограммы несколько списков?
Ответ:
 (1) return (@list1, @list2);
 
 (2) return (\@list1, \@list2);
 
 (3) return @list1, @list2;
 
Номер 3
как правильно объявить несколько лексических переменных?
Ответ:
 (1) my $a=1, $b=2, $c=3;
 
 (2) my ($a, $b, $c) = (1, 2, 3);
 
 (3) my ($a=1, $b=2, $c=3);
 
Упражнение 5:
Номер 1
какая область видимости у переменных, объявленных my?
Ответ:
 (1) глобальная, в пределах файла 
 (2) лексическая, в пределах подпрограммы или блока 
 (3) динамическая, в пределах блока и вызванных подпрограмм  
Номер 2
какая область видимости у переменных, объявленных local?
Ответ:
 (1) глобальная, в пределах файла 
 (2) лексическая, в пределах подпрограммы или блока 
 (3) динамическая, в пределах блока и вызванных подпрограмм 
Номер 3
какая область видимости у переменных без объявления?
Ответ:
 (1) глобальная, в пределах файла 
 (2) лексическая, в пределах подпрограммы или блока 
 (3) динамическая, в пределах блока и вызванных подпрограмм 
Упражнение 6:
Номер 1
как правильно взять ссылку на подпрограмму?
Ответ:
 (1) $ref2sub = \sub1();
 
 (2) $ref2sub = \&sub1;
 
 (3) $refsub = \sub1();
 
Номер 2
как правильно вызвать подпрограмму через ссылку?
Ответ:
 (1) $ref2sub->();
 
 (2) &$ref2sub;
 
 (3) $ref2sub();
 
Номер 3
как правильно описать анонимную подпрограмму?
Ответ:
 (1) $ref2anon = sub { return 'Anonymous';};
 
 (2) $ref2anon = \ { return 'Anonymous';};
 
 (3) $ref2anon = &{ return 'Anonymous';};