|
|
|
§ 7. Запись алгоритмов на языках программирования
Другие приёмы анализа программТрассировочная таблица — наглядный, но не универсальный инструмент анализа программ. Например, её затруднительно строить, если в алгоритме много шагов. Пример 7. Требуется выяснить, какое число будет напечатано в результате выполнения следующей программы:
Трассировочная таблица для этой программы будет содержать не одну сотню строк. Попробуем проанализировать программу иначе. 1. Выясним, какую функцию выполняет каждая из переменных, задействованных в программе. Начальное значение переменной s = 400. При каждом выполнении тела цикла к значению s прибавляется число 12. Начальное значение переменной n = 0. При каждом выполнении тела цикла значение переменной увеличивается на 2: n — 2, если тело цикла выполнено 1 раз; n = 4 — если 2 раза; n = 6 — если 3 раза и т. д. Таким образом, искомое значение n — это 2 • k, где k — число выполнений тела цикла. 2. Выясним, при каком условии произойдёт выход из цикла. Цикл выполняется, пока s < 2992. Следовательно, цикл завершится при достижении s значения, равного или большего 2992. 3. Выясним, сколько раз выполнится тело цикла, вычислив значение выражения: (2992 - 400)/12 = 216. После того как тело цикла выполнится 216 раз, значение переменной s будет равно 2992, что является условием выхода из цикла. При этом n = 2 • 216 = 432. Выясните, каким будет результат работы программы, если в ней условие выхода из цикла будет изменено на:
1) s < 2990; 2) s <= 2992; 3) s <= 300.
Пример 8. Получив на вход некоторое натуральное число х, эта программа выводит два числа — m и n.
|
|
|