シミュレーションラブ

友人の結婚式の時、フィンガーボールの水を飲んでいた人に「おねぇさん、かわいいことしてますね♪」と言ったら殴られた人のブログ。

iamweakが教えるプロ講座第1回

 実はこのブログはプログラマーの卵の人が数人観覧している。なるべくそういう専門的なことは触れるだけで極力避けるようにしていたけど、一つ自分が驚いた事があるので、ここで無理やり紹介しよう。ただ、何がなんだかまったく解らない人はほんとに全くわかんないので、というより、ここのメインサイトはオンラインゲームサイトなので、興味がない方はスルーしていただきたい。

 しかし、これからプログラマーを目指す人などは覚えていても損はない。それでは、第1回「プロ講座」通称「プログラミング講座」を開始しよう。ちなみに講座名に意味はない。

アルゴリズム プログラムの基本はアルゴリズムで、普通はこれを考えてからプログラムを設計する。

 最初はjavaが簡単だからjavaをするんだけど、今回はC言語のお話。時間がないので、C言語しか試していないから他の言語で出来るかわからない。多分、出来ると思うけど。

 どの言語にも殆どある if の構文をチェックしたいと思う。「 if 」とは、「もしも」ということで、「もし、この数字がこうだったら、こうしろ!」と命令するものです。構文は下のようになります。まあ記述式は違いますが、ExcelやWordなどにもあるんで、知ってる人は普通に知っているでしょう。

if ( 条件式 ){ 真の時の命令 } else { 偽の時の命令 }


 このif文を使って一つプログラムを作って見ます。


#include /* ロード */
int main(void){

int a=0; /* 変数aを宣言 */
scanf("%d",&a); /* キーボードから変数aに数値を入力 */

if ( ■ ){
printf("Yes"); /* 真だったらYes */
}else{
printf("No"); /* 偽だったらNo */
}

return 0;
}

 例えば、ifの中の■の条件式に(a == 1)とすれば、キーボードから1を入力された時にYesと返ります。逆に1以外だった場合、Noを返すという仕組みです。キーボードから入力したのが1で(a>3)だったらNOが返ります。ここまでは普通。

 問題はここから。第1問。このキーボードに入力する値、変数aを仮に「4」としましょう。ifの中の■に(a-3)と打ち込みます。これは、どういった答が返ってくるでしょうか。

1.Yes
2.No
3.エラーが起こる

 答はどれでしょうか。答を教える前に第2問。この変数aを「3」としましょう。ifの中は同じ(a-3)と打つと、一体どうなるでしょうか。

 正解は、第1問目→Yes,第2問→Noが返ってきます。
 さて、ここでおかしいことに気がつきませんか?


 条件式というそのものがない! つまりですね。ifの中が変数(a)だけでも全く問題がないわけです。どうやら、ifが真の場合0以外で、偽の場合0となるみたいです。

 わからない人の為に軽く整理すると、ifの中がただ単に数字の「1」とすればYES(真)が返り、「0」とすればNO(偽)が返るんです。いや、ひょっとしたら自分が知らなかっただけかもしれませんが、数年間プログラムを組んでいて、まあ自分は初めて知ったので驚きました。
 実際に組んで使うとなれば混乱するので、a==0とかa==1とか書いてしまうんでしょうが、知っていて損はないでしょうね。

 さて、今回のプログラミング講座どうだったでしょうか。全然サイトジャンルに沿っておらず、全然つまんないものです。まあ、サイトジャンルが違ってもツンデレチェックは好評だったので、こういうのもありということで。

 第2回プロ講座へ続く(いや、もうね、続かないと思う)

Posted by iamweak - 2007年03月07日 22:11 | トラックバック (0)

この記事のトラックバックURL


※TBは、当サイトへリンクが無いと自動拒否されます(ブログ反映は20分後)。記事に関係ないTBはご遠慮願います。

この記事に対するトラックバック

この記事に対するトラックバックはまだありません。



Powered by Movable Type 3.33-ja and Wandering Wind
Copyright : (C) iamweak All Rights Reserved.