PL Perl  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Операторы и приоритет

Проверяет базовое понимание темы «Операторы и приоритет»: чтение фрагментов, выбор корректной конструкции и объяснение результата без опоры на угадывание. В тесте 20 вопросов: код нужно не только читать, но и трассировать, проверять на отказ, сопоставлять несколько правдоподобных решений. Ровно 12 заданий содержат фрагменты Perl; остальные проверяют выбор подхода в реальной ситуации. Если в условии не сказано иначе, предполагаются современный Perl 5.40+, strict и warnings; внешние модули рассматриваются в указанном контексте.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 4 тематическим шкалам и подробный разбор.
Вопрос 1 из 20
Как завершится этот код по правилам Perl 5.40?
PerlСтроковые операторы
my $s = 'ab';
say $s x 3;
say $s . 3;
Вопрос 2 из 20
Что в этом примере с ключевыми операциями происходит на самом деле?
PerlЧисловые сравнения
say '10' == 10;
say '10' eq 10;
Вопрос 3 из 20
Что выведет фрагмент с убывающим целочисленным диапазоном?
PerlДиапазоны
my @r = (3 .. 1);
say scalar @r;
Вопрос 4 из 20
Что в этом примере с `$ok`, `$fh` и `$path` происходит на самом деле?
PerlСвязывание
my $ok = open my $fh, '<', $path or die $!;
Вопрос 5 из 20
Какую границу автор фрагмента «Строковые операторы» не учёл?
PerlСтроковые операторы
my $s = '10';
say $s + '2x';
Вопрос 6 из 20
Обычный случай проходит. Что в блоке «Числовые сравнения» всё же сделано неверно?
PerlЧисловые сравнения
my $a = '12x';
if ($a == 12) { say 'same' }
Вопрос 7 из 20
Какой риск создаёт строковый диапазон от `a` до `zzzzzz`?
PerlДиапазоны
for my $c ('a' .. 'zzzzzz') { push @all, $c }
Вопрос 8 из 20
Где находится первопричина возможного сбоя в коде с `$ok`, `$fh` и `$path`?
PerlСвязывание
my $ok = open my $fh, '<', $path || die $!;
Вопрос 9 из 20
Почему новая версия с `$s` и `$n` устраняет исходный дефект?
PerlСтроковые операторы
die 'bad' unless $s =~ /\A[0-9]+\z/;
my $n = 0 + $s;
Вопрос 10 из 20
Какое свойство новой версии с `$a` важно закрепить тестом?
PerlЧисловые сравнения
if ($a =~ /\A[0-9]+\z/ && $a == 12) { say 'same' }
Вопрос 11 из 20
Почему явный числовой цикл безопаснее материализации большого диапазона?
PerlДиапазоны
for (my $i = $start; $i <= $end; $i++) { process($i) }
Вопрос 12 из 20
Как исправленный код с `$ok`, `$fh` и `$path` сохраняет исходное назначение?
PerlСвязывание
my $ok = open(my $fh, '<', $path) || die $!;
Вопрос 13 из 20
Как сформулировать основное правило блока «Строковые операторы» без лишних обещаний?
Вопрос 14 из 20
На что следует опираться при ревью кода по теме «Числовые сравнения»?
Вопрос 15 из 20
Какое правило о диапазонах в Perl сформулировано точно?
Вопрос 16 из 20
Какой общий принцип темы «Связывание» переносится на другие программы?
Вопрос 17 из 20
Какое предостережение по теме «Строковые операторы» нельзя заменить включением strict и warnings?
Вопрос 18 из 20
Какое ограничение механизма «Числовые сравнения» нужно учитывать даже при корректной работе обычного примера?
Вопрос 19 из 20
Выражение `$start .. $end` перенесли из присваивания массиву в условие `if`. Что изменилось?
Вопрос 20 из 20
Как точнее всего обозначить границу безопасного использования приёма «Связывание»?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу