実行順序の制御 九州大学経済学部 条件分岐 命令1 条件 yes 命令2a 命令3 no 実行する命令を選択 条件が真のとき 命令1 命令2a 命令3 条件が偽のとき 命令2b 命令1 命令2b 命令3 if文による記述 命令1 条件 yes 命令2a 命令3 no プログラム 命令1 if(条件){ 命令2a }else{ 命令2b 命令2b } 命令3 条件が偽のとき何も しないならば、 else{命令2b} を省略する if文の組み合せ プログラム 条件1 no yes 命令1 no 条件2 yes 命令2 条件3 no yes 命令3a 命令4 命令3b if(条件1){ 命令1 if(条件2){ 命令2 } }else{ if(条件3){ 命令3a }else{ 命令3b } 命令4 } 繰り返し(不適?) 命令 1 命令 2 条件 no 命令 3 yes 命令を繰り返して実行 命令 1 命令 2 命令 2 … (条件が偽) 命令 3 少なくとも1回は命 令2を実行 繰り返し 命令 1 条件 yes 命令 2 命令 3 no 命令を繰り返して実行 最初に条件のチェック 命令 1 命令 2 命令 2 … (条件が偽) 命令 3 命令2を一度も実行 しないことがある while文による記述 命令 1 条件 yes 命令 2 命令 3 no プログラム 命令1 while(条件){ 命令2 } 命令3 注意 いつかは必ず条件が 偽になるように! 繰り返しの回数 命令 1 i←1 i≦n yes 命令 2 i ← i+1 命令 3 no 繰り返す回数を数える (n回実行する) 命令 1 命令 2 (i=1) 命令 2 (i=2) … 命令 2 (i=n) (条件が偽:i>n) 命令 3 while文による記述 命令 1 i←1 i≦n yes 命令 2 i ← i+1 命令 3 no プログラム 命令1 i=1; while(i<=n){ 命令2 i=i+1; } 命令3 i=i+1; は、 i++; または ++i; でもよい for文による記述 命令 1 i←1 i≦n yes 命令 2 i ← i+1 命令 3 no プログラム 命令1 for(i=1;i<=n;i++){ 命令2 } 命令3 注意 for(i=0;++i<=n;){ for(i=0;i++<n;){ は同じ動作をする for文の動作の確認 プログラム for(i=1;i<=n;i++){ 命令2 } 命令 1 i←1 i≦n yes 命令 2 i ← i+1 命令 3 no 実行の内容 回数 1 2 … i 1 2 … i≦n y y … i 1 2 … n n+1 n n+1 y n n ++i の動作 プログラム for(i=0;++i<=n;){ 命令2 } 命令 1 i←0 ++i:1を加えた後で評価 i ← i+1 i≦n yes 命令 2 命令 3 no 実行の内容 回数 1 2 … i 1 2 … i≦n y y … i 1 2 … n n+1 n n+1 y n n i++ の動作 プログラム for(i=0;i++<n;){ 命令2 } 命令 1 i←0 i<n yes i ← i+1 命令 2 命令 3 i++:1を加える前に評価 no 実行の内容 回数 1 2 … n n+1 i 0 1 … n-1 n i<n y y … y n i 1 2 … n
© Copyright 2024 ExpyDoc