プログラミング

サイエンス記事

1次関数、2次関数で作るアート作品

中学生になると1次関数や2次関数を習います。1次関数はただの直線ですが、プログラムでたくさんの直線を描くことによりアート作品が生まれます。y = ax + bの式においてa, bを変化させながらグラフを描いたのが下の映像です。2次関数の場合...
サイエンス記事

星(球体)に水晶のような結晶を生やした3Dグラフィックスを作りたい。生徒からの質問

プログラムを使ってアート作品を作成しているときに、生徒から表題の要望を頂きました。水晶は大きくしたり、小さくしたりしたいとのことです。こういうのを作ってみたいという動機は大事ですね。早速作ってみましたが、プログラムの中身については生徒さんに...
プログラミング

多重ループがよくわかりません。生徒からの質問

forループはわかったが、これを入れ子にした多重ループになるとよくわからないという声をよく聞きます。そこで、3重ループを例にして動作がわかるようにステップ実行した動画を作成してみました。まずはプログラミングの基本の説明から。プログラムでは繰...
サイエンス記事

発光体を作りたいのですが?生徒からの質問

Processingで3Dグラフィックスを使って太陽系を描いているときに、太陽を発光させたいとの要望が出て来ました。もう10回近く3Dグラフィックスの授業をやっているのですが、意外と初めての質問でした。Processingではemissiv...
プログラミング

ビット演算って何?生徒からの質問

最近は生徒さんからの質問も増えてきて、先日は電池の酸化還元反応について問われました。まあ、プログラミングとは直接関係ありませんが。今回はビット演算の話です。コンピュータの内部では2進数が使われています。すなわち0と1の2種類の数字を使って計...
サイエンス記事

m個の箱にn個のボールをランダムに入れるとき、すべての箱に1個以上のボールが入る確率は?生徒からの質問

表題の質問を生徒から受けました。簡単だと思っていたら、意外と手こずりました。イメージしやすいように具体的な例で言うと、3個の箱に4個のボールをでたらめに入れていく場合、すべての箱に1個以上のボールが入る確率を求めよということです。この場合は...
プログラミング

Processing Ver.3でのsize()関数に関する仕様変更とsize()関数が効かないときの対応策

Processingのバージョン3ではsize()関数の仕様が変更になっています。例えばsize(640, 480);のように引数に数字を入れた場合は問題ありませんが、size(w, h);のように変数を入れるとエラーになります。この場合は...
サイエンス記事

机のカドにボールをぶつけたらどう跳ね返るのか?生徒からの質問

プログラムで作るゲームの定番にブロック崩しがあります。ブロックにボールが当たるとブロックが消滅し、すべてのブロックを消去したらゴールです。ブロックへの当たり判定がプログラミングの際の1つのポイントです。もう1つのポイントはブロックにボールが...
プログラミング

当プログラミング教室の初級Aコースで出て来る用語の「読み」と、対応する「英語」をまとめてみました。

当プログラミング教室では英語がネイティブという児童、生徒も何人かいらっしゃいます。日本語では用語の意味がわからないけれども、英語で言えばわかるということが時々あります。そのため、初級Aコースのテキストに出て来る主な用語の「読み」と「英語」を...
プログラミング

プログラムの変数名に日本語は使えるか? Scratchでは? Python3では?

プログラミングでは変数というデータを入れる箱のようなものを作り、そこにデータを入れて使用します。この変数名として日本語を使うことはできるでしょうか?結論として、変数名には普通はアルファベットと数字を使いますが、日本語を使える言語も存在します...