トップ->アルゴリズム入門

アルゴリズム入門内検索

目次
アルゴリズムトップ
0. はじめに

1. アルゴリズム
   1. アルゴリズムとは
   2. 当ページの範囲
   3. 良いアルゴリズム
   4. フローチャートの書き方(記号)
   5. フローチャートの書き方(構造)
   6. 順次構造
   7. 分岐構造
   8. 反復構造

2. 順次構造
   1. 代入
   2. 計算
   3. 入力
   4. 出力
   5. 練習問題1
   6. 練習問題2

3. 分岐構造
   1. 条件分岐
   2. 単一分岐
   3. 練習問題1
   4. 多重分岐
   5. 複合条件
   6. ケース(多方向分岐)
   7. 練習問題2
   8. 練習問題3

4. 反復構造
   1. 反復構造の種類
   2. 前判定型
   3. 後判定型
   4. 練習問題1
   5. 練習問題2
   6. 練習問題3
   7. 多重反復処理(ネスト)
   8. 練習問題4
   9. 練習問題5

5. 配列
   1. 配列とは
   2. 練習問題
   3. 2次配列
   4. 練習問題
   5. 素数を求める,その1
   6. 素数を求める,その2

6. 検索・ソート
   1. サブルーチン
   2. シーケンシャルサーチ
   3. バイナリサーチ
   4. 練習問題
   5. ルックアップテーブル
   6. ソートとは
   7. 選択法
   8. 交換法
   9. バブルソート
   10. 挿入法
   11. クイックソート
   12. 処理速度の比較

7. 文字列
   1. 文字と文字列
   2. 文字列処理
   3. 文字列のコピー
   4. 練習問題
   5. 文字列の比較
   6. 文字列の連結
   7. 文字列の検索



トップ-> アルゴリズム入門:3章.分岐構造-> 3-2.単一分岐

←前ページへ : トップへ : 練習問題へ→



3-2.単一分岐

  分岐の条件が1つだけの場合を単一分岐という。フローチャートの書き方は以下のようになる。 また、C言語の書き方をで、アセンブラでの書き方を で示した。

変数nが0なら処理1を、
0以外なら処理2を実行する
nがm以上なら処理1を、
未満なら処理2を実行する
	if(n==0){
		処理1;
	}
	else{
		処理2;
	}
	if(n>=m){
		処理1;
	}
	else{
		処理2;
	}
	cmp	n,0
	jz	SHORI1
	  :
	処理2
	  :
	jmp	SHORI_END
SHORI1:
	  :
	処理1
	  :
SHORI_END:
	mov	al,n
	cmp	al,m
	jae	SHORI1
	  :
	処理2
	  :
	jmp	SHORI_END
SHORI1:
	  :
	処理1
	  :
SHORI_END:
   
charの内容が'A'であれば処理1を実行し、
それ以外ならば何もしない
同上
こういう書き方もある
	if(ch=='A'){
		処理1;
	}
 
	cmp	ch,'A'
	jnz	SHORI_END
SHORI1:
	  :
	処理1
	  :
SHORI_END:
	
 

  どの例もすべて、処理をし終わった後は合流していることが重要です。 これは多重分岐などの場合も含めて、必ず合流しなくてはなりません。


←前ページへ : トップへ : 練習問題へ→