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

Условия, циклы и pattern matching

Проверяет основу темы «Условия, циклы и сопоставление с образцом» через чтение кода, предсказание результата и выбор корректной конструкции. Вопросы требуют не только узнать конструкцию, но и проследить выполнение, найти причину дефекта, выбрать исправление и оценить пограничный сценарий. Языковые примеры рассчитаны на Swift 6; задания с Apple SDK рассматриваются в контексте современных платформенных контрактов.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. В тесте 20 вопросов, на работу отведено 55 минут. В каждом задании верен только один вариант. Часть фрагментов намеренно содержит ошибку: определяйте её по коду, а не по внешнему виду ответа. После завершения откроются общий результат, 4 тематические шкалы и подробные объяснения.
Вопрос 1 из 20
Как поведёт себя программа в этом коротком сценарии, связанном с «Условия if»? Здесь оценивается чтение границ и порядок ветвлений.
SwiftУсловия if · фрагмент для разбора
let temperature = 18
let message = if temperature >= 20 { "warm" } else { "cool" }
print(message)
Вопрос 2 из 20
Определите не предполагаемое, а фактическое поведение примера «Сопоставление в switch». Здесь оценивается сопоставление с образцом и исчерпывающий разбор состояний.
SwiftСопоставление в switch · фрагмент для разбора
let point = (0, 4)
switch point {
case (0, let y): print("axis", y)
case let (x, y): print(x, y)
}
Вопрос 3 из 20
Не запуская код, восстановите состояние значений после последней строки. Какой вывод верен для «for и while»? Проверяется включённость границ, условие остановки и выбор формы цикла.
Swiftfor и while · фрагмент для разбора
var sum = 0
for value in stride(from: 1, through: 5, by: 2) {
    sum += value
}
print(sum)
Вопрос 4 из 20
Какой итог даст показанный фрагмент, если применять правила Swift буквально, а не угадывать намерение автора? Здесь оценивается точная принадлежность диапазону и применение сопоставление с образцом вне switch.
SwiftСопоставление диапазонов · фрагмент для разбора
let age = 18
switch age {
case ..<18: print("minor")
case 18...64: print("adult")
default: print("senior")
}
Вопрос 5 из 20
Какую причину стоит указать в отчёте об ошибке, прежде чем предлагать исправление? Важно учесть: чтение границ и порядок ветвлений.
SwiftУсловия if · фрагмент для разбора
let score = 80
if score > 90 {
    print("A")
} else if score > 80 {
    print("B")
} else {
    print("C")
}
Вопрос 6 из 20
Почему этот код не выполняет заявленный контракт? Важно учесть: сопоставление с образцом и исчерпывающий разбор состояний.
SwiftСопоставление в switch · фрагмент для разбора
enum State { case idle, loading, ready }
let state = State.ready
switch state {
case .idle: print("idle")
case .loading: print("loading")
}
Вопрос 7 из 20
Что именно делает этот фрагмент неверным или неочевидным с точки зрения «for и while»? Здесь оценивается включённость границ, условие остановки и выбор формы цикла.
Swiftfor и while · фрагмент для разбора
var i = 3
repeat {
    print(i)
    i += 1
} while i < 3
Вопрос 8 из 20
Какой диагноз согласуется и с исходным кодом, и с правилами Swift? Важно учесть: точная принадлежность диапазону и применение сопоставление с образцом вне switch.
SwiftСопоставление диапазонов · фрагмент для разбора
let value = 10
if case 0..<10 = value {
    print("inside")
} else {
    print("outside")
}
Вопрос 9 из 20
Какой вариант ремонта вы бы приняли после содержательной проверки кода? Важно учесть: чтение границ и порядок ветвлений.
SwiftУсловия if · фрагмент для разбора
let score = 80
if score > 90 {
    print("A")
} else if score > 80 {
    print("B")
} else {
    print("C")
}
Вопрос 10 из 20
Выберите правку, после которой дефект исчезает не только в удачном примере. Важно учесть: сопоставление с образцом и исчерпывающий разбор состояний.
SwiftСопоставление в switch · фрагмент для разбора
enum State { case idle, loading, ready }
let state = State.ready
switch state {
case .idle: print("idle")
case .loading: print("loading")
}
Вопрос 11 из 20
Как восстановить заявленный контракт с наименьшим числом новых скрытых предположений? Здесь оценивается включённость границ, условие остановки и выбор формы цикла.
Swiftfor и while · фрагмент для разбора
var i = 3
repeat {
    print(i)
    i += 1
} while i < 3
Вопрос 12 из 20
Какое изменение устраняет именно показанную причину и сохраняет ясный контракт «Сопоставление диапазонов»? Важно учесть: точная принадлежность диапазону и применение сопоставление с образцом вне switch.
SwiftСопоставление диапазонов · фрагмент для разбора
let value = 10
if case 0..<10 = value {
    print("inside")
} else {
    print("outside")
}
Вопрос 13 из 20
Какую предпосылку стоит явно записать в документации и тестах? Проверяется чтение границ и порядок ветвлений.
Вопрос 14 из 20
Какой контрпример показывает, что рабочий сценарий нельзя безусловно переносить на все похожие случаи? Важно учесть: сопоставление с образцом и исчерпывающий разбор состояний.
Вопрос 15 из 20
Какое ограничение темы «for и while» обязательно проверить отдельным граничным тестом? Здесь оценивается включённость границ, условие остановки и выбор формы цикла.
Вопрос 16 из 20
Что нужно учесть, прежде чем объявлять найденное правило универсальным? Проверяется точная принадлежность диапазону и применение сопоставление с образцом вне switch.
Вопрос 17 из 20
Какой принцип важнее локальной красоты синтаксиса в рабочем приложении? Проверяется чтение границ и порядок ветвлений.
Вопрос 18 из 20
Какой выбор лучше удерживает баланс между ясностью, проверяемостью и стоимостью выполнения? Проверяется сопоставление с образцом и исчерпывающий разбор состояний.
Вопрос 19 из 20
Как организовать этот механизм, чтобы владение и отказ оставались понятными после расширения проекта? Важно учесть: включённость границ, условие остановки и выбор формы цикла.
Вопрос 20 из 20
Как организовать этот механизм, чтобы владение и отказ оставались понятными после расширения проекта? Здесь оценивается точная принадлежность диапазону и применение сопоставление с образцом вне switch.

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

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

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

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