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

Массивы и индексация

Проверяет базовое понимание темы «Массивы и индексация»: чтение фрагментов, выбор корректной конструкции и объяснение результата без опоры на угадывание. Вопросы требуют читать код, находить границу применимости, выбирать проверяемую правку и отличать свойства Julia от поведения конкретного пакета. В тесте 20 вопросов: 12 заданий с кодом и 8 заданий с математической записью. Все формулировки рассчитаны на Julia 1.12.6; для сторонних библиотек используется явно названный API.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На работу отведено 55 минут. После завершения откроются правильные ответы, объяснения и результаты по темам.
Вопрос 1 из 20
Какое утверждение точнее всего объясняет участок с `info = (size(A), axes(A), ndims(A), length(A))`?
A\in\mathbb{R}^{n_1\times\cdots\times n_k}
JuliaJulia · Размерности
A = reshape(collect(1:24), 2, 3, 4)
info = (size(A), axes(A), ndims(A), length(A))
@show info A[CartesianIndex(2, 3, 4)]
Вопрос 2 из 20
Какую проверку стоит добавить для участка с `info = (size(A), axes(A), ndims(A), length(A))`?
JuliaJulia · Размерности
A = reshape(collect(1:24), 2, 3, 4)
info = (size(A), axes(A), ndims(A), length(A))
@show info A[CartesianIndex(2, 3, 4)]
Вопрос 3 из 20
Какую гарантию должна сохранить правка участка с `info = (size(A), axes(A), ndims(A), length(A))`?
JuliaJulia · Размерности
A = reshape(collect(1:24), 2, 3, 4)
info = (size(A), axes(A), ndims(A), length(A))
@show info A[CartesianIndex(2, 3, 4)]
Вопрос 4 из 20
Две реализации участка с `info = (size(A), axes(A), ndims(A), length(A))` совпадают на обычных данных. Что необходимо проверить перед выпуском?
A\in\mathbb{R}^{n_1\times\cdots\times n_k}
Вопрос 5 из 20
Как сформулировать границу механизма `info = (size(A), axes(A), ndims(A), length(A))` без чрезмерного обещания?
Вопрос 6 из 20
Как нужно интерпретировать `col = A[:, 2]`, не добавляя к коду лишних гарантий?
B=A[I]\;\Rightarrow\;B\not\equiv A
JuliaJulia · Срезы
A = reshape(1:12, 3, 4)
col = A[:, 2]
col[1] = 99
@show A[:, 2] col
Вопрос 7 из 20
Какой контрольный тест лучше всего проверит правило, связанное с `col = A[:, 2]`?
JuliaJulia · Срезы
A = reshape(1:12, 3, 4)
col = A[:, 2]
col[1] = 99
@show A[:, 2] col
Вопрос 8 из 20
Какое требование к `col = A[:, 2]` важнее удобной детали текущей реализации?
JuliaJulia · Срезы
A = reshape(1:12, 3, 4)
col = A[:, 2]
col[1] = 99
@show A[:, 2] col
Вопрос 9 из 20
Как проверить, что новая реализация `col = A[:, 2]` не изменила обещанное пользователю поведение?
B=A[I]\;\Rightarrow\;B\not\equiv A
Вопрос 10 из 20
Какое утверждение о `col = A[:, 2]` является переносимым правилом, а не особенностью одного запуска?
Вопрос 11 из 20
Что именно следует из фрагмента с `col = @view A[:, 2]`?
V=\operatorname{view}(A,I)\;\Rightarrow\;V\sim A
JuliaJulia · Представления без копирования (views)
A = reshape(collect(1:12), 3, 4)
col = @view A[:, 2]
col .*= 10
@show A col
Вопрос 12 из 20
Какой контрольный тест лучше всего проверит правило, связанное с `col = @view A[:, 2]`?
JuliaJulia · Представления без копирования (views)
A = reshape(collect(1:12), 3, 4)
col = @view A[:, 2]
col .*= 10
@show A col
Вопрос 13 из 20
Что должно остаться истинным после рефакторинга участка с `col = @view A[:, 2]`?
JuliaJulia · Представления без копирования (views)
A = reshape(collect(1:12), 3, 4)
col = @view A[:, 2]
col .*= 10
@show A col
Вопрос 14 из 20
При переносе кода с `col = @view A[:, 2]` в библиотеку какой критерий нельзя заменять впечатлением «пример работает»?
V=\operatorname{view}(A,I)\;\Rightarrow\;V\sim A
Вопрос 15 из 20
Какое ограничение стоит прямо указать в документации к участку с `col = @view A[:, 2]`?
Вопрос 16 из 20
Какой механизм Julia определяет поведение строки `b = copy(a)`?
b=a\Rightarrow\operatorname{storage}(b)=\operatorname{storage}(a)
JuliaJulia · Изменяемость
inner = [1, 2]
a = [inner, [3, 4]]
b = copy(a)
push!(b[1], 9)
push!(b, [5])
@show a b
Вопрос 17 из 20
Какую проверку стоит добавить для участка с `b = copy(a)`?
JuliaJulia · Изменяемость
inner = [1, 2]
a = [inner, [3, 4]]
b = copy(a)
push!(b[1], 9)
push!(b, [5])
@show a b
Вопрос 18 из 20
Какую гарантию должна сохранить правка участка с `b = copy(a)`?
JuliaJulia · Изменяемость
inner = [1, 2]
a = [inner, [3, 4]]
b = copy(a)
push!(b[1], 9)
push!(b, [5])
@show a b
Вопрос 19 из 20
После обновления Julia или пакета поведение участка с `b = copy(a)` изменилось. Какой критерий приёмки остаётся корректным?
b=a\Rightarrow\operatorname{storage}(b)=\operatorname{storage}(a)
Вопрос 20 из 20
Какой тезис о `b = copy(a)` можно честно закрепить в справке?

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

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

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

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