Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal»
23
20.
end
21.
end.
Выполним ручную прокрутку алгоритма, взяв в качестве n число 2. При этом будем уже по
привычке красным цветом обозначать переменные, изменившиеся после выполнения данной
строки, а прочерком те, которые на данном шаге не определены, так как алгоритм до них еще «не
дошел». При повторении шагов цикла итерации явно считать не будем (хотя легко увидеть, что их
номерам полностью соответствует изменяющаяся после каждого очередного выполнения тела пе-
ременная k), и в таблице будет указана лишь та строка, которая выполняется. На тех шагах, на ко-
торых переменные не изменяются, будем пояснять смысл выполняющихся операторов.
Для наглядности все же отделим друг от друга четные и нечетные шаги основного цикла while,
при этом его внутренний цикл будем считать самоочевидным и в строке 12-14 будем фиксировать
те значения переменных, которые будут получены по выходу из него.
№ строки
n
k
primes
i
count
7
2
—
—
—
—
8
2
1
—
—
—
9
2
1
0
—
—
10
(primes < n) = true –
входим в цикл
11
2
1
0
—
0
12-14
2
1
0
от 1 до 1
1
15-18
(count = 2) = false
19
2
2
0
—
1
10
(primes < n) = true –
входим в цикл
11
2
2
0
—
0
12-14
2
2
0
от 1 до 2
2
15
(count = 2) = true
16
Вывод числа k (то есть 2)
17-18
2
2
1
—
2
19
2
3
1
—
2
10
Do'stlaringiz bilan baham: |