- アルゴリズム
物事には様々な解決策がありますが、その手順のことを
コンピュータなどの世界ではアルゴリズム(算法)と呼びます。
アルゴリズムは「効率性」、「分かりやすさ」、「信頼性」を
重視して作成し、最終的にプログラムとして形成されます。
- 流れ図(フローチャート)
アルゴリズムを図式化したもの
※記号はJIS(日本工業規格)で規定
記号 |
名称 |
役割 |
___
( )  ̄ ̄ ̄
|
端子 |
開始、終了 |
┌────┐
│ │
└────┘ |
処理 |
任意の処理 |
/\
/ \
\ /
\/
|
判断 |
分岐処理 |
/ ̄ ̄ ̄/
 ̄ ̄ ̄ ̄ |
データ |
データの入出力 |
/ ̄ ̄ ̄\
└────┘
┌────┐
\___/
|
ループ端 |
繰返し処理 |
※国家試験では擬似言語も利用されている
- 基本的なアルゴリズム
・3つの基本構造
※構造化プログラム技法の1つ
(その他 GOTO文NG、構造化技法(ジャクソン、ワーニエ))
- 順次処理
上から下へ処理を行います
- 分岐処理
条件判定により対応する処理を行う
- 二分岐
2つの処理の内どちらかを行う
※処理なしの場合もある
(if-else文など)
- 多分岐
複数の処理の内1つを行う
(if-else、switch文など)
- 繰返し処理
条件判定により一定の処理を繰返し行う
(while、for文など)
- 前判定型
処理の前に条件判定する(0回以上の処理)
- 後判定型
処理の後で条件判定する(1回以上の処理)
- 条件式(判定条件)
論理値(真:True、偽:False)
比較演算子(演算結果は論理値)
<、<= |
大きい、以上 |
>、>= |
小さい、以下 |
= |
等しい |
<> |
等しくない |
論理演算子(論理値同士の演算)
- トレース
値の変化を流れ図にそって表す(トレース)
※誤りの検出(デバッグ)
<1から3までの足し算> |
|
(1) |
1 → X(開始値) |
3 → Y(終了値) |
0 → T(合計値) |
※X、Y、T:変数
(値を一時的に記憶する入れ物) |
↓
X <= Y |
真 |
偽 |
(2) T+X→T
(3−1)X+1→X
(3−2)比較繰り返し |
(4)終了 |
|
(トレース表)
手順 |
X |
Y |
T |
1 |
1 |
3 |
0 |
2 |
” |
” |
1 |
3 |
2 |
” |
” |
2 |
” |
” |
3 |
3 |
3 |
” |
” |
2 |
” |
” |
6 |
3 |
4 |
” |
” |
4 |
” |
” |
” |
|
※同じ値は「”」などで表す
手順3-1,2は3にまとめる |
|