💡 Инструкция: Выберите один ответ из пяти. Время — 55 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 4 темам и объяснения.
Вопрос 2 из 20
Ниже приведена неудачная реализация из темы «string и char». Какая редакция возвращает требуемый результат и оставляет независимый контроль?
MATLAB Фрагмент для рецензии Копировать
full = strcat(first, last, " ");
Внести показанную замену без изменения входного контракта. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Контрольный пример должен воспроизводиться на чистом запуске проекта. full = append([first last]);
Заменить исходный блок этой реализацией. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. full = [first " " last];
Переписать вычислительный шаг следующим образом. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Допуск и критерий принятия зафиксировать до просмотра результата. full = first + ' ' + last;
Использовать показанный вариант вместо дефектного фрагмента. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. full = first + " " + last;
Принять эту редакцию как полную замену текущего блока. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. full = strcat(first, last, " ");
Вопрос 7 из 20
В тесте «Строки, символы и регулярные выражения» показанный фрагмент нарушает правило из темы «Форматирование». Какая редакция исправляет причину, а не только её проявление?
MATLAB Фрагмент для рецензии Копировать
s = sprintf("Value: %.2s", value);
Использовать показанный вариант вместо дефектного фрагмента. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. s = compose("Value: %d.2", value);
Заменить исходный блок этой реализацией. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Допуск и критерий принятия зафиксировать до просмотра результата. s = format("Value: %.2f", value);
Переписать вычислительный шаг следующим образом. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Контрольный пример должен воспроизводиться на чистом запуске проекта. s = "Value: %0.2f" + value;
Внести показанную замену без изменения входного контракта. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. s = compose("Value: %.2f", value);
Принять эту редакцию как полную замену текущего блока. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. s = sprintf("Value: %.2s", value);
Вопрос 9 из 20
Нужно формализовать операцию «сформировать строку с числом value, округлённым до двух знаков после запятой». Какое соотношение можно использовать для проверки?
s=\operatorname{format}(v,\,\texttt{%.2g})
s=\operatorname{format}(v,\,\texttt{%.2+f})
s=\operatorname{format}(\,\texttt{%.2f},v)
s=\operatorname{format}(v,\,\texttt{%.2f})
s\approx\operatorname{format}(v,\,\texttt{%.2f})
Вопрос 12 из 20
Для темы «Поиск текста» в тесте «Строки, символы и регулярные выражения» приведён дефектный блок. Какое замечание рецензента можно принять?
MATLAB Фрагмент для рецензии Копировать
mask = strcmp(names, "temp");
Внести показанную замену без изменения входного контракта. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. mask = strcmp(names, "temp");
Заменить исходный блок этой реализацией. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Контрольный пример должен воспроизводиться на чистом запуске проекта. Для темы «Поиск текста» также сверить класс данных и сохранение ожидаемой структуры выхода. mask = startsWith("temp", names);
Переписать вычислительный шаг следующим образом. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. mask = contains(names, "temp");
Использовать показанный вариант вместо дефектного фрагмента. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. mask = regexp(names, "temp");
Принять эту редакцию как полную замену текущего блока. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. Допуск и критерий принятия зафиксировать до просмотра результата. Для темы «Поиск текста» также сверить класс данных и сохранение ожидаемой структуры выхода. mask = names == "*temp*";
Вопрос 16 из 20
Условие задачи — извлечь из строки первый блок из четырёх цифр как совпадение регулярного выражения. Какой код сохраняет математический смысл постановки?
token = regexprep(text, "\d{4}", "once");
token = regexp(text, "d{4}", "match", "once");
token = contains(text, "\d{4}");
token = regexp(text, "\d(4)", "split");
token = regexp(text, "\d{4}", "match", "once");
Вопрос 17 из 20
Показанный код из темы «Шаблоны» не соответствует постановке. Какая редакция восстанавливает вычислительный договор?
MATLAB Фрагмент для рецензии Копировать
token = regexprep(text, "\d{4}", "once");
Заменить исходный блок этой реализацией. Перед принятием проверить предпосылки операции, форму результата и один численный инвариант. Результат проверки оформить так, чтобы его можно было повторить без ручной подгонки. token = regexprep(text, "\d{4}", "once");
Использовать показанный вариант вместо дефектного фрагмента. На минимальном примере сопоставить форму выхода и два контрольных значения с независимым эталоном. Допуск и критерий принятия зафиксировать до просмотра результата. token = regexp(text, "d{4}", "match", "once");
Переписать вычислительный шаг следующим образом. Добавить регрессионный пример, на котором исходная версия расходится с требованием по значению или размерности. Отдельно убедиться, что ближайшая неверная реализация этот контроль не проходит. token = contains(text, "\d{4}");
Принять эту редакцию как полную замену текущего блока. После замены проверить обычный и граничный входы, заранее вычислив ожидаемый результат. Контрольный пример должен воспроизводиться на чистом запуске проекта. token = regexp(text, "\d(4)", "split");
Внести показанную замену без изменения входного контракта. Сравнить результат с формулой на двух входах, где меняются ориентация данных и масштаб величин. В журнале проверки сохранить вход, ожидаемый результат и фактическое расхождение. token = regexp(text, "\d{4}", "match", "once");
Вопрос 19 из 20
Проверка кода для задачи «извлечь из строки первый блок из четырёх цифр как совпадение регулярного выражения» опирается на формулу. Какое соотношение можно использовать для проверки?
\mathcal{L}=\{d_1d_2d_3d_4\mid d_i\notin\{0,\ldots,9\}\}
\mathcal{L}=\{d_1d_2d_3d_4\mid d_i\in\{1,\ldots,9\}\}
\mathcal{L}=\{d_1d_2d_3d_4\mid d_{i+1}\in\{0,\ldots,9\}\}
\mathcal{L}\approx\{d_1d_2d_3d_4\mid d_i\in\{0,\ldots,9\}\}
\mathcal{L}=\{d_1d_2d_3d_4\mid d_i\in\{0,\ldots,9\}\}