コンピュータープログラミングの
すすめ
〜1の巻〜
僕がプログラミングを始めたのは中学2年の時だったと記憶している。パソコンを買ったのが中学1年の冬で、
まだ当時はWindows3.1の時代。Windows95なんて存在せず、
MS−DOSのバージョンも5.00A−Hで、6.2がもうすぐ出るって頃だったと思う。CPUだって、
Pentium 90が最高で、Pentium 200MHz さえ姿形も無かったと記憶している。
Pentium U 333MHzなんて夢のまた夢だった。僕はまずBASIC(バシックではない。)から入った。
BASICは極めて簡単で、最初に作ったのは数当てゲームだった気がする。ここに書いておくと
10
RANDOMIZE VAL(RIGHT$(TIME$,2))
20
A=INT(RND(1)*100)+1
30
FOR I=1 TO 10
40
INPUT "カズハ(1-100)?";B
50
IF B=A THEN PRINT "アタリ":END
60
IF B< A THEN PRINT "モットオオキイ":GOTO 80
70
IF B>A THEN PRINT "モットチイサイ"
80
NEXT I
90
END
説明を書いておくと
10
ここでは乱数をかき混ぜています。パソコンで乱数を発生させると乱数のはずなのに、
なぜかいつも同じ数が出てきます。それはパソコン起動時の乱数の始点がいつも同じであるために起こるそうです。
そこでその乱数の始点をかき混ぜるのです。位置は時間の秒の部分を取得しそれによって位置を決めています。
20
Aにランダムで数を入れます。RND(x)でxまでの数字を発生させます。(0は入るがxは入らない。)この場合は、
1までの数字を発生させ、それを100倍することにより、0〜99までの数字を発生させこれには小数点がついているため、
INTで切り捨てを行い、それに1を足して0を無くし100を入れています。
これにより0〜100の数がランダムで発生させています。
30
この分を実行するごとにIの内容が1づつ増えます。NEXT とセットで使います。
40
ユーザーからの入力を受け付けます。ユーザーは数を入力して リターン or Enter を押します。
入力された数字はBに代入します。
50
AとBの内容を比べます。等しければ アタリ と表示して END で終了します。
60
AとBの内容を比べます。Bの方が小さければ(入力が答えより小さければ) モットオオキイ と表示します。
70
AとBの内容を比べます。Bの方が大きければ(入力が答えより大きければ) モットチイサイ と表示します。
80
ここでIが10以下ならば FOR の所に戻ります。10の時は無視してそのまま進みます。
90
終了します。
僕はBASICで中学3年の時に文化祭用プログラムを作った覚えがありますので、中学3年の時までは、
BASICを使っていたと思います。C言語等にも手を出した覚えがありますがグラフィックが使えない等のことから、
文化祭では使いませんでした。あまり使い込んだ分けではないので詳しく覚えてませんが
main() {
printf("Hello, my name is Hiroshi");
}
最初に作ったのは上のようなプログラムだったと記憶しています。
結局変数を使うのにいちいち宣言するのが面倒で、やめました。
(ちなみに上のプログラムは実行すると、 Hello, my name is Hiroshi と表示します。)
そして高校1年になり僕は、
アセンブラと出会い、少しかじりました。経緯はよく覚えてませんがこれは後々役に立ちました。
そしてとある日、MS−DOSからWindowsに移行することにしたのです。
To Be Continued −−−>
今回は僕の事を書きましたが、次回はプログラミングのよさを書きますので、期待しててください。
戻る