次は、指定した九九の段を表示するというプログラムを作ってみましょう。
例えば、2と入力すると、
4,6,8,10,12,14、16,18
と表示されるように作ります。
とりあえず、下のような実行結果になるよう考えてみてください。
<実行結果1>
2〜9までの整数を入力してください:2 4 6 8 10 12 14 16 18 続行するには何かキーを押してください・・・
<実行結果2>
2〜9までの整数を入力してください:3 6 9 12 15 18 21 24 27 続行するには何かキーを押してください・・・
解答例です。
<sample program 036-01>
#include <stdio.h> int main(void) { int counter; int dan; counter = 2; printf("2〜9までの整数を入力してください:"); scanf("%d", &dan); while (counter <= 9) { printf("%d\n", dan * counter); counter++; } return 0; } |
2の段であれば、
2×2
2×3
2×4
2×5
2×6
2×7
2×8
2×9
を計算すれば良いわけですから、入力された「2」に「2〜9」の値を掛けます。
「2〜9」は連続した数値ですから、繰り返しが使えます。
「初期値」「繰り返し条件」「増分」に注目してください。
思いつかなかった・・・という方は、まず何をすべきかを考えて(紙に書いて)みてください。
「九九って何?」ということが分からなければプログラムは組めません。
野球やサッカーのルールが分からない人が、野球ゲームやサッカーゲームが作れないのと同じです。
では、上のプログラムの表示方法を少し変えてみましょう。
実行結果を見て、プログラムを変更してみてください。
表示のヒントは<sample program 002-11>にあります。
<実行結果1>
2〜9までの整数を入力してください:2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 続行するには何かキーを押してください・・・
<実行結果2>
2〜9までの整数を入力してください:3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 続行するには何かキーを押してください・・・
解答例です。
<sample program 036-02>
#include <stdio.h> int main(void) { int counter; int dan; counter = 2; printf("2〜9までの整数を入力してください:"); scanf("%d", &dan); while (counter <= 9) { printf("%d*%d=%d\n", dan, counter, dan * counter); counter++; } return 0; } |
「,」で区切ることで複数のデータを一度に表示できます。
単純に「4」と表示されるよりも「2×2=4」と表示された方が、何をやっているか分かりやすいですよね。
もう少し見やすくなるよう、さらに変更を加えてみます。
「%d」と「*」や「=」の間に空白(スペース)を入れてみましょう。
<sample program 036-03>
#include <stdio.h> int main(void) { int counter; int dan; counter = 2; printf("2〜9までの整数を入力してください:"); scanf("%d", &dan); while (counter <= 9) { printf("%d * %d = %d\n", dan, counter, dan * counter); counter++; } return 0; } |
<実行結果>
2〜9までの整数を入力してください:2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 続行するには何かキーを押してください・・・
詰まった感じが無くなり、さっきよりもっと見やすくなりました。
さらに!
結果が1桁の部分と2桁の部分がありますので、桁をそろえます。
計算結果を表示する「%d」の、「%」と「d」の間に「2」を入力します。
#include <stdio.h> int main(void) { int counter; int dan; counter = 2; printf("2〜9までの整数を入力してください:"); scanf("%d", &dan); while (counter <= 9) { printf("%d * %d = %2d\n", dan, counter, dan * counter); counter++; } return 0; } |
<実行結果>
2〜9までの整数を入力してください:2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 続行するには何かキーを押してください・・・
桁も揃ってずいぶん見やすくなりました。
「%」と「d」の間に「2」を入れると、「10進整数2桁」で表示するようになります。
当然、「3」であれば「3桁」になりますし、「4」であれば「4桁」です。
「見た目なんかどうでもいいよ!」とか「結果が出れば良いんじゃないかな・・・」と思った方は要注意です。
今は練習でプログラムを組んでいますが、フリーウェアやシェアウェアを作って公開したい!とかソフトウェアの開発会社やゲーム会社でプログラマとして活躍したい!と考えている方は、見た目も気にしてください。
他人が見たときに、見づらいと感じさせるよりも、見やすいと感じさせたほうが良いことは言うまでもありません。
日ごろから意識してプログラムを組むことが大事です。
結果の見た目もそうですが、プログラム自体も見やすく書く必要があります。
プログラムは「自分さえ分かればどのように書いても良い」ものではありません。
個人でソフトウェアを作成するのであれば、ある程度許されるかもしれませんが、プロジェクトを組んで複数のメンバーでソフトウェア開発をする際には、他のメンバーもあなたのプログラムを見ますし、あなたも他のメンバーのプログラムを見ることでしょう。
その時に、プロジェクトチームのルールに則っていない書き方や、非常に分かりづらい書き方をしていた場合、メンバー同士が非常に困ります。
また、自分が以前に書いたプログラムも数ヶ月で「他人の書いたプログラム」と化します。
後で修正しようと思っても、どのように組み立てたか覚えていないのです。
ですから、分かりやすく、見やすく、使いやすく、というのは重要なのです。