アカウント名:
パスワード:
英単語を使うゲーム(スクラブル [toride.com])で REM とか GOSUB とかを使おうとして「は?」という顔をされました。
だから、混乱が少ないのはいいことかと。 #プログラミング暦≒年齢なのでACったらAC
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
小学生向け (スコア:2, 興味深い)
トをしていました。 その中で、私の雇主(つまり教室長やな)や子供たちの保護者から、
「プログラムを教えることはできないか?」
というお話がありました。 で、一応、教室でVB4.0(なぜかEnterorise版)を買って見たのです
が、さすがに小学生にはちょっとキビシイ。 なんかないかな~と探し当てたのが
Re:小学生向け (スコア:0)
Re:小学生向け (スコア:0, 参考になる)
実は、小学校6年生の娘が、公文式 [kumon.ne.jp]の算数・数学教材で文字式を扱うところまで進んだので、パソコンでゲームやメール、チャットで遊ぶばかりではなく、そろそろ、計算する道具として、プログラミング言語に触れさせたいと考え、適当な教育用のプログラミング言語を探しています。
実数型とか整数型といった型宣言の説明を避けたかったので、欠点はあるものの BASIC が妥当かなと考えました。理由は、数式がほぼそのまま扱えるからです。
しかし、例えば、
a = a + 1
のような式を、因数分解や一次方程式をおぼえ始めた子供に教えることには躊躇してしまっています。
つまり、子供に、解が求まらない方程式、
a = a + 1
と、a に 1 を加えた値を a へ代入する、
a = a + 1
とを区別させることは、逆に混乱させてしまうかもしれないと考えたからです。
Pascal のように、
a := a + 1;
と、:= という代入演算子を使っているプログラミング言語のほうがいいかとも思いますが、簡単に入手可能なものを知りません。
「ひまわり」も同じ問題に直面しますが、それでも、
aに、1を、足して、aに、代入する。
のような表現を使って回避することもできるので、ちょっと心を動かされてしまいました。
教育目的でなければ、個人的にはこんな冗長な表現は嫌なんですけどね。
代入を明確にしたいのであれば (スコア:2, すばらしい洞察)
10 REM cにa+bの結果を入れる
20 LET c = a + b
30 REM aにcの値を入れる
40 LET a = c
とやればだいぶんましと思う
#自分でやるのは冗長でいやだが
Re:代入を明確にしたいのであれば (スコア:0)
実は、この夏休みに「(仮称)十進BASIC [vector.co.jp]」を子供に使ってもらおうと用意したのですが、このBASICに付いているエディタは、プログラムの実行時にLETを自動的に付加します。
とりあえず、
LET a=1
Re:小学生向け (スコア:1)
変数に値を代入するときと、値を読み出すときとでは、書き方が異なる言語
ってのはどうでしょう?
a=$a+1
/a a 1 add def (ふつうの言語に訳するなら、 /a = a + 1 )
みたいな。
値を納める器(ないしは矢印)への操作というものを
特別視する(ここでは入力と出力のInterfaceを区別する)ことで、
変な曖昧さに頭を侵食されちゃうことを防げるんではないかと。
あとはご指摘のとおりPaascal方式ですかね。
そういう意味ではDelphiいいよなあ。まだ無料版は入手可能だったかなあ?
というかCだって代入と比較は別な演算子だし。
「記号なんか所詮は記号であり、状況や好み(!)で幾ら入れ替えても、意味的には問題なし」
というサトリを早めに開かせてあげることは、悪い事ではないと思います。
算数/数学の初歩で教える「演算子」がこの世の全てじゃないんですよね。
#高校入って最初の試験で、演算子入れ替えの問題が出て、全然理解できなくて悲しかったのでG7
Re:小学生向け (スコア:1)
破壊的代入と束縛が全く別物なので混乱は少ないかもしれません
あとインタプリタ付きの言語の方が習得が速いかも。
文字式との関連で教えるならlispはとっつきが悪いかも。
自分が教えるならhaskell [teu.ac.jp]なんですが
I/Oが独特なのでアレです。
#この3つを一緒にすると怒られそうだけどID
Re:小学生向け (スコア:0)
Re:小学生向け (スコア:0)
残念ながら、子供の教育用にと、自分でプログラミング言語を設計してしまうほどの情熱はありません。
いろいろなプログラミング言語がすでに存在しているので、その中から、目的にあった言語を探す方がが楽です、いや楽しいです。
まぁ、子供がプログラミ
Re:小学生向け (スコア:0)
Re:小学生向け (スコア:0)
f(1) = 1
f(n) = n + f(n - 1) ; n > 1
のように習うはずです。ですから、最初は関数型的な書き方からはじめるといいのでは
Re:小学生向け (スコア:0)
代入はa:=a+1みたいにするんですが、これとは別に「等しくする」というのがあって、
x+y=3
y:=1
とすると、xには2が入ります。勝手に1次方程式までは解いてくれるという、実になんともな処理系です。ベクトルも扱えるので、2本の直線の交点を求めることもできます。
同様の処理をする処理系ってあります?
Re:小学生向け (スコア:0, 参考になる)
個人的な経験で恐縮ですけども。
わたしは、中学一年のときに授業で始めてパソコンに触れました。一太郎、ミュー次郎、G's Staff Kid98を使い素材を作れるようになった後、N88BASIC(86)でプロッタを制御してお絵かき。そこから、一歩踏み出してプログラミングの初歩、あたりまでを中学の間に経験しました。
その経験からすれば、別に、英単語がどうのこうのとか、代入文と方程式がどうのこうのとか、考えもしませんでした。英語も数学も大の苦手教科で
Re:小学生向け (スコア:1)
英単語を使うゲーム(スクラブル [toride.com])で REM とか GOSUB とかを使おうとして「は?」という顔をされました。
だから、混乱が少ないのはいいことかと。
#プログラミング暦≒年齢なのでACったらAC