第12回 5回でクイズを作ろう① if文とscanf関数 | モカ先生のプログラミング講座&鬼のパンツをはいた小学生たち

モカ先生のプログラミング講座&鬼のパンツをはいた小学生たち

プログラミング学習は、考え、実行・変換・修正を繰り返しながら、答えを出します。学習の基本姿勢です。このブログは、小学生が取り組むプログラミング講座と、それにチャレンジする子ども達との教室で繰り広げられる思いもかけないエピソードを綴ったブログです。

  第12回 コンピューターに判断させるプログラミング

 

 みのむし君、ゴリ君アニメを作る時、色々な関数や構文が出てきましたね。

 

 はい。main関数にprintf関数、for文やif文などがありました。演算子も勉強しました。

 

 そうですね。今日から5回の講座で、その時勉強したif 文ともう一つ新しく覚える関数を使って、3つのクイズを作ろうと思います。

 

 新しい関数って、何ですか?

 

 それは、scanf(スキャンエフ)関数です。

 

 scanf関数ってどんな関数なんですか?

 

 printf関数は、黒い画面に文字を表示(出力)するために使う関数でしたよね。このscanf関数は、キーボードから入力する文字を受け止めるために使う関数なんです。

 

 ということは、文字を打ち込んだら、黒い画面にその文字が表示されるってことですか?

 

 そうです。この5回の講座では、黒い画面に問題を出して、見ている人が答えを打ち込む。すると、その返事が返ってくるというプログラムを作ります。

 

 返事が返ってくるなんておもしろそう!

 

 

 

 

 

 今日は、その第一弾として、「数字を奇数と偶数に振り分ける問題」を作ります。みのむし君、奇数と偶数って、ゴリ君アニメでも出てきましたね。覚えていますか?

 

 1、3、5コマという奇数のコマ数の時と、2、4、6コマという偶数のコマの時で、振り分けて、ゴリ君の顔を変えました。

 

 そうでしたね。そのプログラムを使って、次の問題を作ります。

 好きな数字、例えば135を入力し、エンターキーで確定すると、その数字を奇数か偶数か判別して、実行画面③のように、表示します。

 

 135の所には、どんな数字を入れてもいいんですか?

 

 そうよ。もし、24と入れると、答えは、「あなたの数字は偶数です」と表示されます。じゃあ、みのむし君。実行画面①の質問を表示するためには、どうしますか?

 

 画面に表示するんだから・・・。

             printf ("あなたの数字を入れて?¥n"); とプログラミングします。

 

 大正解!問題は、次ですね。ここで、数字を入力するための関数scanf関数を使います。使い方は、こうです。

 

 aには、キーボードから打ち込んだ数字が入ります。aには、どんな数字が打ち込まれるのかわからないので、「aは10進数の整数ですよ」という書式%dを指定し、数字が入る準備をします。%d以外にも、%oや%s、%c、%f など色々ありますが、今回は、まず、%dだけを覚えましょう。aの前には、&が付いていることも忘れないでね。

 

 わかりました。この形をセットで覚えておけばいいですね。

 

  そうです、みのむし君。それともう一つ。実は、みのむし君の先輩たちは、「scanf_s」の所は「scanf」で覚えていたの。今までは、そうだったのよ。でも、VisualStudio2017では、scanf と打つと、

 

 このように、プログラムは、ちゃんと動くんだけど、警告が出ます。これからは、「scanf_s」に変えていこうという動きがあるわ。だから、これから覚えるみのむし君たちは、始めから、「scanf_s」で覚えることにしましょう。

 

 へぇ~。プログラミング言語も、進化してるんだぁ。

 

 

 

 ところで、みのむし君、ここで、if 文を使って、入力された数字が奇数か偶数かを判別しますが、どうするかわかりますか?

 

 if (a%2==1)とelseを使うのかなぁ?

 

 よく覚えていましたね。こうなりますよ。

 

 入力したaを2で割った余りが1の時は、奇数だから、「あなたの数字は奇数です」と表示され、それ以外の時、つまり偶数の時は、「あなたの数字は偶数です」と表示されるってことですね。なるほど。

 

 いいですね。では、VisualStudio2017を開いて、プログラミングしましょう。

ファイルのつくり方は、ココを見てくださいね。

https://ameblo.jp/tobidasutanpopo/entry-12331350474.html

 

 僕は、だいぶ覚えられました爆  笑爆  笑

 

 では、作ってみましょう!

 

 数字を打ち込んでみましたか?

 

 はい、できました!自分が打った数字に反応してくれることが、面白いですね。

 

 それが、コンピュータが判断してくれることなんですよ。色々覚えることもたくさんありますが、がんばりましょうね。では、今日は、ここまでです。次回は、答えが色々出てくる問題を作ります。お楽しみに。

 

 

前回は、第11回 ゴリ君アニメ⑤ for文の復習 でした。ぜひご覧ください。

https://ameblo.jp/tobidasutanpopo/entry-12335509177.html

 

次回は、第13回 5回でクイズを作ろう② です。

https://ameblo.jp/tobidasutanpopo/entry-12336406762.html