Данный фрагмент программы предназначен для возведения числа n в степень m. Для этого используется цикл. Изначально переменным i и r присваиваются начальные значения: i (счетчик цикла) устанавливается в 1, а r (результат возведения в степень) также устанавливается в 1.
Условие i <= m проверяет, достигли ли мы нужной степени. Если условие истинно, выполняется тело цикла:
r := r * n; — результат r умножается на n.i := i + 1; — счетчик цикла увеличивается на 1.После выполнения тела цикла управление возвращается к проверке условия i <= m. Как только i станет больше m, цикл завершится, и будет выведено значение r.
Логически, для организации такого цикла, нам нужно начать блок с ключевого слова, которое запускает цикл с условием. В данном случае это while. После выполнения цикла, если нужно завершить блок команд, используется end.
Порядок следования пропущенных слов:
while (для начала цикла с условием)do (часто используется после while в некоторых языках, но здесь его нет в вариантах. В данном контексте, после `while` идет тело цикла, которое должно быть окружено блоком `begin...end` или подобным. Однако, учитывая предоставленные варианты, `do` может служить связующим звеном перед телом цикла, хотя `while (условие) do` более распространен.)begin (начало блока команд внутри цикла)end (конец блока команд внутри цикла)Исходя из предоставленных вариантов, правильный порядок будет следующим:
whiledobeginendОднако, в приведенном коде `i<=m` выглядит как условие цикла, и следуют `r:=r*n;` и `i:=i+1;`. После этого идет `write (r);`. Если предположить, что `i<=m` является частью конструкции `while`, то перед ней должно стоять `while`, а после нее — `do`. Тело цикла `r:=r*n; i:=i+1;` должно быть заключено между `begin` и `end`.
Поскольку здесь предлагаются варианты `do`, `begin`, `while`, `end`, и код имеет вид:
i:=1;
r:=1;
[пропуск 1] i<=m [пропуск 2]
[пропуск 3]
r:=r*n;
i:=i+1;
[пропуск 4]
write (r);
Логично предположить, что:
whiledo (хотя в некоторых языках `do` может идти после тела цикла, здесь условие стоит перед телом)begin (начало тела цикла)end (конец тела цикла)Таким образом, пропущенные слова будут в следующем порядке:
whiledobeginendЕсли смотреть на предложенные варианты ответа, то последовательность должна быть такой:
while
do
begin
end
Однако, если красный блок перед `i<=m` это `while`, а следующий красный блок это `do`, а после `i:=i+1` стоит `end`, то `begin` может быть пропущен или подразумеваться. Но для полноты структуры цикла `begin` и `end` обычно используются.
Проанализируем варианты:
dobeginwhileendНаиболее вероятная последовательность для цикла:
while (начало цикла)do (связка перед телом цикла)begin (начало блока команд)end (конец блока команд)Учитывая, что `i<=m` - это условие, то `while` должно стоять перед ним. Затем `do`. Затем тело цикла `r:=r*n; i:=i+1;`, которое обычно обрамляется `begin` и `end`.
Так как есть пропуски, и варианты: `do`, `begin`, `while`, `end`:
Первый пропуск: `while` (начинаем цикл)
Второй пропуск: `do` (следует за условием)
Третий пропуск: `begin` (начало блока команд)
Четвертый пропуск: `end` (конец блока команд)
Таким образом, порядок будет:
whiledobeginendОтвет: while, do, begin, end.