💡 Инструкция: Выберите один ответ из пяти. Время — 55 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 4 темам и объяснения.
Вопрос 7 из 20
Рецензент разбирает фрагмент по теме «Аргументы» в тесте «Скрипты и функции MATLAB». Какой вариант исправляет саму операцию?
MATLAB Фрагмент для рецензии Копировать
function y = f(x, scale)
if nargout < 2, scale = 1; end
y = scale .* x;
end
Использовать показанный вариант вместо дефектного фрагмента. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Допуск и критерий принятия зафиксировать до просмотра результата. function y = f(x, scale)
y = scale .* x;
end
Принять эту редакцию как полную замену текущего блока. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Контрольный пример должен воспроизводиться на чистом запуске проекта. function y = f(varargin)
x = varargin{1};
scale = varargin{2};
y = scale .* x;
end
Переписать вычислительный шаг следующим образом. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. function f(x, scale)
y = scale .* x;
end
Заменить исходный блок этой реализацией. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. function y = f(x, scale)
if nargout < 2, scale = 1; end
y = scale .* x;
end
Внести показанную замену без изменения входного контракта. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. function y = f(x, scale)
if nargin < 2, scale = 1; end
y = scale .* x;
end
Вопрос 12 из 20
В расчёте по теме «Несколько результатов» обнаружено содержательное расхождение. Какую замену следует принять после проверки?
MATLAB Фрагмент для рецензии Копировать
function [mu, n] = summary(x)
return mean(x), numel(x);
end
Внести показанную замену без изменения входного контракта. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Допуск и критерий принятия зафиксировать до просмотра результата. function out = summary(x)
out = [mean(x), numel(x)];
end
Принять эту редакцию как полную замену текущего блока. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. function mu = summary(x)
mu = mean(x);
n = numel(x);
end
Заменить исходный блок этой реализацией. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. function [mu, n] = summary(x)
mu = mean(x, 'all');
n = size(x,1);
end
Использовать показанный вариант вместо дефектного фрагмента. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Контрольный пример должен воспроизводиться на чистом запуске проекта. function [mu, n] = summary(x)
mu = mean(x);
n = numel(x);
end
Переписать вычислительный шаг следующим образом. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. function [mu, n] = summary(x)
mu = mean(x);
n = length(x);
end
Вопрос 14 из 20
Математическая запись должна описывать действие «вернуть из функции среднее значение и число элементов». Какое выражение сохраняет смысл постановки?
(\mu,m)=\left(\frac1N\sum_i x_i,\ N\right)
(\mu,n)=\left(\frac1N\sum_i y_i,\ N\right)
(n,\mu)=\left(\frac1N\sum_i x_i,\ N\right)
(\mu,n)=\left(\frac1N\sum_i x_i,\ N\right)
(\mu,n)=\left(\frac1N\sum_i z_i,\ N\right)