作者: VED03370
日時: 2002/4/21(18:44)
Fe2+ です。

From: kikwai@... (機械伯爵)
Date: Sat, 20 Apr 2002 20:09:19 +0900

>  タイトルが「入門者のための〜」になってますが、「最低限度何を教えるべきか」
> というような話題になりますので、実際の初心者に対する話題として上げる前に、

最低限度なら、プログラムは「順次実行・条件分岐・繰り返し」でできていま
す、ということを教えればいいんじゃないでしょうか。
# 手続き型言語の場合は、という注を付けないと一部の人に怒られるかな

そういう意味で

>  私の経験だと、最初にポケコンのBASICを使って実用プログラムを書いた時、
> 使った命令はprint,input,if then,gotoだけでした。

というのは非常に示唆的です。逆に「簡易演算プログラム」は条件分岐がない
ので少し物足りなく思います。
# というか足し算しても嬉しくないし

ということで、意味はわからずとも変な絵が出てくるマンデルブロー集合の描
画とかが結構簡単そうで、虚仮脅しにもなるし良くないですか?
複素数を知らない小中学生には難がありますが、まあ、平面の点を扱う便法と
して押し通せば解ってもらえると思います(-1 の平方根だと思うから哲学的
に悩む人が出てくるわけですし)。

# Mandelbrot Set
from __future__ import division
for im in range(-200,200,10):
    line=""
    for re in range(-200,200,5):
        z=c=complex(re/100,im/100)
        for i in range(200):
            z=z**2+c
            if abs(z)>4:
                line+=" "
                break
        else:
            line+="*"
    print line

# complex があって良かった。

因みに、Python 2.2 以前の人は多分怒られますので、from __future__
... をコメントアウトして re/100 とかを float(re)/100 にして下さい。

--
MATSUI Fe2+ Tetsushi
 mailto:VED03370@...
 http://member.nifty.ne.jp/Fe/