APSタートルグラフィックス(Python版)
所要時間
3時間
難易度
★☆☆
概要(機能・動作)
Monaca Educationでプロジェクトを開くと、すぐにタートルグラフィックスが実行されます。
あらかじめ表示されている座標(縦軸・横軸ともに-150から150の範囲)の右上に、赤い線で円が描かれます。ペンが左下に移動して、円に向かって少しだけ進みます。
ファイルpython.pyに書かれているプログラムを変更して保存すると、プログラムは自動的に実行され、ペン(※タートルグラフィックスの名前の通り、亀のアイコンにすることもできます)で指定された通りに図形を描いていく様子を見ることができます。
学習項目
- 「線を引く」「右に方向を変える」「円を描く」など用意されている命令を順に書いて、プログラムを実行する。順次実行を理解する
- 「線を引く」・「左に方向を変える」を繰り返して、多角形を描く。繰り返し制御を理解する
- 「繰り返しの偶数回目は右へ」、「奇数回目は左へ」など、条件によって処理を変えることで、複雑な図形の描画を短いプログラムで実現する。条件分岐を理解する
身に付く力
- 知識・技能
- 順次実行、繰り返し、条件分岐の3つの基本制御構造を組み合わせたプログラムを作成できる。
- 思考・判断・表現
- 複雑な図形を計画した上で、制御構造を組み合わせる設計を行い、描画するためのプログラムを制作する。
- 態度
- 意図通りの図形を描くために、粘り強く試行錯誤する。意図した図形と、描かれた結果が一致しない場合に、プログラムを読み解いて、修正する。
学習活動(カスタマイズ)の内容
- Pythonプログラムを編集します。直線を引く関数の引数の値を変更して、線を円の中まで伸ばします。
- ペンの方向を変える機能を用います。直線と方向を変える機能を組み合わせて、スタート地点からゴールの円まで線を伸ばすようにします。
- 「右に直線を引き、90度左に回転(※ペンは上を向く)、上に直線を引き、90度右に回転」を一連の処理として、これを数回繰り返すことで、スタート地点からゴールの円まで線を描きます。
- 3.のカスタマイズを分解して、繰り返しと条件分岐の組み合わせにします。回転する方向を「繰り返しの奇数回目は左に、偶数回目は右に」という制御を組み込みます。全体の繰り返しの回数も調整します。
- 作品制作を行います。タートルグラフィックスを用いて、自由に図形を描画します。正多角形を描く例、多角形を描く処理を繰り返して幾何学的な模様を描く例を使い、練習した上で、描画する図形を企画します。紙に下書きをするなどした上で、プログラムを作成します。
特徴
タートルグラフィックスは、図形を描くプログラムを書くことができるツールです。図形描画をしながら、プログラミングを学習するツールとして、長い歴史があります。
順次実行(プログラムに書いた順に命令が実行される)、繰り返し(一連の処理を繰り返す)、条件分岐(条件に応じて処理内容を変える)の3つの基本制御構造を、「図形を描くペンの動き」を通じて学ぶことができます。
作品制作への応用
「APSタートルグラフィックス(自由制作)(Python版)」をインポートして、図形を描画するプログラムを自由に制作をすることができます(※APS「自由制作」は、座標軸の線と座標の値( 原点の(0,0)や、各軸の端の(150,0)など)を表示しないようにしてあります)。
直線・回転のほか、円の描画や、線の色・太さの変更などタートルグラフィックスが持つ機能を利用して作画することができます。
作品制作に利用できる資料
APS教材の中にタートルグラフィックスの関数を説明するページがあります。
また、下記のPython言語のライブラリturtleの解説を参考にすることができます(※Monaca Education上で、全ての機能が動作するわけでは無いことに注意してください)。
turtle タートルグラフィックス
https://docs.python.org/ja/3/library/turtle.html
APS資料のダウンロード:先生向けサポートページ
APSのプロジェクト以外の資料は、プランごとに用意されている先生向けサポートページからダウンロードできます(サポートページはパスワードで保護されています)。
プランの詳細や、各サポートページのパスワードについては、アシアルまでお問い合わせください。
ベーシックプラン
スタンダードプラン
https://edu.monaca.io/standard
APSプロジェクトのインポート
APSプロジェクトをMonaca Educationにインポートするには、下記のアプリプログラミングシートのサポートページにアクセスし、該当のAPSのインポートボタンをクリックします。
アプリプログラミングシートのサポートページ