第4講 同じことの繰り返し=for文の学習
第1話 for文とは?
第2講第9話で1から10までの和を考えました。
を実現するプログラム例
#include<stdio.h>
int main(){
int w; //整数専用の箱
w=0;
w=w+1;
w=w+2;
w=w+3;
w=w+4;
w=w+5;
w=w+6;
w=w+7;
w=w+8;
w=w+9;
w=w+10;
printf("1+2+3+4+5+6+7+8+9+10=");
printf("%d\n",w);
return(0); //mainを閉めるときのお呪い
}
コピペ用添付ファイル
このプログラムは褒められたものではありません。
同じようなことを10回も繰り返しているからです。
繰り返しは、コンピュータにやらせるべきもので、
人がやるものではありません。
for文でこれを書き直すと、
#include<stdio.h>
int main(){
int w; //整数専用の箱
w=0;
for(i=1;i<=10;i++){
w=w+i;
}
printf("1+2+3+4+5+6+7+8+9+10=");
printf("%d\n",w);
return(0); //mainを閉めるときのお呪い
}
コピペ用添付ファイル
といったシンプルなものになりますし、
for(i=1;i<=10;i++){
を
for(i=1;i<=1000;i++){
と変更するだけで
1から1000までの和を求めるプログラムに変更できます。
また、前話で学んだscanfを使えば、
#include<stdio.h>
int main(){
int w,i,n;
w=0;
printf("いくつまで計算させるのかをキーボードから入力してください。\n");
fflush(0); //pirntfを先に実行させるためのお呪い
scanf("%d",&n);
for(i=1;i<=n;i++){
w=w+i;
}
printf("1から");
printf("%d",n);
printf("までの和=");
printf("%d\n",w);
return(0);
}
コピペ用添付ファイル
汎用的なプログラムが完成します。
for文について解説しましょう。
for(i=1;i<=10;i++){
w=w+i;
}
はiを1から10まで変化させながら、
{}内にある処理を繰り返しなさいという命令です。
{}にはw=w+i;しかありませんから、
これが繰り返されます。
すると、第2講第9話と同じように、
以下
w←w+4から6+4でwは10
w←w+5から10+5でwは15
w←w+6から15+6でwは21
w←w+7から21+7でwは28
w←w+8から28+8でwは36
w←w+9から32+9でwは45
w←w+10から45+10でwは55
という処理が行われます。
iが1,2,3,4,5,6,7,8,9,10と変わりながら、
繰り返されるからです。
for文の中のiをfor文をコントロールする変数ですので、
制御変数といいます。
i++というのはi=i+1の簡略表現です。
i=1;i<=10;i++
ははじめが1でiを1つずつ大きくしていき10以下なら同じことを繰り返すように指示しています。
<=は≦がプログラム言語にはないので、
これで代用しています。
iが11になるとfor文の{}内は実行されずに終了となります。
同じよう処理を繰り返すことを、繰り返し処理といいます。
また、
グルグル回っているようにもイメージできますので、
ループ処理ともいいます。
尚、この例のように{}中が1文しかない場合には、
for(i=1;i<=n;i++)w=w+i;
と書くことも出来ます。
では、課題を出して第1話を占めます。
1からnまでの和を社長がやっていますが、
出来るだけ社長は仕事をせずに、
部下(社員)にやらせるべきです。
mainは指令書ですから、
具体的な仕事は部下がやるべきです。
和の仕事を社員f(int n)が行うように変更して下さい。
また、1からnまで積を求める社員g(int n)も採用して、
実行画面が
となるようなプログラムを考えて下さい。
第3講第10話へ 第2話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ