🍓命令文が繰り返されている部分🍓はfor文をつかって書き換えることができます

ソーラー「ちょっとfor文をつかって


いろいろ


プログラムをかきかえてみようよ」


アレサ「はい ソーラーさん」


#include <stdio.h>


int main(void){


printf("みかんおいC~\n");

printf("みかんおいC~\n");

printf("みかんおいC~\n");


return 0;

}


コンパイル結果


みかんおいC~

みかんおいC~

みかんおいC~


ソーラー「


このプログラムを


for文を使って書き換えると→


#include <stdio.h>


int main(void){


int a;


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

printf("みかんおいC~\n");

}


return 0;

}


コンパイル結果


みかんおいC~

みかんおいC~

みかんおいC~


ソーラー「→こんなふうになるかな。


ポイントはかきかえる前のプログラムで


printf("みかんおいC~\n");

printf("みかんおいC~\n");

printf("みかんおいC~\n");


のように


printf("みかんおいC~\n");

が3つ繰り返されていることにあるね。


for文は同じ命令文を繰り返すことができるので


printf("みかんおいC~\n");

printf("みかんおいC~\n");

printf("みかんおいC~\n");

を

int a;

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

printf("みかんおいC~\n");

}

と書き換えることができるんだね。


ここで


次のプログラムをご覧ください


#include <stdio.h>


int main(void){


int sum=5;


sum=sum+1;

sum=sum+1;

sum=sum+1;

printf("%d\n",sum);


return 0;

}


コンパイル結果

8


アレサ「


sum=sum+1;

sum=sum+1;

sum=sum+1;


と3つの同じ命令文がならんでいるのですの。」


ソーラー「そう、だから


sum=sum+1;

sum=sum+1;

sum=sum+1;


は

for文を使って


int a;

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

sum=sum+1;

}


と


かきかえることができるんだ。


そのプログラムは


#include <stdio.h>


int main(void) {


int sum = 5;

int a;


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

sum = sum + 1;

}

printf("%d\n", sum);

return 0;

}


コンパイル結果

8

」


アレサ「

printf("みかんおいC~\n");

printf("みかんおいC~\n");

printf("みかんおいC~\n");

を

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

printf("みかんおいC~\n");


を書き換えたように


sum=sum+1;

sum=sum+1;

sum=sum+1;

を

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

sum=sum+1;

}

と書き換えることができるんですね。」


ソーラー「つまり



     🐤 🐤 🐤命令文(🍓🍓🍓)🐤 🐤 🐤


が繰り返されているなら



   for文をつかって書き換えることができるんだ~



だから


次のようなプログラム


#include <stdio.h>


int main(void){


int sum=5;


sum+=1;

sum+=1;

sum+=1;

printf("%d\n",sum);


return 0;

}


コンパイル結果

8


では


sum+=1;

sum+=1;

sum+=1;

のように同じ命令文


sum+=1;

が3回繰り返されていますね。


だから


sum+=1;

sum+=1;

sum+=1;

の部分を

for文を使って


int a;


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

sum+=1;

}


とかきかえることができます。


書き換えたプログラムは


#include <stdio.h>


int main(void){


int sum=5;


int a;


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

sum+=1;

}

printf("%d\n",sum);


return 0;

}


コンパイル結果

8


」


ソーラー「このようになるかな」


アレサ「ソーラーさん(^^♪


このプログラムの

前のプログラムを


#include <stdio.h>


int main(void){


int sum=5;


sum=sum+1;

sum=sum+1;

sum=sum+1;

printf("%d\n",sum);


return 0;

}


さきほどは


#include <stdio.h>


int main(void) {


int sum = 5;

int a;


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

sum = sum + 1;

}

printf("%d\n", sum);

return 0;

}


のようにかきかえることができました。


sum=sum+1;

は

sum+=1;

と等しい命令文なので


このプログラムの

sum=sum+1;

の部分を

sum+=1;


に書き換えても


#include <stdio.h>


int main(void){


int sum=5;


sum+=1;

sum+=1;

sum+=1;

printf("%d\n",sum);


return 0;

}


から


#include <stdio.h>


int main(void){


int sum=5;


int a;


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

sum+=1;

}

printf("%d\n",sum);


return 0;

}

への書き換えができるのではないですか。


と思ったのですが


実は


そのことに気付いていらしたんですね」


ソーラー「え、いや


そうだったのか・・・」




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

作者を応援しよう!

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

応援したユーザー

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