for文は命令文を繰り返し実行するシステムとなっています

for文は命令文を繰り返し実行するシステムとなっています

#include <iostream>


using namespace std;


int main() {


int a;


for(a=1; a<=3; a++){


cout << "このcout出力表示は"<<a<<"回目です\n";


}


return 0;


}


ビルド実行結果


このcout出力表示は1回目です

このcout出力表示は2回目です

このcout出力表示は3回目です



てんC 「for文の登場です。」


ソーラー「なんだろうか? このプログラムは?


僕もはじめてみる?けど・・・


なんだかこのプログラムには親しみを感じるなあ


個人的な思いだけど、このプログラムには神聖なものを


かんじるよ。


このプログラムを紹介できて幸せだよ。」



てんC「for文はプログラムの中で


とてもよく使用されています。」



ソーラー 「そういえば


このようなプログラムは東方風シューティング


のプログラムの中でもみかけたことがあるよ。


そのほかにも本当いろんなところでみかけてきたんだ・・・


やっとここまできたか・・・


このプログラムは東方風シューティングゲームを


つくりはじめる第1歩、になるとおもうな。」


てんC 「では、早速このプログラムの使い方をみんなで


探っていきましょう。


まず、このプログラムの


for(a=1; a<=3; a++)


ここの部分ですね。


ここで


a=1は初期化式

a<=3は条件式

a++は継続処理方法


というものをあらわしています。」


ソーラー「


a=1は初期化式

a<=3は条件式

a++は継続処理方法


意味がよくわからないね。


てんC「


for(a=1; a<=3; a++){


cout << "このcout出力表示は"<<a<<"回目です\n";


}



この ブロック{  }で囲まれた命令文


cout << "このcout出力表示は"<<a<<"回目です\n";


のaの値を1,2,3と変えながら


3回実行する命令文なのです。


具体的に


for(a=1; a<=3; a++)は


どのようなシステムになっているかというと


最初の初期化式a=1により 


まずfor(a=1; a<=3; a++)につづけて記述された


命令文


cout << "このcout出力表示は"<<a<<"回目です\n";


のaに1が代入された


cout << "このcout出力表示は"<<1<<"回目です\n";


が実行されます


その結果


このcout出力表示は1回目です


が表示されます。


次に継続処理方法a++ですが


aに代入される値を1ずつ増加させるはたらきがあります。


継続処理方法a++でaの数値を1つずつ増やすので


a=1の次は

a=2が

変数aに代入されて



次は


cout << "このcout出力表示は"<<2<<"回目です\n";


が実行され


このcout出力表示は2回目です



このcout出力表示は1回目です


につづけて


コマンドプロンプト画面に表示されることになります。


さらに


継続処理方法a++によりaの数値は1増加され


a=2の次は


a=3が


変数aに代入されて


cout << "このcout出力表示は"<<3<<"回目です\n";


が実行され


このcout出力表示は3回目です



このcout出力表示は1回目です

このcout出力表示は2回目です


につづいて


コマンドプロンプト画面に表示されることになります。


次に継続処理方法a++によりaの数値は1増加され


cout << "このcout出力表示は"<<4<<"回目です\n";


が実行されるはずですね。


ここで条件式a<=3がでてきます。


条件式a<=3ですが


条件式a<=3はaの値が3以下のときのみ


for()に続く命令文が実行されるよう制限する働きがあります。


この場合for()に続く命令文は


cout << "このcout出力表示は"<<a<<"回目です\n";


ですね。


継続処理方法a++によりaの数値は


a=1の状態から1ずつ増加され


変数aの取る値は


a=4に到達するのですが


条件式a<=3により


aの値が3以下のときのみ


for文に続く命令文が実行されるよう制限されているので


aの値が4をとったときの


cout << "このcout出力表示は"<<4<<"回目です\n";


は実行されないことになります。


ですので


ビルド実行結果に


このcout出力表示は1回目です

このcout出力表示は2回目です

このcout出力表示は3回目です



に続いて


このcout出力表示は4回目です


が表示されることはありません。


for文による命令文の繰り返しは


cout << "このcout出力表示は"<<1<<"回目です\n";

cout << "このcout出力表示は"<<2<<"回目です\n";

cout << "このcout出力表示は"<<3<<"回目です\n";


までが実行されて


cout << "このcout出力表示は"<<4<<"回目です\n";


は実行されません。



よって


ビルド実行結果は

コマンドプロンプト画面に


このcout出力表示は1回目です

このcout出力表示は2回目です

このcout出力表示は3回目です


と表示されます。





ソーラー「


その際、aの動きをよくみてくださいよ(^^)/🌞」


てんC「


a=1 ,1回目の繰り返しのときは


このcout出力表示は1回目です


と実行表示され




a=2, 2回目の繰り返しのときは


このcout出力表示は2回目です


と実行表示され




a=3,3回目の繰り返しのときは


このcout出力表示は3回目です


と実行表示されていますね。。



このように


a=1と,1回目の繰り返しは対応しており


同様に


a=2と, 2回目の繰り返しは対応しており


同様に


a=3と,3回目の繰り返しは対応しています。


aの値に応じて


cout << "このcout出力表示は"<<a<<"回目です\n";


の実行結果が変化しているところが


このfor文をつくった技術者さんの魂の萌えどころです。


もうちょっと詳しくみていきますと



a=2に注目すると 

a=2と, 2回目の繰り返しにおいては


for文の中にふくまれる命令文


cout << "このcout出力表示は"<<a<<"回目です\n";


の変数aも2に変化しています。


よって



cout << "このcout出力表示は"<<2<<"回目です\n";


の命令により


このcout出力表示は2回目です


がコマンドプロンプト画面に表示されますね。


つまり、


    『a=n回目の命令を下すときは


 cout << "このcout出力表示は"<<a<<"回目です\n";


のなかの変数aの値もnに変化します。』


ですので、


次のプログラムのように



変数aが記述されていない場合は



同じ文章が


1回目も2回目も3回目もコマンドプロンプト画面にあらわれてきます。


#include <iostream>


using namespace std;


int main() {


int a;


for(a=1; a<=3; a++){

 cout << "このcoutはcoutちゃんです"<<"\n";

}


return 0;

}




ビルド実行結果



このcoutはcoutちゃんです

このcoutはcoutちゃんです

このcoutはcoutちゃんです




ソーラー 「なんか for文は とってもわかりやすい命令文ですね。



では逆に


今、命令文を何回目繰り返しているのかを


cout<<を使って表示したいときは



前のプログラムで登場した


 cout << "このcout出力表示は"<<a<<"回目です\n";


のように


変数aを記述しておけばいいということになるのかな・・


当然だけど


変数aを記述しておけばいいといっても


次のプログラムのように→」


#include <iostream>


using namespace std;


int main() {


int a;


for (a = 1; a <= 3; a++) {


cout << "このcout出力表示はa回目です\n";


}



return 0;

}



ソーラー「→


cout>>につづく"   "に変数aをいれてしまっては



このcout出力表示はa回目です

このcout出力表示はa回目です

このcout出力表示はa回目です



このcout出力表示はa回目ですの文章が


3回表示されるだけになるね😊



てんC 「そうなんです。


aの値を変えながら命令文を実行したいときは


変数aを


 cout << "このcout出力表示は"<<a<<"回目です\n";


のように記述するようにしましょう。」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る