środa, września 09, 2009

Algorytm - czemu w szkole nie uczą jak obliczyć pierwiastek? ;-)

Czemu mnie takich fajnych rzeczy na matematyce w szkole nie uczyli? :-)
Dopiero teraz się dowiedziałem [dzięki Wikipedii], że pierwiastek kwadratowy można znaleźć w taki oto sposób:
def sqrt(A):
r=A*1.0
if r>2:
r=r/2
oldR=A+1
stop=False
while not stop:
r=(r+A/r)/2
if (oldR==r):
stop=True
oldR=r
return r

OK, w Wikipedii wyczytałem tylko, że wzór na sqrt(A) [czy jak kto woli √A] jest taki:
x0=A
xk=(xk-1+A/xk-1)/2
i im wyższe k tym pierwiastek dokładniejszy.

Wydaje mi się, że takie rzeczy powinny być jednak w szkołach uczone. Zawsze np. miałem problem jak wymyślono np. funkcje trygonometryczne i jak się je liczy.

Zawsze brakowało mi takiego "technicznego" backgroundu ;-) dla pewnych funkcji i działań. Dla dodawania, odejmowania, mnożenia i dzielenia tego uczą [a w każdym bądź razie jeszcze za moich czasów uczyli] w ramach dodawania, odejmowania, a później też mnożenia i dzielenia pod kreskę. Potęgowanie liczb całkowitych też jest tłumaczone, ale już potęgowanie niecałkowitych [aka pierwiastkowanie] nie jest tłumaczone i później człowiek nie wie jak to działa.

Oczywiście każdy absolwent dowolnego kierunku technicznego poznał coś takiego jak szeregi Taylora, które pozwalają np. na wyliczenie wartości takiego sinusa, ale przy założeniu, że umiemy go zróżniczkować i że znamy pewne wartości...

Dlatego więcej takich fajnych algorytmów w szkole! :-)


Podobne postybeta
Porzucam OpenOffice.org dla LibreOffice ;-)
Idioci
3 plusy ;-)
Ścisłowcy vs. humaniści
VRML