[Edu-sig] thought re graphing calculators ...

kirby urner kirby.urner at gmail.com
Tue Sep 29 01:03:13 CEST 2009


On Mon, Sep 28, 2009 at 3:12 PM, Gregor Lingl <gregor.lingl at aon.at> wrote:
>
>
> kirby urner schrieb:
>>>
>>> Hi Brian,
>>>
>>> ....
>>
>> This ran perfectly on Python 3.1rc1 (r31rc1:73069, May 31 2009,
>> 08:57:10) on my WinXP box (one of a few).
>>
>> Note:  if this level of chaos / noise bothers you (the functions are
>> algebraically the same, after all), then I recommend using the decimal
>> type instead of the floating type, converting to float just to make
>> your turtle happy:
>>
>
> That's fine (for the turtle). But if someone thinks that everything is
> calculated
> "correctly" now, she/he is bound to get disappointed. And that's the point
> (imho).
>

Yes, it's a philosophical point.  Doing it manually would be error
prone so the "correct" way is more science fiction or fantasy than a
reality.

The older ways of teaching math set up some false expectations, and
then when reality fails to make good, reality gets blamed, instead of
the broken metaphysics behind much of "modern" math.

Kirby

> Regards,
> Gregor
>
>
> # Author: Gregor Lingl
> # amended to use Decimal by Kirby Urner 2009-09-28
> # re-corrupted to show the vainness (in principle) of kirby's effort
> 2009-09-28
> # Date: 2009-06-24
>
> # A demonstration of chaos
>
> from turtle import *
> from decimal import Decimal
>
> k = Decimal('3.9')
>
> N = 160
>
> def f(x):
> x = Decimal(str(x))
> return k*x*(1-x)
>
> def g(x):
> x = Decimal(str(x))
> return k*(x-x**2)
>
> def h(x):
> x = Decimal(str(x))
> return k*x-k*x*x
>
> def jumpto(x, y):
> penup(); goto(x,y)
>
> def line(x1, y1, x2, y2):
> jumpto(x1, y1)
> pendown()
> goto(x2, y2)
>
> def coosys():
> line(-1, 0, N+1, 0)
> line(0, -0.1, 0, 1.1)
>
> def plot(fun, start, colour):
> pencolor(colour)
> x = start
> jumpto(0, x)
> pendown()
> dot(5)
> for i in range(N):
>    x=fun(x)
>    goto(i+1,float(x))
>    dot(5)
>
> def main():
> reset()
> setworldcoordinates(-1.0,-0.1, N+1, 1.1)
> speed(0)
> hideturtle()
> coosys()
> plot(f, 0.35, "blue")
> plot(g, 0.35, "green")
> plot(h, 0.35, "red")
> # Now zoom in:
> for s in range(220):
>    setworldcoordinates(0.5*s,-0.1, N+1, 1.1)
> return "Done!"
>
> if __name__ == "__main__":
> main()
> mainloop()
>
>


More information about the Edu-sig mailing list