人気ブログランキング | 話題のタグを見る
fcaiを立ち上げたH氏の作品(3) 十進basicの補助教材
連日偏った(笑)テーマが続きます。
記録の意味もあるので書きと留めます、関心のない方はパスをしてください。

2010/12/22と同じタイトルです。
H氏とは広瀬達雄さんのことで、“広瀬達雄さんとFCAI”というタイトルで今年の06/19に記しています。
ご家族から喪中の挨拶が来ましたが、残された短歌や十進basicのソフトの技術には素晴らしいものがあります。
プログラム言語として今さらbasicという論議はあると思いますが、数学科教科法で機器利用の教科では適切ではないかと思っています。
学生は必ずしもパソコンが皆得意とは限りません。十進basicはスパゲッティプログラムにもなりかねませんが構造化の要素も持っていますし取り付きやすい言語と思います。
基本的なソースはそのまま、多言語への発展にもつながります。
言語教育への手近な導入と数学という教科に必要とされる論理性やアルゴリズムの習熟にも役立ちます。
フリーソフトでusbメモリの中でも動くので、自宅にwinsowsパソコンを持っている生徒にも気軽に使えるのも利点です。また解凍フォルダーの中にマニュアルのpdfファイルがあり打ち出して使うと自学自習ができます。

昨日の機器利用の教科法のなかで、3コマほどの説明の後、課題作りのヒントの時間にしました。
その中で、広瀬さんのことを話し氏の作品群のプログラムと実際の画面の動きを紹介しました。▼
fcaiを立ち上げたH氏の作品(3) 十進basicの補助教材_b0036638_15402346.jpg
“マウスでお絵描き”のプログラムです。
basic.exeの実行画面にコピーして貼り付けると動きます。

! マウスで線を描く(4)
! 起動して左ボタンでドラッグすると線を描く。
! 右クリックで入力窓が出るので、1~9を入れると線の太さが変る。
! 10~19を入れると色を指定できる。
! 10白,11黒,12青,13緑,14赤,15水色,16黄色,17赤紫,18灰色,19濃い青
! 消しゴムは背景と同色(通常は白)を塗ればよい。
! 20以上または 0以下を入れると終了する。

SET WINDOW -2,2,-2,2
SET LINE COLOR 1
LET p=1
DO
mouse poll x,y,l,r
IF l<>0 THEN
PLOT LINES:x,y;
ELSEIF l=0 THEN
PLOT LINES
END IF
IF r<>0 THEN
INPUT PROMPT "10白,11黒,12青,13緑,14赤,15水色,16黄色,17赤紫,18灰色,19濃い青":p
LET p=INT(p)
IF (p=<0 OR p>20) THEN EXIT DO
IF (p<20 AND p>=10) THEN
SET LINE COLOR (p - 10)
ELSEIF (p>0 AND p<10) THEN
SET LINE width p
END IF
END IF
LOOP
END

学生が早速楽しんでいました。▼
fcaiを立ち上げたH氏の作品(3) 十進basicの補助教材_b0036638_15404151.jpg
これは動きのあるものです。

! 以前、サイクロイドとトロコイドの描画で、CLEARを使った
!ために「ちらつき」が出ましたが、Sampleプログラムで次の
!コマンドがあるのを見て、それを使用してちらつきをなくし
!ました。
!---------------------------------------------------------
!「ヘルプ」の「グラフィックス」の内に独自の拡張(特殊処理)として、
!
!SET DRAW MODE HIDDEN
! 内部にあるビットマップメモリにのみ描画するモードに移行する。
! 描画に伴うばたつきを抑えたいとき用いる。
!
!SET DRAW MODE EXPLICIT
! 内部ビットマップを画面に反映させ,画面とビットマップメモリの双方に描画するモードに戻る(標準の状態)。

!ーーーーーーーーー十進BASIC---------
PRINT "サイクロイドとトロコイドと円"
SET WINDOW -30,30,-30,30
LET a=2 !円の半径
LET d=3 !円周から円外の点までの長さ
FOR i=-4*PI TO 4*PI STEP 0.1
SET DRAW mode hidden ! ちらつき防止の特殊処理(1)
CLEAR
SET LINE width 2
DRAW axes0
FOR t=-4*PI TO i STEP 0.1
SET LINE COLOR 4
LET x=a*(t-SIN(t))
LET y=a*(1-COS(t))
PLOT LINES: x,y;
NEXT t
PLOT LINES

FOR t1=-4*PI TO i STEP 0.1
SET LINE COLOR 1
LET x1=a*(t1-SIN(t1))-d*SIN(t1)
LET y1=a*(1-COS(t1))-d*COS(t1)
PLOT LINES: x1,y1;
NEXT t1
PLOT LINES
DRAW circle WITH SCALE(a)*SHIFT(a*t,a)
SET LINE width 1
PLOT LINES:a*t,a;x1,y1
SET DRAW mode explicit ! ちらつき防止の特殊処理(2)
FOR j=1 TO 10000
NEXT j
NEXT i
PLOT TEXT ,AT -28,24 : "サイクロイド(赤)とトロコイド(黒)"
END

実行すると次のような画面になります。▼
fcaiを立ち上げたH氏の作品(3) 十進basicの補助教材_b0036638_15405640.jpg
十進basicは奥が深く、過去の学生でつぎのようなライフゲームや、市販されたいるテトリスと同じ動きをする課題作品を作った学生がいました。▼
fcaiを立ち上げたH氏の作品(3) 十進basicの補助教材_b0036638_1541652.jpg
最後の授業は作成したプログラムに合評会の予定です。
by okadatoshi | 2013-12-20 15:41 | 情報/数学/授業 | Comments(2)
Commented by shinmama at 2013-12-21 10:02 x
>学生は必ずしもパソコンが皆得意とは限りません。
はい、先生も 必ずしもパソコンが皆得意とは限りません。(笑)
教師をしている知人は 私よりパソコンが素人で、自分の使う音響装置にも苦労しているようです。

教員を目指す人は担当する教科によって 
それなりの情報機器に対する実践知識を習得しておくことは必要なのでしょうね。
Commented by okadatoshi at 2013-12-21 11:49
shinmamaさま
最低限の機器を扱う知識をどのように浸透させるのか難しい所です。
事務室の職員は給与計算の電算化などが決まれば
否応なしに会計処理をマスターします。パソコン操作ができなければ
仕事がこなせないからです。

その点教師は、年齢差もあり、おおくの雑用に追われ
研修制度も整備されない中で、ハード面のインフラ(各普通教室に
LANの回線があり、モニターも設置され、一人一台ノードが貸与)
が整備されてますが、一向に定着しません。
<< 興味があれば子供の学習能力は凄い 後期の締めくくり(3) >>