5欠片目:3歩進んで2歩下がる
こんにちは!小学生の時、何も持たずに習い事に行って、慌てて取りに戻ったことがあるvoidです!(アホですね!)
昨日、一昨日とプログラミング的な記事を書いて、ネタ切れというわけではないのですが休憩的な意味で今回は雑談回にしようかなーと思います...(言えない、今回のタイトル決めるだけで1時間かかったなんて...)
結局1歩しか進まない...
今回のタイトルは、「三百六十五歩のマーチ」という歌の歌詞の一部を抜き取ったものなのです。人生は進もうと思ってもうまくいかず、戻ってしまったり大変だけど1歩ずつ進んでいこうという歌とのことです。3歩進んで2歩下がれば1歩ずつしか進まないのは明白ですよね。ですが、私が思うに「3歩進んで2歩下がる」の文字通りなら、その進んだ1歩が3歩に達したとき、また2歩下がってしまい、結局1歩になってしまうんじゃないでしょうか!?
図にすると、
○○○ 3歩進んで
○ 2歩下がる
●○○○ 3歩進んで
●○ 2歩下がる
●●○○○3歩進んで
●●● 2歩下がる ←計3歩進んだ
● 2歩下がる
...以下ループ
なんと、最大でも5歩しか進めません!
衝撃のあまりプログラムを組んでしまいました!()
// ShiawasehaAruitekonai.c int main(void) { int num_walk = 0; // 歩いた歩数 int i = 0; // ループカウンタ // 無限ループ while (1) { // 3歩進む for (i = 0; i<3; i++) { num_walk++; } // 2歩下がる num_walk -= 2; // 3歩進んだら2歩下がる if (num_walk == 3) { num_walk -= 2; } } return 0; }
プログラムで人生の大変さを表せるんですね...
ちなみに、このプログラムで使われているループには終了条件がありません。このような状態を無限ループと言ったりします。ゲームを作っていると極稀にこれが原因でバグが起こったりしてしまいますので、無限ループを使うときはしっかりbreak文で終わらせるように気を付けましょう!
以上、無限ループのお話でした!(あれ?)
幸せ歩けよ
頑張って歩いている人の元には幸せの方から歩み寄ってあげてもいいと思うのです。
私も頑張って1歩ずつ歩んでいこうと思います。ではまた!