mieki256's diary



2021/06/03(木) [n年前の日記]

#1 [prog] いくつかのLogo言語環境を試用してみた

昨日、KTurtle という学習用プログラミング環境を触ってみたり、Scratch でタートルグラフィックスを試してみたりしたけれど。今現在利用できるLogo言語って他にあるのか気になってきて、少しググってみたり。

Windows上で動くものとして、FMSLogo というのが有名らしい。UCBLogo (Berkekey Logo)をベースにして作られているのだとか。

それぞれ、Windows10 x64 20H2上で動作確認してみた。

FMSLogoを試用。 :

FMSLogo は 8.1.0 を試用。

_Home - FMSLogo
_FMSLogo - Wikipedia
_<紙>さんLoG FMSLogo:タートルグラフィックス

fmslogo-8.1.0.exe をDL・実行してインストール。デスクトップ上にアイコンを作ってくれるので、ダブルクリックすれば起動する。

FMSLogo は、いかにもなGUIウインドウが開く。

fmslogo_ss01.png

ウインドウの一番下に入力欄があるので、forward 100 とか left 90 とか打ち込めば、上のエリアに描かれた三角形(おそらく亀相当)が動いて線を描画することができる。

ちなみに、頻繁に使う命令には、省略形があるっぽい。
  • forward : fd
  • left : lt
  • right : rt

UCBLogoを試用。 :

せっかくだから、UCBLogo 6.2 も試用してみる。

_Berkeley Logo (UCBLogo)
_Linux で科学しよう! - UCBLogo
_UCBLogo - Wikipedia

ucblogosetup.exe をDL・実行してインストール。これもデスクトップ上にアイコンを作ってくれるので、ダブルクリックすれば起動する。

UCBLogo は、ちょっとDOS窓っぽい雰囲気のウインドウが開く。

ucblogo_ss01.png

ucblogo_ss02.png

最初は何も描画されてないけれど、いきなり forward 100 等々を打ち込むと、三角形が表示されて線を描画することができる。

以下のように打ち込めば、三角形が描ける…かな…。
repeat 3 [fd 100 rt 120]

FMSLogo が UCBLogo をベースにしているらしいので、Windows環境なら FMSLogo だけ触れば十分かもしれない。

ちなみに、Ubuntu Linux 20.04 LTS 上でも apt を使ってインストールできた。
sudo apt install ucblogo
6.1.0 がインストールされた。端末上で ucblogo と打ち込めば実行できる。

ドリトルについて。 :

ドリトルという環境(?)でも、タートルグラフィックスは使える模様。

_start [プログラミング言語「ドリトル」]
_ドリトル (プログラミング言語) - Wikipedia

「ブロック版」のリンクをクリックすれば、Webブラウザ上で動作する版を試せる。Scratch のようにブロックを並べてプログラミングができるので分かりやすい。

dolittle_ss01.png

dolittle_ss02.png

更に、上のほうにある「テキスト」をクリックすれば、各ブロックが実際にはどんな文で指定されてるかが分かる。日本語で記述していく言語仕様らしくて、そのあたりも分かりやすそう。

dolittle_ss03.png

Pythonでタートルグラフィックス。 :

Python を使ってタートルグラフィックスを試すこともできるらしい。

_Pythonでもタートルグラフィックス | 情報科 いっぽ まえへ!
_<紙>さんLoG Python 学習:タートル・グラフィックス

tkinter を利用して描画しているのだな…。Windows版の Python なら tkinter も一緒にインストールされていたはずなので利用できるのではないかと。少なくとも、手元の Python 3.9.5 では動作した。

_hello_turtle.py
import turtle

t = turtle.Turtle()

t.shape('turtle')
t.pencolor('green')
t.speed(10)

for j in range(36):
    for i in range(4):
        t.forward(200)
        t.left(360/4)
    t.left(10)

turtle.done()

その他参考ページ。 :


以上です。

過去ログ表示

Prev - 2021/06 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project