制御構造

Index Back Next

【制御構造】

プログラムを作成する上で,重要な概念として制御構造というものがあります.制御構造とは,プログラムの流れを制御する,条件判断やくりかえしといったものです.この制御を行うのが,if文やfor文と言った制御文です.ここでは,代表的な制御文について幾つか説明したいと思います.


  1. if else文
  2. if else文は,
    	if( 式 ){
    		文1
    	}
    	else{
    		文2
    	}
    

    のように,使用します.if else文は( )内の式を評価し,もし式がtrue(真)なら文1を,flase(偽)なら文2を実行します.式というのは,

    	a==b
    
    のような条件式で,これが満たされているなら式の値がtrue,満たされていないならfalseといいます.
    	if( a==b && c>0 ){
    		Name="Morikawa";
    	}
    	else{
    		Name="Motonari"
    	}
    
    上記の場合なら,aとbが等しくかつcが0より大きいならNameに文字列Morikawaを格納,そうでないならNameはMotonariになります.

    【if文の使用例】

    if文を使って,1から10までの整数を,奇数は赤色,偶数は青色で表示するプログラムです.

    	<SCRIPT LANGUAGE="JavaScript">
    	<!--
    	for( i = 1; i <= 10 ; i++ ){		//(1)
    		if( i % 2 == 1 ){		//(2)
    			//赤色で奇数を表示
    			document.write( "<FONT COLOR='#FF0000'>" , i , "</FONT><BR>" );
    		}
    		else{
    			//青色で偶数を表示
    			document.write( "<FONT COLOR='#0000FF'>" , i , "</FONT><BR>" ); 
    		}
    	}
    	//-->
    	</SCRIPT>
    

    【解説】

    (1)for文により,外側のループ内の処理がiが1から10まで繰り返します.
    (2)iを2で割ったときの余りが1なら奇数,そうでないなら偶数と判定します.

    またdocument.write( )のかっこ内の文字列はカンマ(,)で区切ることによって連結することができます.また+で連結することも可能です.従って以下の2つの結果は同様にabcと表示します.

    	document.write( "a" , "b" , "c" );
    	document.write( "a" + "b" + "c" );
    

    【実行結果】

  3. switch case文
  4. switch case文は,
    	switch( p ){
    		case p1:
    			文1
    			break;
    		case p2:
    			文2
    			break;
    		default:
    			文3
    	}
    

    のように,使用します.switch( )内の式を評価し,もしpがp1と等しいなら文1を,p2と等しいなら文2を,それ以外なら文3を実行します.プログラムの分岐点が多いときによく使用します.

    【switch文の使用例】

    上で作ったif文で作成したサンプルプログラムと同様の働きをするプログラムをswitch文で作ってみます.

    	<SCRIPT LANGUAGE="JavaScript">
    	<!--
    	var i;
    	for( i = 1; i <= 10; i++ ){		//(1)
    		switch( i%2 ){ 
    			case 0:			//(2)
    				document.write( "<FONT COLOR='#0000FF'>" , i , "</FONT><BR>" );
    				break;
    			case 1:			//(3)
    				document.write( "<FONT COLOR='#FF0000'>" , i , "</FONT><BR>" );
    				break;
    		}
    	}
    	//-->
    	</SCRIPT>
    

    【解説】

    (1)for文により,外側のループ内の処理がiが1から10まで繰り返します.
    (2)iを2で割ったときの余りが0の時に実行されます.
    (3)iを2で割ったときの余りが1の時に実行されます

    【実行結果】

    if文で作ったプログラムと同様の結果が得られました.

  5. 【for 文】
  6. 繰り返し制御文の一つfor文について説明します.for文の使用方法でもっとも多いのが,繰り返しの回数の決まった所定回反復です.for文の一般的な書式を,示すと,

    	for( 式1;式2;式3 ){
    		文
    	}	
    
    となります.式1はループ開始前に,一回だけ行われる初期化式です.式2はループを抜けるときの,評価式です.式3は式1で初期化した値を再初期化するための式です.これら3つの式をセミコロン( ; )で区切ります.for文の典型的な使用方法は,
    	for( i=0; i <= 100; i++ ){
    		j=j+i;
    	}	
    
    といったようなもので,これはiを0からはじめ,iを1インクリメントしながら,jにiを加算したものを新たにjに代入していくものです.また,for文以外の繰り返し制御文でwhile文などがあります.これの使用方法としては,
    	while( i<= 100 ){
    		i++;
    		j=j+i;
    	}
    
    というようになります.働きは,iが100以下なら{ }内の処理を繰り返します.

    【for文の使用例】

    for文を使って,*で三角形を作るプログラムを作成してみます.
    	<SCRIPT LANGUAGE="JavaScript">
    	<!--
    	var i,j;
    	for( i = 0; i < 10; i++ ){
    		for( j = 0; j < i ; j++ ){		//(1)
    			document.write( "*" );
    		}
    		document.write( "<BR>" );	//(2)
    	}
    	//-->
    	</SCRIPT>
    

    【解説】

    (1)*を横にi個表示する.
    (2)改行.これがないと*がただ横に表示されるだけである.


    【実行結果】


1998(C) Motonari Morikawa