Logo

出典: フリー教科書『ウィキブックス(Wikibooks)』

Logoは、教育用に開発されたプログラミング言語で、グラフィカルな環境で動作します。 Logoは、独自の文法を持ち、簡単なコマンドで複雑な処理を行うことができます。Logoの特徴は、タートルグラフィックスを使って、図形を描くことができることです。

Logoの環境に入るためには、Logoをインストールし、コマンドプロンプトやターミナルで「logo」と入力する必要があります。

基本的なコマンド[編集]

Logoの基本的なコマンドは以下の通りです。

  • fd (forward):タートルを前に進めます。
  • bk (backward):タートルを後ろに進めます。
  • rt (right):タートルを右に回転させます。
  • lt (left):タートルを左に回転させます。
  • pu (penup):タートルのペンを上げます。
  • pd (pendown):タートルのペンを下げます。

これらのコマンドを使って、タートルを操作してみましょう。以下の例では、タートルを前に進めて、右に回転させ、また前に進めます。

fd 50
rt 90
fd 50
このコードを実行すると、タートルがL字形を描きます。

変数と再帰[編集]

Logoでは、変数を使って数値や文字列を格納することができます。また、再帰を使って、複雑な処理を簡単に記述することができます。

以下の例では、再帰を使って、タートルが円を描くように移動します。

to circle :size
  if :size < 1 [stop]
  repeat 360 [
    fd :size
    rt 1
  ]
  circle :size - 5
end
このコードを実行すると、タートルが円を描くように移動します。

制御構造[編集]

Logoでは、if文やrepeat文、while文などの制御構造を使って、プログラムの流れを制御することができます。 以下の例では、repeat文を使って、タートルが正方形を描くように移動します。

repeat 4 [  fd 50  rt 90]
このコードを実行すると、タートルが正方形を描くように移動します。

手続きと関数[編集]

Logoでは、手続きと関数を定義することができます。手続きは、プログラム内で複数回実行されるような処理をまとめたものであり、関数は、入力値を受け取り、処理を行って結果を返すものです。

以下の例では、手続きを使って、タートルが花を描くように移動します。

to petal
  repeat 36 [
    fd 10
    rt 10
    fd 10
    lt 20
    fd 10
    rt 10
    fd 10
    lt 170
 ]
end
to flower
  repeat 12 [
    petal
    rt 30
  ]
end
flower このコードを実行すると、タートルが花を描くように移動します。

変換[編集]

Logoでは、文字列や数値などを変換することができます。たとえば、数値を文字列に変換することができます。

以下の例では、数値を文字列に変換して、タートルがテキストを描くように移動します。

to write :text
  if numberp :text [
    set :text
    word :text " "
  ]
  repeat length :text [
    pu
    fd 10
    writechar first :text
    set :text
    butfirst :text
  ]
end
write "Hello, world!"
このコードを実行すると、タートルが「Hello, world!」というテキストを描くように移動します。

以上がLogoの基本的な機能についての紹介です。Logoは、簡単な文法とタートルグラフィックスを使って、複雑な処理を行うことができるプログラミング言語です。教育用に開発された言語であり、プログラミング初心者にとって理解しやすい言語としても知られています。