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

アルゴリズム入門内検索

目次
アルゴリズムトップ
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. 文字列の検索



トップ-> アルゴリズム入門:4章.反復構造-> 4-2.前判定型

←前ページへ : トップへ : 次ページへ→



4-2.前判定型

  では、1から100までの合計を求めるフローチャートを考える。高校ではこのような 等差数列の和を求める公式()を習いましたが、その公式を使ったのでは一発で求めることができて、反復処理の 練習にはならないので、すなおに「1+2+3+4+・・・+99+100」を計算します。

  すなわちn=1にしておいて、nの値を1ずつ加算していきます。それと同時にtにnを加えて順次和を求めて いけばよいことになります。これをフローチャートにすると下のようになります。ループ記号を使ったものは 右のようになりますが、同じフローチャートです。



void main(){
	int n, t;

	n=1;
	t=0;

	while( n <= 100 ){
		t = t + n;
		n++;
	}
	printf("合計は%dです\n",t);
}

  ここでは2ページ前のC言語表記の例にしたがって、「while」を用いましたが、 C言語には便利な「for」文が用意されています。ここではC言語の勉強ではないので 詳しい説明は省きますが、使用例を紹介します。

void main(){
	int n, t;
	t = 0;

	for(n = 1 ; n <= 100 ; n++)
		t = t + n;

	printf("合計は%dです\n",t);
}


for(式1; 式2; 式3){
	  :
	処理;
	  :
}
 とは、ようするにこういうことです。


※等差数列の和の公式:等差数列の合計=(初項+終わりの数)×個数÷2


←前ページへ : トップへ : 次ページへ→