Читать книгу: «Занимательный Питон», страница 5
Каждый программист
Работа программы во многом определяется ходом изменения значений её переменных.
Поэтому каждый программист стремится как можно более точно предвидеть характер этого изменения: на умении делать трассировку (пошаговое выполнение), и точно прослеживать порядок значений переменных базируется мастерство составления программ.
В качестве тренировки разберем следующую задачу:
Какое значение будет иметь переменная х после 5го цикла выполнения программы?
#программа
x=0
y=0
z=0
i=0
while (i<5):
x=x+y+z+1
y=x+y+z+1
z=x+y+z+1
i=i+1
print(x,y,z)
Проверьте правильность своих рассуждений, запустив программу на выполнение…
Доктор Шибкин
Доктор Шибкин был человеком чрезвычайно рассеянным и частенько допускал оплошности. Но как ни странно , именно это приводило его порой к самым разным маленьким открытиям.
Так , читая предыдущий пункт книги , он проскочил глазами само задание и подумал, что нужно найти решение системы уравнений:
X=Х+Y+Z+1,
Y=X+Y+Z+1,
Z=X+Y+Z+1
что он и сделал мгновенно в уме: из одинаковости правых частей очевидно, что X=Y=Z, откуда: X=Y=Z=-½.
Когда же он собрался сверить ответ, то понял, что в задании речь идёт не о системе уравнений, а о программе для компьютера. Выполнив задание правильно, профессор с изумлением заметил: “Между двумя решениями нет ничего общего!”. С тех пор доктор Шибкин проникся идеей, что смысл математических и программных обозначений, при всей их схожести , – совершенно различный.
Таблица квадратов
Задача:
Составить программу , – печатающую таблицу квадратов целых чисел.
Решение:
Если значение переменной N будет пробегать натуральный ряд 0, 1, 2, 3, …, N то переменная X=N*N даст квадрат N. Печатая значение N и X и зациклив программу , имеем:
#программа 2
N=0
while (N<21):
X=N*N
print(N, X)
N=N+1
print(“End”)
Степени числа 2
Задача:
Аналогично таблице квадратов можно составить программу, печатающую числа 2**n: N=N+1; X=2**N. Однако это можно сделать проще, если заметить что степень числа 2 – представляет собой произведение двоек столько раз, каков показатель степени.