DP Delphi / Pascal  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

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

Здесь мало узнать знакомое ключевое слово. Нужно проследить срок жизни данных, порядок вызовов, обработку ошибок и договор между модулями. Тест содержит 20 вопросов, включая 4 фрагментов кода, и разбирает темы: «if и case», «Цикл for», «while и repeat» и «Управление выполнением».

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: В каждом вопросе выберите один ответ из пяти. На весь тест отведено 55 минут. Код лучше сначала разобрать вручную: правильный вариант должен объяснять механизм, а не только совпадать с одним запуском.
Вопрос 1 из 20
В `DanglingElse` сначала встречается `Writeln('run')`, а затем `else`. Какой вывод можно сделать только после чтения обеих строк?
PascalDelphi / Pascal · if и case
// Определите реальную гарантию в DanglingElse.
program DanglingElse;
{$APPTYPE CONSOLE}
var
  Ready, Allowed: Boolean;
begin
  Ready := False;
  Allowed := False;
  if Ready then
    if Allowed then
      Writeln('run')
    else
      Writeln('blocked');
end.
Вопрос 2 из 20
Какой сценарий по теме «Цикл for» отличит исправную реализацию от версии со скрытым дефектом?
Вопрос 3 из 20
Правка по теме «while и repeat» должна сохранить полезное поведение и убрать риск на соседнем сценарии. Какое требование она обязана выполнить?
Вопрос 4 из 20
Какой сценарий по теме «Управление выполнением» отличит исправную реализацию от версии со скрытым дефектом?
Вопрос 5 из 20
Какое свойство темы «if и case» становится решающим на граничном входе или при другом порядке действий?
Вопрос 6 из 20
Модуль, использующий тему «Цикл for», передают другой команде. Какую ответственность нужно закрепить во внешнем договоре?
Вопрос 7 из 20
Какое свойство темы «while и repeat» становится решающим на граничном входе или при другом порядке действий?
Вопрос 8 из 20
В теме «Управление выполнением» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 9 из 20
Две реализации темы «if и case» совпадают на обычном примере. Какое различие всё же меняет их договор?
Вопрос 10 из 20
В практическом сценарии по теме «Цикл for» меняются входные данные и порядок действий. Какой вывод остаётся корректным?
Вопрос 11 из 20
В теме «while и repeat» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 12 из 20
Какой граничный результат следует ожидать в `ExitScopes`, когда после `for I := 1 to 5 do` выполняется `if I = 4 then Break;`?
PascalDelphi / Pascal · Управление выполнением
// Отделите правило языка от удачного запуска ExitScopes.
program ExitScopes;
{$APPTYPE CONSOLE}
procedure Scan;
var
  I: Integer;
begin
  for I := 1 to 5 do
  begin
    if I = 2 then Continue;
    if I = 4 then Break;
    Write(I, ' ');
  end;
end;
begin
  Scan;
end.
Вопрос 13 из 20
Реализацию темы «if и case» заменяют без изменения интерфейса. Какое наблюдаемое свойство обязано сохраниться?
Вопрос 14 из 20
Для темы «Цикл for» обычный путь и граничный путь дают разные риски. Какой вывод учитывает оба, не подменяя один другим?
Вопрос 15 из 20
Какое наблюдение должен зафиксировать тест именно для последовательности `while N > 0 do` → `repeat` в `LoopChoice`?
PascalDelphi / Pascal · while и repeat
// Определите реальную гарантию в LoopChoice.
program LoopChoice;
{$APPTYPE CONSOLE}
var
  N: Integer;
begin
  N := 0;
  while N > 0 do
    Dec(N);
  repeat
    Inc(N);
  until N >= 1;
  Writeln(N);
end.
Вопрос 16 из 20
Две реализации темы «Управление выполнением» совпадают на обычном примере. Какое различие всё же меняет их договор?
Вопрос 17 из 20
В теме «if и case» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 18 из 20
В `ForBounds` строка `for I := 2 to 5 do` создаёт условие для последующей `Writeln(Sum);`. Какой вывод подтверждает этот фрагмент?
PascalDelphi / Pascal · Цикл for
// Определите реальную гарантию в ForBounds.
program ForBounds;
{$APPTYPE CONSOLE}
var
  I, Sum: Integer;
begin
  Sum := 0;
  for I := 2 to 5 do
    Inc(Sum, I);
  Writeln(Sum);
end.
Вопрос 19 из 20
Обычный пример по теме «while и repeat» проходит, но после изменения состояния возникает дефект. Какое условие объясняет его источник?
Вопрос 20 из 20
Реализацию темы «Управление выполнением» заменяют без изменения интерфейса. Какое наблюдаемое свойство обязано сохраниться?

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

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

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

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