LU Lua  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  ·  👥 1 прошёл

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

Тест по теме «Условия и циклы Lua» проверяет чтение кода, поиск скрытых допущений и выбор решения для обычных и граничных сценариев. В нём 20 вопросов, из них 10 содержат фрагменты Lua. Условия отдельно отмечают случаи, зависящие от версии языка или внешней библиотеки.

Отвечено: 0 из 20
--:--
0%
💡 Инструкция: В каждом вопросе выберите один ответ из пяти. На работу отведено 55 минут. После завершения можно посмотреть правильные ответы, объяснения и результат по каждой теме.
Вопрос 1 из 20
Что нельзя заменить привычкой из другого языка при чтении этого кода? Нужна именно центральная гарантия раздела «Условия if».
LuaLua · Условия if · разбор 1
local value = 0
if value then
  print("truthy")
else
  print("falsey")
end
Вопрос 2 из 20
Первый пример подтверждает основной путь. Что проверить отдельно? Ищется граничное следствие правила из раздела «Условия if».
LuaLua · Условия if · разбор 2
local function reproduce_case()
  local value = 0
  if value then
    print("truthy")
  else
    print("falsey")
  end
end
reproduce_case()
Вопрос 3 из 20
Какое поведение должно совпасть до и после рефакторинга? Выберите гарантию, определяющую раздел «Условия if».
LuaLua · Условия if · разбор 3
do
  local value = 0
  if value then
    print("truthy")
  else
    print("falsey")
  end
end
Вопрос 4 из 20
В модуле меняют «Условия if» и хотят сохранить диагностируемость. Какой подход надёжнее? Ответ должен выражать проверяемое следствие раздела «Условия if».
Вопрос 5 из 20
Что следует считать рабочим контрактом раздела «Условия if»? Ответ должен охватывать весь раздел «Условия if».
Вопрос 6 из 20
Что из перечисленного относится именно к показанному фрагменту? Ответ должен описывать основной механизм раздела «Циклы for».
LuaLua · Циклы for · разбор 1
local limit = 5
for i = 1, limit, 2 do
  limit = 1
  print(i)
end
Вопрос 7 из 20
Какое последствие проявится только при другом входе или повторном вызове? Нужен отрицательный сценарий для раздела «Циклы for».
LuaLua · Циклы for · разбор 2
local function reproduce_case()
  local limit = 5
  for i = 1, limit, 2 do
    limit = 1
    print(i)
  end
end
reproduce_case()
Вопрос 8 из 20
Какая гарантия важнее сохранения точной формы кода? Речь идёт о центральном правиле раздела «Циклы for».
LuaLua · Циклы for · разбор 3
do
  local limit = 5
  for i = 1, limit, 2 do
    limit = 1
    print(i)
  end
end
Вопрос 9 из 20
Для раздела «Циклы for» выбирают между коротким трюком и ясным контрактом. Что предпочтительнее? Нужна эксплуатационная граница раздела «Циклы for».
Вопрос 10 из 20
Что следует считать рабочим контрактом раздела «Циклы for»? Нужна полная формулировка раздела «Циклы for».
Вопрос 11 из 20
Что нельзя заменить привычкой из другого языка при чтении этого кода? Нужна именно центральная гарантия раздела «while и repeat».
LuaLua · while и repeat · разбор 1
local n = 0
repeat
  local step = n + 1
  n = step
until step >= 3
print(n)
Вопрос 12 из 20
Обычный запуск проходит. Какое граничное поведение обязан проверить второй тест? Выберите именно проверяемую границу раздела «while и repeat».
LuaLua · while и repeat · разбор 2
local function reproduce_case()
  local n = 0
  repeat
    local step = n + 1
    n = step
  until step >= 3
  print(n)
end
reproduce_case()
Вопрос 13 из 20
Какой инвариант нельзя потерять при упрощении этого фрагмента? Речь идёт о центральном правиле раздела «while и repeat».
Вопрос 14 из 20
После переноса кода раздел «while и repeat» стал работать иначе. На какое правило опереться при исправлении? Нужна эксплуатационная граница раздела «while и repeat».
Вопрос 15 из 20
Что следует считать рабочим контрактом раздела «while и repeat»? Нужна полная формулировка раздела «while и repeat».
Вопрос 16 из 20
Что именно объясняет поведение строки «if row + col == 4 then break end»? Нужна именно центральная гарантия раздела «Управление выполнением».
LuaLua · Управление выполнением · разбор 1
for row = 1, 3 do
  for col = 1, 3 do
    if row + col == 4 then break end
    print(row, col)
  end
end
Вопрос 17 из 20
Какая проверка отделит устойчивый контракт от удачного совпадения? Нужен отрицательный сценарий для раздела «Управление выполнением».
LuaLua · Управление выполнением · разбор 2
local function reproduce_case()
  for row = 1, 3 do
    for col = 1, 3 do
      if row + col == 4 then break end
      print(row, col)
    end
  end
end
reproduce_case()
Вопрос 18 из 20
Какой результат обязан подтверждать регрессионный тест после правки? Речь идёт о центральном правиле раздела «Управление выполнением».
Вопрос 19 из 20
После переноса кода раздел «Управление выполнением» стал работать иначе. На какое правило опереться при исправлении? Ответ должен выражать проверяемое следствие раздела «Управление выполнением».
Вопрос 20 из 20
Что нельзя вывести из одного удачного примера, но нужно знать о разделе «Управление выполнением»? Нужна полная формулировка раздела «Управление выполнением».

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

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

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

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