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

Массивы и хеши

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант. После завершения откроются общий результат, оценки по 4 тематическим шкалам и подробный разбор.
Вопрос 1 из 20
Какое утверждение точно описывает поведение фрагмента «Индексация» с `@a`, `$a` и `qw`?
PerlИндексация
my @a = qw(red green blue);
say $a[-1];
Вопрос 2 из 20
Как точнее всего описать действие фрагмента с `@a`, `@b` и `qw`?
PerlСрезы
my @a = qw(a b c d);
my @b = @a[1,3];
say join '-', @b;
Вопрос 3 из 20
Какое описание не теряет важный побочный эффект участка с `%h` и `$h`?
PerlКлючи и значения
my %h = (a => 1, b => 2);
say exists $h{c} ? 'yes' : 'no';
Вопрос 4 из 20
Как завершится этот код по правилам Perl 5.40?
PerlИзменение коллекций
my %h = (b => 2, a => 1);
say join ',', keys %h;
Вопрос 5 из 20
Какой дефект проявится в варианте «Индексация» с `@a`, `$a` и `qw`?
PerlИндексация
my @a = qw(a b c);
$a[5] = 'x';
say scalar @a;
Вопрос 6 из 20
Какой дефект проявится в варианте «Срезы» с `@a`, `$x` и `qw`?
PerlСрезы
my @a = qw(a b c);
my $x = @a[0,2];
say $x;
Вопрос 7 из 20
Какой диагноз точнее всего относится к участку с `%h` и `$h`?
PerlКлючи и значения
my %h = (limit => undef);
say defined $h{limit} ? 'set' : 'missing';
Вопрос 8 из 20
Обычный случай проходит. Что в блоке «Изменение коллекций» всё же сделано неверно?
PerlИзменение коллекций
for my $k (keys %h) { last if $k eq 'a' }
Вопрос 9 из 20
Почему новая версия с `@a`, `$i` и `$a` устраняет исходный дефект?
PerlИндексация
my @a = qw(a b c);
my $i = 5;
die 'index' if $i < 0 || $i > $#a;
say $a[$i];
Вопрос 10 из 20
Что отличает это исправление от маскировки симптома?
PerlСрезы
my @picked = @a[@indexes];
Вопрос 11 из 20
Какое свойство новой версии с `$h` важно закрепить тестом?
PerlКлючи и значения
if (exists $h{limit}) { say defined $h{limit} ? $h{limit} : 'explicit undef' }
Вопрос 12 из 20
Как исправленный код с `$k`, `%h` и `$h` сохраняет исходное назначение?
PerlИзменение коллекций
for my $k (sort keys %h) { say "$k=$h{$k}" }
Вопрос 13 из 20
Какую закономерность проверяют задания темы «Индексация»?
Вопрос 14 из 20
Какое положение темы «Срезы» помогает выбрать надёжную реализацию?
Вопрос 15 из 20
Какой принцип объясняет три кодовых примера блока «Ключи и значения»?
Вопрос 16 из 20
Какое правило связывает пять заданий блока «Изменение коллекций»?
Вопрос 17 из 20
Какой предел гарантий блока «Индексация» остаётся в силе после успешного запуска?
Вопрос 18 из 20
Какую оговорку нужно добавить к основному правилу темы «Срезы»?
Вопрос 19 из 20
Какой вывод о механизме «Ключи и значения» выдерживает проверку на пограничном входе?
Вопрос 20 из 20
Какое предостережение по теме «Изменение коллекций» нельзя заменить включением strict и warnings?

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

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

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

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