bannerbannerbanner
полная версияЗанимательный Питон

nikf
Занимательный Питон

Каждый программист

Работа программы во многом определяется ходом изменения значений её переменных.

Поэтому каждый программист стремится как можно более точно предвидеть характер этого изменения: на умении делать трассировку (пошаговое выполнение), и точно прослеживать порядок значений переменных базируется мастерство составления программ.

В качестве тренировки разберем следующую задачу:

Какое значение будет иметь переменная х после 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 – представляет собой произведение двоек столько раз, каков показатель степени.

Рейтинг@Mail.ru