blockun dialy

同人ゲーム制作サークル「SaNa」のメンバーが書くゆるーいブログです。

小学生でも出来る!C++プログラム #07

はおっ(0^∀^)ノ 。渚です。

プログラムしか書けない私たちですが、この度は同人界隈向けに、 なんとなくこんな風に作ってるよーというのを発信すべく、 定期的にブログで紹介してみようかということになりました。 この記事はそんな連載の第14回です。

ということで,渚からは「小学生でも出来る!C++プログラム」 を紹介していこうと思います。

関連ブログ

目次

  • 「for文って何?」
    • くりかえすということ
    • for文の基本の書き方

人物紹介

渚:プログラムを教えてくれる先生

f:id:nagisa39:20160618210950p:plain

ココ:いんたーねっとって聞いたことがあります!

f:id:nagisa39:20160619122427p:plain

マナブ:将来はゲームプログラマーになりたいな!

f:id:nagisa39:20160619122428p:plain

くりかえすということ

渚>for文で出来ることは,くりかえし処理です。

ココ>くりかえし?

渚>そうです!

渚>例えば,3回まわって,ワン!っていうとき,今までだと・・・

std::cout << "1回まわった" << std::endl;
std::cout << "2回まわった" << std::endl;
std::cout << "3回まわった" << std::endl;
std::cout << "ワン!" << std::endl;

渚>と,書く必要があるのですが,これが99回まわってワン!ってなったら

・・・・

渚>まぁ,書きたくないですよね。

ココ>たしかに・・・そうですね。

渚>こういう,くりかえし何かをするときに,for文を使います!

for文の基本の書き方

f:id:nagisa39:20160918115148p:plain

渚>基本的には,こんな風に書きます。

渚>宣言で,iに0を入れています。 渚>条件判定では,iが5より小さいかを判定しています。 渚>iが5より小さい場合は,何かしらの処理を実行します。 渚>処理が終わったら,iに1を足します。

渚>for文は,こういう処理をしています。

f:id:nagisa39:20160918115819p:plain

渚>では,処理の流れの具体例を見てみましょう。

f:id:nagisa39:20160918163203g:plain

渚>3回まわってワン!の例だと,こんな感じになります。

渚>for文の概要がなんとなくわかってきたと思います。

ココ>くりかえす!って感じが分かりました!

渚>では,for文の色々な書き方を見てみましょう!

for文の特殊な書き方

f:id:nagisa39:20160918115148p:plain

渚>for文は,「宣言」部分と「条件判定」部分と「計算」部分と「処理」部分に分かれます。

渚>そして,これら4つの部分は,何も書かないということができます。   例えば,こんな感じ。(※実践は,全部読んでからにしてください!)

for(;;)
{
}

渚>これは,「宣言」しない!,「判定」もしない!,「計算」もしない!,「処理」もしない!   という書き方ですが,処理もしないと意味がないので・・・

for(;;)
{
  std::cout << "無限にくりかえす";
}

渚>通常,処理には何か書きます。

マナブ>あっ!無限ループ!

渚>そうです。この書き方のことを,無限ループと言います。

渚>for文は,「条件判定」が間違っているとき(偽の時),処理をせずにfor文を抜けます。

渚>またfor文は,「条件判定」に何も書いていない時は,合っている(真である)という処理になっています。

渚>そのため,for文から抜けなくなり,無限にくりかえします。

ココ>えっ!そうなると,終了できなくなるんじゃ・・・

渚>その通りです!だから,無限ループのプログラムを書くときは,必ず無限ループから抜ける方法を書いてから実行します!

int count = 0;
int sec = 0;

for(;;)
{
    count++;
    if(count >= 1000)
    {
        sec++;
        count -= 1000;

        system("cls");
        std::cout << sec << std::endl;

        if(sec >= 10)
        {
           break;
        }
    }
}

渚>上のプログラムの「break」が,for文から抜ける方法になります。

渚>ちなみに,時間を図る場合は,上みたいな適当プログラムじゃなくて,std::chronoとか使いましょう。

渚>ざっくりとfor文について説明しました!あとは使って,学びましょう!

そのた

渚>for文以外の書き方の例と,使い分けについて。 f:id:nagisa39:20160918170933p:plain

次回

構造体について学ぼう

---フリー素材提供-------------------------------------- [ジュエルセイバーFREE] URL:http://www.jewel-s.jp/