38: "Алгоритмизация и программирование", Циклический алгоритм (while).
Решать задачи по темеТрассировочная таблица для алгоритма на Python
Трассировочная таблица
— это пошаговое исполнение команд алгоритма с указанием значений переменных, которые устанавливаются после выполнения команд.
Она позволяет наглядно представлять значения переменных, изменяющиеся при выполнении программы.
Пример 1:
s = 900 n = 2250 while n // s >= 2: s = s + 100 n = n + 50 print(s)
Итерация (шаг) | s | n | n // s >= 2 заход в следующий цикл |
---|---|---|---|
исходные значения | 900 | 2250 | |
Истина | |||
1 | 1000 | 2300 | |
Истина | |||
2 | 1100 | 2350 | |
Истина | |||
3 | 1200 | 2400 | |
Истина | |||
4 | 1300 | 2450 | |
Ложь | |||
print(s) | 1300 |
Объяснение: Алгоритм начинается с s = 900
и n = 2250
. Он
проверяет, верно ли n // s >= 2
.
Чтобы удовлетворить это условие, s
увеличивается на 100
, а n
увеличивается на 50
до тех пор, пока условие не станет ложным.
Когда условие изменится, программа выводит итоговое значение s
, которое равно 1300
.
Пример 2:
x = 9 n = 2 s = "" while x > 0: s = str(x % n) + s x = x // n print(s)
Итерация | x | n | s | x > 0 |
---|---|---|---|---|
исходные значения | 9 | 2 | ||
Истина | ||||
1 | 4 | 2 | 1 | |
Истина | ||||
2 | 2 | 2 | 01 | |
Истина | ||||
3 | 1 | 2 | 001 | |
Истина | ||||
4 | 0 | 2 | 1001 | |
Ложь | ||||
print(s) | 1300 |
Объяснение: Алгоритм начинается с x = 9
и n = 2
. Он выполняет преобразование числа x
в строку в двоичной (n = 2) системе счисления,
добавляя остаток от деления x
на n
к строке s
, пока x больше 0
. В конце программа выводит строку s
,
которая представляет двоичное представление числа 9
, равное 1001₂
.