第10講 for文以外の繰り返し(ループ)処理
第8話 while文とfor文の関係

1から10までの和o
while文の場合
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"1から10までの和="<<f()<<endl;
}
int f(){
   int i,w;
   i=1;
   w=0;
   while(i<=10){
     w=w+i;
     i++;
   }
   return(w);
}
for文の場合
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"1から10までの和="<<f()<<endl;
}
int f(){
   int i,w;
   w=0;
   for(i=1;i<=10;i++){
     w=w+i;
   }
   return(w);
}
もう一度関数fの部分をwhile文、for文の順に並べると
int f(){
   int i,w;
   i=1;
   w=0;
   while(i<=10){
     w=w+i;
     i++;
   }
   return(w);
}
int f(){
   int i,w;
   w=0;
   for(i=1;i<=10;i++){
     w=w+i;
   }
   return(w);
}
両者の間に違いはない!
というのが結論なのでしょうか。
ですが、while文の場合
   while(1){
      ・
      ・
     
if(条件式)break;
   }

   h=1;
   while(h){
      ・
      ・
     if(条件式)h=0;
   }
のように、終了するための条件を
処理中に挟むことが出来ます。
for(i=1;i<=10;i++)にような形で終了条件を
最初に、示すことが難しいプログラムも確かにあります。
例えば、限界値までの和のプログラミングです。
1+2+3+・・・の1000を越えない和を求めるプログラムなら、
int f(){
   int i,w;
   i=1;
   w=0;
   while(1){
     w=w+i;
     if(w>1000){
        w=w-i;
        break;
   }
   return(w);
}
で済むわけです。
ですから、最近まで私はwhile文の方が
汎用性が広いのではないかと考えていました。
ところが、偶然私はfor文の次のような使い方を発見しました。
   for(;;){
      ・
      ・
     
if(条件式)break;
     i++;

   }
1+2+3+・・・の1000を越えない和を求めるプログラムは、
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"1000を超えない1+2+3+・・・の最大値="<<f()<<endl;
int f(){
   int i,w;
   i=1;
   w=0;
   for(;;){
     w=w+i;
     if(w>1000){
        w=w-i;
        break;
     }
     i++;
   }
   return(w);
}
l
これは、
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"1000を超えない1+2+3+・・・の最大値="<<f()<<endl;
int f(){
   int i,w;
   i=1;
   w=0;
   while(1){
     w=w+i;
     if(w>1000){
        w=w-i;
        break;
     }
     i++;
   }
   return(w);
}
と全く同じです。
ですから、結局while文とfor文は
本質的には全く同じ、
ということになります。
どちらを使うかは、
好みの問題にすぎない!!!
これが結論です。

さて、これで第10講を閉めさせて頂きます。
第10講の終了は、同時に
『eclipse c c++ 入門 初心者 基礎から応用まで』
の第1部の終了ということになります。
第11講以降は、第2部に引き継がれます。


第7話へ 第11講第1話へ


a

魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ