プログラミング基礎講座(その3)

制御文について

 プログラムは基本的に処理の手順を書いたもので、手順を記す最小単位を文(Statement)と言います。
 文はプログラム言語によって、文末を示す文字が規定されています。
 C言語、Java、PHPなどの場合は;(セミコロン)です。
 プログラムは複数の文からなり、基本的に上から下に向かって実行されます。
 しかし、上から下に向かって実行されるだけでは、複雑な処理を書くことが出来ず、またある条件によって処理を変えたりする場合対応できません。
 そこで、ほとんどの言語では次のような制御文が用意されています。
 1)if文
   条件判定によって処理を変えることができます。
   
   if(条件)
   {
     条件がtrueの時の処理するブロック。
   }
   else
   {
     条件がfalseの時に処理するブロック。
   }
 
   ※ ブロック:C言語などの場合ブロック記号{}に囲まれた1文または複数の文の集まり。
   例:
    
    
    if(flag==1) // flagは1?  ==は等しいかどうかを判定
    {
     data=1;   // true(flagは1)
    }
    else
    {
     data=2;   // false(flagは1でない)
    }
    
 
 
 
 
 2)for文
   ブロック内の処理を繰り返し実行します。
   C言語などの場合
   
    for(初期値式;繰り返し条件;繰り返し処理を行う前の処理)
   {
      繰り返し処理をするブロック
    }
    
   例:
    sum=0;
    for(i=1;i<=10;i++)
    {
     sum+=i;     // sumにiを加える
    }
    
    ※ 1から10までを加算する処理。
      初期値式          i=1; 初期値 iを1に設定
      繰り返し条件式       i<=10; iが10以下なら繰り返す
      繰り返し処理を行う前の処理 i++   繰り返しを実行する前にiに1加える
      
      
 3)while文
   条件が満たされるまで処理を繰り返す。
   C言語などの場合

   while(条件式)
   {
    処理ブロック
   }
         
   
   例:
   
   // data[]  dataという要素数が50個の一次元配列があり、それぞれにランダムな     数値が入っているとする
   flag=0;
   count=0;
   i=0;
   while(flag==0)
   {
    count+=data[i];
    if(count>1000)
    {
    flag=1;
    }
    i++;
    if(i>=50)
    {
    break;
    }
   }
         
   ※上の処理例では配列の中身を順番に加算していき、合計が1000を超えたとき、     処理を抜け出すようになっている。
     また、配列すべてを加算しても1000に達しないときは、break文で処理を中断
     するようになっている。
     
     
 4)switch文
   評価した変数の値に従って処理を分ける場合に使用します。
   
   switch(式)
   {
     case 定数1:
        処理ブロック
        break;
     case 定数2:
        処理ブロック
        break;
       ・
       ・ 
       ・ 
       ・
     default:
      処理ブロック
    }
    
    
   C言語の場合 式及び定数はすべて整数値(int、short、charなど)
   Javaなどの場合 式、定数にはint、short、char、byte、enum、Stringが使用できる
      
      
   例:
   
   switch(type)
   {
    case 0:
    value=1;
    break;
    case 1:
    value=10;
    break;
    case 2:
    value=80;
    break;
    case 3:
    value=150;
    break;
    default:
    value=0;
    break;
   
    }
   
   ※ typeの値によってvalueにセットする値を変えます。
    defaultはtypeの値が0~3以外の場合です。
   
 5)break文、continue文
   for,while文の処理中で処理の流れを変える場合に使用します。
   break文は処理を中断し、処理ブロックから抜ける時に使用します。
   continue文は処理を中断し、処理ブロックの先頭に戻ります。
   

2021年07月05日