Предмет: Информатика
ГДЗ Рабочая тетрадь Информатика 8 класс Босова

Решение задания 188: Анализ работы программы с циклом while (Информатика 8 класс, Босова)


Задание 188. Проанализируйте работу программы и ответьте на вопросы.


program math;
  var x, y: integer;
begin
  x:=l;
  y:=l;
  while x<5 do
  begin
    у:=y*2;
    x:=x+1
  end;
end.

Ответьте на вопросы.

  1. Сколько раз исполнится тело цикла?
    Ответ: 4
  2. Какое значение примет x после завершения программы?
    Ответ: 5
  3. Какое значение примет y после завершения программы?
    Ответ: 16
  4. Сколько раз исполнится тело цикла, если изменить условие на х<=5?
    Ответ: 5
  5. Сколько раз исполнится тело цикла, если изменить условие на х>=5?
    Ответ: 0
  6. Сколько раз исполнится тело цикла, если изменить условие на х>0?
    Ответ: Бесконечно
  7. Что произойдёт, если из тела цикла убрать команду x:=x+1?
    Ответ: Бесконечный цикл, где x=1.
  8. Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x+2?
    Ответ: 2
  9. Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x-1?
    Ответ: Бесконечно

Анализ программы

  1. Сколько раз исполнится тело цикла?
    Тело цикла исполнится 4 раза.

    • Начало: x=1, y=1.
    • 1-я итерация: x=1 < 5 (да), y=1*2=2, x=1+1=2.
    • 2-я итерация: x=2 < 5 (да), y=2*2=4, x=2+1=3.
    • 3-я итерация: x=3 < 5 (да), y=4*2=8, x=3+1=4.
    • 4-я итерация: x=4 < 5 (да), y=8*2=16, x=4+1=5.
    • После: x=5 не меньше 5, цикл останавливается.
  2. Какое значение примет x после завершения программы?
    x примет значение 5.

  3. Какое значение примет y после завершения программы?
    y примет значение 16.

  4. Сколько раз исполнится тело цикла, если изменить условие на x <= 5?
    Тело цикла исполнится 5 раз.

    • x=1 <=5 (да), y=2, x=2.
    • x=2 <=5 (да), y=4, x=3.
    • x=3 <=5 (да), y=8, x=4.
    • x=4 <=5 (да), y=16, x=5.
    • x=5 <=5 (да), y=32, x=6.
    • x=6 <=5 (нет), остановка.
  5. Сколько раз исполнится тело цикла, если изменить условие на x >= 5?
    Тело цикла исполнится 0 раз.

    • x=1 >=5 (нет), цикл не запустится.
  6. Сколько раз исполнится тело цикла, если изменить условие на x > 0?
    Тело цикла исполнится бесконечно.

    • x=1 >0 (да), цикл начнётся и будет продолжаться, так как x увеличивается, но условие всегда истинно (x всегда >0 при увеличении).
  7. Что произойдёт, если из тела цикла убрать команду x:=x+1?
    Произойдёт бесконечный цикл.

    • x остаётся равным 1, условие x<5 всегда истинно, y будет умножаться на 2 бесконечно (1, 2, 4, 8, 16, ...), но программа "зависнет".
  8. Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x+2?
    Тело цикла исполнится 2 раза.

    • x=1 <5 (да), y=2, x=1+2=3.
    • x=3 <5 (да), y=4, x=3+2=5.
    • x=5 <5 (нет), остановка.
  9. Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x-1?
    Тело цикла исполнится бесконечно.

    • x=1 <5 (да), y=2, x=1-1=0.
    • x=0 <5 (да), y=4, x=0-1=-1.
    • x=-1 <5 (да), y=8, x=-1-1=-2.
    • И так далее, условие всегда истинно, y растёт, но x уменьшается, оставаясь <5.
Поделиться
Кликните на изображение чтобы обновить код, если он неразборчив