Программа из Примера 4 (стр. 94) выполняет цикл \( \text{for } \text{k}:=5 \text{ to } 10 \text{ do } \dots \) с 6 итерациями, где \( \text{s}:=\text{s}+\text{d} \) и \( \text{d}:=\text{d}*2 \). Начальное значение \( \text{s}=0 \).
Переменная \( \text{s} \) накапливает сумму \( 6 \cdot \text{d}_{\text{нач}} \), так как \( \text{d} \) удваивается после каждого сложения, но используется в сложении еще до его удвоения (в трассировочной таблице видно, что при \( \text{k}=5 \), \( \text{s}=\text{s}+10 \), где \( \text{d}=10 \), и после этого \( \text{d} \) становится \( 20 \)).
Проанализируем цикл, где \( \text{s}_{\text{k}} \) - значение \( \text{s} \) после \( \text{k} \)-й итерации:
\( \text{k} \in [5, 10] \). Цикл выполняется \( 10 - 5 + 1 = 6 \) раз.
Пусть \( \text{d}_0 \) — начальное значение \( \text{d} \). При каждой итерации к \( \text{s} \) прибавляется \( \text{d} \), и затем \( \text{d} \) удваивается.
Итерация 1 (\( \text{k}=5 \)): \( \text{s} = \text{d}_{\text{нач}} \); \( \text{d} = 2 \cdot \text{d}_{\text{нач}} \).
Итерация 2 (\( \text{k}=6 \)): \( \text{s} = \text{d}_{\text{нач}} + 2 \cdot \text{d}_{\text{нач}} \); \( \text{d} = 4 \cdot \text{d}_{\text{нач}} \).
Итерация 3 (\( \text{k}=7 \)): \( \text{s} = \text{d}_{\text{нач}} + 2 \cdot \text{d}_{\text{нач}} + 4 \cdot \text{d}_{\text{нач}} \); \( \text{d} = 8 \cdot \text{d}_{\text{нач}} \).
Итерация 4 (\( \text{k}=8 \)): \( \text{s} = \dots + 8 \cdot \text{d}_{\text{нач}} \); \( \text{d} = 16 \cdot \text{d}_{\text{нач}} \).
Итерация 5 (\( \text{k}=9 \)): \( \text{s} = \dots + 16 \cdot \text{d}_{\text{нач}} \); \( \text{d} = 32 \cdot \text{d}_{\text{нач}} \).
Итерация 6 (\( \text{k}=10 \)): \( \text{s} = \dots + 32 \cdot \text{d}_{\text{нач}} \); \( \text{d} = 64 \cdot \text{d}_{\text{нач}} \).
Конечное значение \( \text{s} \):
\( \text{s} = \text{d}_{\text{нач}} \cdot (1 + 2 + 4 + 8 + 16 + 32) = \text{d}_{\text{нач}} \cdot (2^6 - 1) = 63 \cdot \text{d}_{\text{нач}} \)
Если \( \text{s} = 186 \), то \( 186 = 63 \cdot \text{d}_{\text{нач}} \).
\( \text{d}_{\text{нач}} = \frac{186}{63} \approx 2.95 \).
Поскольку \( \text{d} \) должно быть целым (тип \( \text{integer} \)), то такое значение \( \text{s}=186 \) не может быть получено при целочисленном \( \text{d}_{\text{нач}} \).
Если \(\text{s}=212\):
\( 212 = 63 \cdot \text{d}_{\text{нач}} \).
\( \text{d}_{\text{нач}} = \frac{212}{63} \approx 3.36 \).
Поскольку \( \text{d} \) должно быть целым, то такое значение \( \text{s}=212 \) также не может быть получено при целочисленном \( \text{d}_{\text{нач}} \).