# Ruutjuurde leidmine Newtoni meetodil # Lahendus tehtud alamprogrammi kasutades # Aga kogu arvutuse põhiloogika on funktsioonis (kood, mis algab keelesõnaga def) # selgelt näha. import math # Funktsioon leiab arvule ruutjuure kasutades Newtoni meetodit # Sisend: täis- või ujukomaarv # Väljund: sisestatud arvu ruutjuur # Eeltingimused: Sisend peab olema >= 0 # Järeltingimused: - def newton(arv): "Funktsioon leiab ruutjuurt, argumendiks on täis- või ujukomaarv" epsilon = 1E-9 vana_RJ = 1.0 uus_RJ = (arv/vana_RJ + vana_RJ)/2 while abs(uus_RJ - vana_RJ) > epsilon: vana_RJ = uus_RJ uus_RJ = (arv/vana_RJ + vana_RJ)/2 return(uus_RJ) # Siit algab funktsiooni kontrolliv osa ehk peaprogramm print("Ruutjuured arvudele 1..20") print("{:>5s}{:>10s}{:>10s}".format("Arv","Juur","sqrt")) for arv in range(1,21): print("{:5d}{:10.4f}{:10.4f}".format(arv,newton(arv),math.sqrt(arv)))