表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
6/7

プログラミングと九々と義務教育

みなさんも小学生の頃九々を覚えるのに苦労しませんでしたか?

 我々は小学生の頃九々で苦労しただろう、多分みんなのはずだ。


 そこでプログラミング教育が始まるという時事ネタに乗っかってプログラミング×九々を書いていこう。

以下ソース

-------

#include <stdio.h>

int main(){

int i,j; //ループインデックス

for(i = 1; i <= 9;i++){

for(j = 1; j <= 9; j++){

printf("%d ", i * j);

}

printf("\n");

}

return 0;

}

-------

 今回コメントを導入している。別にこの短さなら必要はないのだけれど慣例の説明も兼ねてコメントを書く。

 まずループインデックスとは何か?

 超平たく言えばループ回数の記録に使われることが多い。

 まずfor文の説明をしようと思う。


 i = 1

これでループインデックスに1を代入している、つまり外側のループは1から始まるということだ。

 プログラミングにおいてはループインデックスはたいてい0から始めるのだけれどこれは九々を表示するプログラムなので1から始めている。

 そしてi <= 9の部分はiが9以下ならば実行するという意味だ。

 気をつけよう! もしここをi < 9にするとiが9のときは実行されないので注意しよう。


 最後のi++はループを回すごとにiを1増やしながら処理するという意味だ。

 内側のjを使ったループについてもほぼ同じだ。


printf("%d ", i * j);


 ここで外側のループインデックスiと内側のループインデックスjヲ掛けて出力している。

 前回までにprintf関数はやったのでそちらを参照していただきたい。


 つまり外側のループ1階に付き内側のループは9回まわる。

 コンパイル後実行すると以下が表示される

-------

1 2 3 4 5 6 7 8 9

2 4 6 8 10 12 14 16 18

3 6 9 12 15 18 21 24 27

4 8 12 16 20 24 28 32 36

5 10 15 20 25 30 35 40 45

6 12 18 24 30 36 42 48 54

7 14 21 28 35 42 49 56 63

8 16 24 32 40 48 56 64 72

9 18 27 36 45 54 63 72 81

--------

 きちんと九々が表示された、問題はないはずだ。

 コンピュータにとっての九々をすべてループすることはたやすいことだが気をつけることもある。

 もしこの内側に更に9回回るループを書くと9×9×9回実行される。

 まだそれほど大きな負荷にはならないがループの中にループを書くと指数的に処理量が増えることに注意が必要だ。

 安易に多重ループを書くと宇宙の終わりまで(それ以上に)かかるループができてしまうことに注意しよう。

 以上コンピュータ九々でした。


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ