インターネット&PC120%活用:PC活用編

LOGOの入手

1 LOGOの入手
1) LOGOとは
LOGOはLISPの兄弟言語と言われています。使ってみると、確かに言語仕様はLisp的な部分があります。
しかし、Lispが専門家(人工知能研究)向けなのに対し、LOGOは子供向けで、非常にプログラムしやすく
できています。

特徴としては、Lispの兄弟言語と言われるだけあって、リストの処理といった機能が充実している点が第一点
でしょう。Lispと同様なことが可能になっています。
第2点目は、LOGOオリジナルの機能と言えるでしょうが、直感的なグラフィック描画のコマンドが充実している
点です。この点が、子供の教育用として評価されている点です。
更に、カーソルが亀の形をしている点も、他の言語には見られない特徴です。

プログラム初心者がはじめて取り組む言語としても、オススメです。また、他の言語ユーザーが、人工知能
言語に手を出してみようと言う時の入門編としても、とりつきやすいでしょう。LOGOが使えれば、Lispも
理解しやすいでしょう。

2) LOGOの入手
フリーウェアで提供されているLOGOはいくつかあり、探せば容易に見つかるでしょう。
おじさんは、ロゴ坊(兼宗氏)というフリーウェアのLOGOを使っています。Windows上で使えます。
ロゴ情報室からダウンロードできます。Vectorからもダウンロードできるはずです。


2 ロゴ坊を使って見る

(1) インストール
ロゴ坊のWindows版は、lb210.exe のようなファイル名になっていますので、できるだけ最新バージョン
を入手してインストールしましょう。ファイル名のlbの後の数字がバージョン番号のようです。
インストールはほとんど自動的に行われますので、心配ないでしょう。
インストール完了すると、通常であればLogobフォルダが作成されているはずです。Logobフォルダの中の
主要ファイルは以下の通りです。

logob.exe: 本体です。
*.bmp: タートル画像ファイルです。
dio32s.dll: I/O制御用ライブラリです。
startup.lg: スタートアップファイルです。ロゴ坊起動時に読み込みます。
lbedit.exe: 専用のエディタです。プログラムを作るときに使用します。
*.lg: startup.lg以外の「.lg」の拡張子をもつファイルはサンプルプログラムです


(2) 正方形を作って見る
ロゴ坊を起動すると、startup.lg を読みこんで、亀を表示した後、
1>
と表示して、コマンド入力待ち状態になります。

では、まず正方形を描いてみましょう。
おっとその前に、画面にいろいろ表示されているので、画面をきれいにしましょうか。
1> clean
とタイプしてリターンキーを押して下さい。画面がクリアされたと思います。

それでは、正方形を描いてみましょう。
以下の通り、forward 100 と right 90 を交互のタイプしてみて下さい。
亀がノロノロ動いて正方形ができるはずです。



forward は「まっすぐ進め」という命令です。その後の数字は進む距離です。進む距離の1単位はLOGOによって
異なりますので、それぞれのLOGOで確認して下さい。
right は亀の向きを右方向に変える命令です。数値は度数を表します。

これらのforward, right といった命令は、日本語で と書くことも可能です。
日本語の命令が使える点はロゴ坊の特長です。


(3) プログラムを作る。手続きの定義
先ほどは1行づつ命令をタイプしました。今度は、上の正方形を書くプログラムを作ってみましょう。
LOGOでプログラミングするというのは、他の言語のようにソースファイルを記述するというのとはとは若干違い、
「手続きの定義をする」という作業になります。

ロゴ坊では、まず
1> TO RECT
とタイプしてみて下さい
すると、ロゴ坊のエディタが自動的に起動します。
エディタ上には
TO RECT
END
が既に記述されていますので、以下のようにコードを追加記述して、保存して下さい。

to rect
home
clean
pendown
forward 100
right 90
forward 100
right 90
forward 100
right 90
forward 100     
end

TO の後には「手続き名」を記述します。ここではRECTにしました。
homeは、亀を画面の中央に移動させるコマンドです。
pendownはペンを下ろせ(描画できる状態にしろ)という命令です。

保存するファイル名は何でも構いませんが、手続き名と同じファイル名が良いでしょう。
おじさんは、rect.lg というファイル名にしてあります。

では、このrectを実行してみましょう。
まず、ファイルをロードします。
>load rect
とタイプして下さい。rect.lg が読み込まれますので、
>rect
と手続き名をタイプして下さい。亀が正方形を描くはずです。

これはプログラムと言っても構わないと思いますが、LOGOでは”手続きを定義した”と言います。
他の言語でいうところのプログラムと違う点は、定義した手続きは、ユーザーが作った新たな命令
だという点です。一度ロードすれば、自由その手続きを命令として使えます。
このように、自分にとって便利な命令を自由に作れる(定義する)、使える点がLOGOの大きな特長です。
(Lisp系の言語の大きな特長です)

(4) 多角形を描く
それでは、多角形を描く手続きとして "rectn" を作ってみます。
rectn は多角形の角の数を引数として与えて呼び出すタイプの手続きとします。
すなわち
>rectn 6
とすると正6角形を描きます。
コードは以下の通りです。

to startup
print [ 「rectn 8」のように実行すると、正8角形を描きます] 
end

to rectn :n
home
clean
repeat :n [forward 360 / :n right 360 / :n]
end

to startup ........... end の部分は、ファイルがロードされた時点で実行されます。

LOGOでは変数名には : をつけます。
LOGOでは TO 手続き名 の後に変数を記述すると、それが引数となります。
このプログラムでは手続きを呼ぶ時の引数として変数 :n を使っています。

repeat は繰り返しの命令です。
repeat :n [ .........]
と記述すると、[ ] 内の命令をn回繰り返せという命令になります。
これで、正N角形が描けます。Nが大きくなれば、円に近づいていきます。

以下、実行例です。







 

TopPage


 

inserted by FC2 system