Предмет: Информатика
ГДЗ Рабочая тетрадь Информатика 8 класс БосоваРешение задания 189: Трассировка программ с циклами while (Информатика 8 класс, Босова)
Задание 189. Определите значение переменной s и i после выполнения фрагмента программы.
а) Фрагмент программы:
s: = 0;
i := 0;
while i < 5 do
begin
i:=i+1;
s:=s+i;
end;
Цикл выполняется, пока i < 5. В теле цикла сначала увеличивается i на 1, затем s увеличивается на новое значение i.
Процесс выполнения по шагам:
| Шаг | s | i | i < 5 (Да/Нет) | Действие |
|---|---|---|---|---|
| Инициализация | 0 | 0 | Да | Начало цикла |
| 1-я итерация | 0 + 1 = 1 | 0 + 1 = 1 | Да | i увеличивается до 1, s = s + 1 |
| 2-я итерация | 1 + 2 = 3 | 1 + 1 = 2 | Да | i увеличивается до 2, s = s + 2 |
| 3-я итерация | 3 + 3 = 6 | 2 + 1 = 3 | Да | i увеличивается до 3, s = s + 3 |
| 4-я итерация | 6 + 4 = 10 | 3 + 1 = 4 | Да | i увеличивается до 4, s = s + 4 |
| 5-я итерация | 10 + 5 = 15 | 4 + 1 = 5 | Нет | i увеличивается до 5, s = s + 5; условие ложно, выход |
б) Фрагмент программы:
s: = 0;
i := 0;
while i < 5 do i := i+1;
s:= s+i;
Цикл выполняется, пока i < 5. В теле цикла только увеличивается i на 1. После цикла s увеличивается на текущее значение i.
Процесс выполнения по шагам:
| Шаг | s | i | i < 5 (Да/Нет) | Действие |
|---|---|---|---|---|
| Инициализация | 0 | 0 | Да | Начало цикла |
| 1-я итерация | 0 | 0 + 1 = 1 | Да | i увеличивается до 1 |
| 2-я итерация | 0 | 1 + 1 = 2 | Да | i увеличивается до 2 |
| 3-я итерация | 0 | 2 + 1 = 3 | Да | i увеличивается до 3 |
| 4-я итерация | 0 | 3 + 1 = 4 | Да | i увеличивается до 4 |
| 5-я итерация | 0 | 4 + 1 = 5 | Нет | i увеличивается до 5; условие ложно, выход |
| После цикла | 0 + 5 = 5 | 5 | - | s = s + i |
в) Фрагмент программы:
s: = 0;
i := 2;
while i > 1 do
begin
s := s+1/i;
i := i-1;
end;
Цикл выполняется, пока i > 1. В теле цикла s увеличивается на 1 / i (деление вещественное), затем i уменьшается на 1. Предполагается, что s — вещественная переменная.
Процесс выполнения по шагам:
| Шаг | s | i | i > 1 (Да/Нет) | Действие |
|---|---|---|---|---|
| Инициализация | 0.0 | 2 | Да | Начало цикла |
| 1-я итерация | 0.0 + 1 / 2 = 0.5 | 2 - 1 = 1 | Нет | s увеличивается на 0.5, i уменьшается до 1; условие ложно, выход |
Поделиться