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

Условия и циклы

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 4 тематическим шкалам и подробный разбор.
Вопрос 1 из 20
Какое описание не теряет важный побочный эффект участка с `$x`?
PerlУсловия if и unless
my $x = 0;
if (defined $x && $x >= 0) { say 'ok' }
Вопрос 2 из 20
Как точнее всего описать действие фрагмента с `$n`?
PerlЦиклы while и until
my $n = 3;
while ($n--) { say $n }
Вопрос 3 из 20
Как ведёт себя участок «Циклы for и foreach» при выполнении?
PerlЦиклы for и foreach
my @x = (1,2,3);
for (@x) { $_ *= 2 }
say join ',', @x;
Вопрос 4 из 20
Что в этом примере с `$x`, `@rows` и `$y` происходит на самом деле?
PerlУправление потоком
OUTER: for my $x (@rows) {
  for my $y (@$x) { next OUTER if $y < 0 }
  say 'valid';
}
Вопрос 5 из 20
Какой отказ объясняется показанным кодом, а не внешней системой?
PerlУсловия if и unless
my $name = '0';
unless ($name) { say 'missing' }
Вопрос 6 из 20
Какое скрытое допущение ломает контракт примера «Циклы while и until»?
PerlЦиклы while и until
my $line;
while ($line = next_record($fh)) { push @rows, $line }
Вопрос 7 из 20
Что в этом коде нарушает ожидаемое поведение?
PerlЦиклы for и foreach
for my $v (@x) { $v = 0 }
Вопрос 8 из 20
Какую границу автор фрагмента «Управление потоком» не учёл?
PerlУправление потоком
for my $x (@rows) {
  for my $y (@$x) { last if $y < 0 }
  say 'valid';
}
Вопрос 9 из 20
Какую гарантию добавляет правка «Условия if и unless» с `$name`?
PerlУсловия if и unless
if (!defined $name || $name eq '') { die 'missing' }
Вопрос 10 из 20
Почему новая версия с `$line`, `$fh` и `@rows` устраняет исходный дефект?
PerlЦиклы while и until
while (defined(my $line = next_record($fh))) { push @rows, $line }
Вопрос 11 из 20
Как исправленный код с `$v`, `@x` и `$copy` сохраняет исходное назначение?
PerlЦиклы for и foreach
for my $v (@x) { my $copy = $v; $copy = transform($copy) }
Вопрос 12 из 20
Почему пограничный случай больше не теряется в участке с `$x`, `@rows` и `$_`?
PerlУправление потоком
ROW: for my $x (@rows) {
  next ROW if grep { $_ < 0 } @$x;
  say 'valid';
}
Вопрос 13 из 20
Какое положение темы «Условия if и unless» помогает выбрать надёжную реализацию?
Вопрос 14 из 20
Что является главным ориентиром при работе с «Циклы while и until»?
Вопрос 15 из 20
Какой вывод стоит перенести из учебного примера «Циклы for и foreach» в рабочий код?
Вопрос 16 из 20
Какой вывод объединяет результат, дефект и исправление в теме «Управление потоком»?
Вопрос 17 из 20
Что остаётся верным о теме «Условия if и unless», если учитывать контекст, отказ и побочный эффект?
Вопрос 18 из 20
Какое предостережение по теме «Циклы while и until» нельзя заменить включением strict и warnings?
Вопрос 19 из 20
Какое ограничение блока «Циклы for и foreach» следует проверять отдельным примером?
Вопрос 20 из 20
Какое различие в механизме «Управление потоком» чаще всего теряют при обобщении?

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

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

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

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