ロボコム君のアルゴリズム教室
アルゴリズムとは アルゴリズムとはコンピュータに演算処理させるための手順です。 コンピュータは人間のように融通がきかず、「今週中にあれやっといて」などとあいまいな言葉は まったく理解できません。 したがってプログラマはアルゴリズムにしたがって緻密なプログラムを書くのです。 ソフトウェアを書くプログラム言語としてCやBASICやJavaなどたくさんあります。 しかし、どれもお金と時間がかかります。 そこで、考えました。エクセルならだいたいのパソコンにインストールされているのでお金もかからないよ。 しかもVBAはBASICに近いし理解しやすいしね。ということで教材はエクセルに決定しました。 その一 そもそもプログラムで何ができるのだろうか? これはあるお金持ちの息子さんの要望です。 「今度、地下室でパーティーを開きたいのだが、お酒もでるので未成年の方は招待できない。 未成年者だけチェックできないだろうか?」 ロボコム君はやってみましょう。ということでもらったエクセルのファイルを改造しました。 エクセルのデータファイルは下のようなものです。 たくさんのパーティー招待候補者の名前と生年月日のデータが入っていました。 OKボタンを押すと次ぎのようになります。未成年の人の名前が赤く表示されましたね。 一目瞭然です。これで誤って招待して幇助の罪で逮捕されずにすみます。 「お酒もたばこも二十歳を過ぎてから」皆さんも注意しましょう。 またこのプログラムを改良すれば誕生日の人にメールを送るとか 落第点や宿題を提出していない生徒を表示するとか、いろいろ応用が考えられますね... 解説 プログラムの中身はこうなっている エクセルの左下のSHEET1を右クリックするとソースコードがでてくるよ。 ソースコードの解説 Dim N As IntegerはNという変数をインテジャー(整数1、2、3のような小数点のない数字のこと) で宣言するということです。 セルをアクティブにする命令はCells(行,列 ).Activateです。 次ぎのFOR NEXT文はでN=1から35回20歳未満か計算します。 For N = 1 To 35 *****←ここに計算式を入れる。 NEXT N 'ソースリスト Private Sub CommandButton1_Click() '未成年者の表示 'カウンター変数の宣言 Dim N As Integer 'FOR NEXT文でデータ分だけ計算します。 For N = 1 To 35 '計算するアクティブセルをセットします。 Cells(N, 1).Activate 'セルデータが20歳以下のとき名前のフォントを赤(3)にします。 If Cells(N, 3) < 20 Then Cells(N, 1).Font.ColorIndex = 3 Else End If Next N 'セルの位置をトップに戻します。 Cells(1, 1).Activate End Sub 本ページで使用したサンプルファイルのダウンロードはこちらaidledata.xls 注意事項:使用に当たってはマクロを解除してください。エクセル97での動作を確認しております。 免責事項:本プログラムによって万一、損害が生じてもプログラム著作者は責任を負いません。 ' Copyright kobaya robocom,Multimedia Education 2000 'e-mail robocom@interlink.or.jp |