サンプルプログラム集

本ページでは、どのソースコードでどのような図が得られるかを明示しません。

想像したり実際に動作させてみたりして活用して下さい。

結果図像

結果1

結果1

結果2

結果2

結果3

結果3

結果4

結果4

ソースコード

例1
def fig1(n: Int, ang: Int) {
    if(n>10) {
        forward(n) ; left(ang)
        fig1(n-1, -ang)
    }
}
def fig2(n: Int, ang: Int) {
    if(n>10) {
        forward(n) ; left(ang)
        forward(n) ; left(ang)
        fig2(n-1, -ang)
    }
}
def fig3(n: Int, ang: Int) {
    if(n>10) {
        repeat(20) {
            forward(n) ; left(ang)
        }
        fig3(n-1, -ang)
    }
}
clear
fig1(30,160) ; penUp ; moveTo(0, -100); moveTo(0,-99) ; penDown
fig2(30,91) ; penUp ; moveTo(0, -300); moveTo(0,-299) ; penDown
fig3(20,10)
例2
def zigzag(ang:Int) {
    forward(100)
    left(10+ang)
    zigzag(-ang)
}
clear
zigzag(150)
例3
def zigzag(size:Int,ang:Int) {
    forward(size)
    left(10+ang)
    zigzag(size+1,-ang)
}
clear
zigzag(10,150)
例4
def zigzag(size:Int,ang:Int) {
  if(size<1000) {
    repeat(25) {
        forward(size)
        left(1+ang)
    }
    zigzag(size+1,-ang)
  }
}
clear
zigzag(10,10)