プログラム = アルゴリズム+ データ構造 + コーディング

プログラムにもよるが,アルゴリズム + データ構造 でほぼ 80%
従って,プログラミングでは アルゴリズムとデータ構造を考えることが,一番大事である.

データ構造が云々などという問題は入門では扱わないので,入門ではアルゴリズムでほぼ80%

データ構造を記述することが面倒な場合は --> オブジェクト指向へ.

 


1.アルゴリズム

アルゴリズムは問題を解くための有限の手順.

例) 最大公約数を求めるユークリッド除去法

  1. 整数 i, j を入力
  2. i = j なら i を最大公約数として出力して終わり
  3. i<j なら i と j を入れ替える
  4. i -j を新しい i とする.
  5. 2へ戻る.

上記のアルゴリズムのフローチャートを書いてみよう.
フローチャートの通りにプログラムを書いてみよう



#include <stdio.h>

main()
{
    int i, j;

    fprintf(stderr, "Input Num = ");
    scanf("%d", &i);
    fprintf(stderr, "Input Num = ");
    scanf("%d", &j);
    fprintf(stderr, "Inputed Data are %d and %d\n", i, j);

    while (i!=j) {
        if (i<j) {
            int swp = i;
            i = j;
            j = swp;
        }
        i = i - j;
    }

    fprintf(stderr, "Ans = %d\n", i);
}
Last modified: Wednesday, 3 June 2015, 3:55 PM