(since 2005/01)(更新 2008/05/01)
|
|
情報系/IT系の広告を掲載しています。(広告一覧) |
|
|
| フローチャート入門[2] |
| 0.はじめに |
| 1.フローチャートとは |
| 要素 | 用例 |
/ ̄\ ( ) \__/ |
/ ̄\
(start )
\__/
│
|
| 要素 | 用例 |
┌────┐ │ │ └────┘ | ┌─────────┐ │文字コードへの変換│ └─────────┘ ┌────┐ │A←B+C*2│ └────┘ |
| 要素 | 用例 |
┌┬────┬┐ ││ ││ └┴────┴┘ | ┌┬────┬┐ ││DEC2HEX ││ └┴────┴┘ ┌┬────┬┐ ││DIV(a,b)││ └┴────┴┘ |
| 要素 | 用例 |
│ │ ──── │ |
/ ̄\
(start )
\__/
│
┌─┴──┐
│A←B+C*2│
└─┬──┘
│
|
| 要素 | 用例 |
│ │ ──→ ↓ |
┌─→│
│┌─┴──┐
││A←B+C*2│
│└─┬──┘
┌─┴──┐│
│A←B/C*2││
└─┬──┘│
│←──┘
|
| 要素 | 用例 |
○ (メール中では「( )」) |
(D)
│
┌─┴──┐
│A←B/C*2│
└─┬──┘
┌─┴──┐
│D←B+C*2│
└─┬──┘
↓
(E)
|
| 要素 | 用例 |
/\
/ \
< >
\ /
\/
|
/\
/ \ N
< GR1=2 >─┐
\ / │
\/Y │
┌─┴──┐│
│A←B/C*2││
└─┬──┘│
│←──┘
┌──→│
│ ┌─┴──┐
│ │A←B+C*2│
│ └─┬──┘
│ /\
│≧ / \
└─< R1 : 5 >
\ /
\/
│<
|
| 要素 | 用例 |
/ ̄ ̄\ │ │  ̄ ̄ ̄ ̄ ________ │ │ \____/ | / ̄ ̄ ̄ ̄\ │while A<10│ └──┬──┘ ┌─┴──┐ │A←B+C*2│ └─┬──┘ ┌──┴──┐ │ │ \________/ |
| 要素 | 用例 |
…[ | ┌─┴──┐ │A←B+C*2│…[実数の計算 └─┬──┘ |
| 2.変数 |
レジスタ メモリ ┌───┐ コピー ┌───┐ │データ│ ──→ │ │;変数 └───┘ └───┘ |
レジスタ メモリ ┌───┐ コピー ┌───┐ │ │ ←── │データ│;変数 └───┘ └───┘ |
|
| 3.配列 |
文字列 ┌──┐ │'C' │ ├──┤ │'A' │ ├──┤ │'S' │ ├──┤ │'L' │ └──┘ |
変数
┌──┐
A0│'C' │
└──┘
┌──┐
A1│'A' │
└──┘
┌──┐
A2│'S' │
└──┘
┌──┐
A3│'L' │
└──┘
| 配列 ┌──┐ │'C' │ ├──┤ │'A' │ ├──┤ │'S' │ ├──┤ │'L' │ └──┘ |
配列 A 要素 ┌──┐ ↓ │'C' │ ;A[0] ├──┤ │'A' │ ;A[1] ├──┤ │'S' │ ;A[2] ├──┤ │'L' │ ;A[3] └──┘ |
アドレス 配列 A 要素
↓ ┌──┐ ↓
9000 │'C' │ ;A[0]
├──┤
9001 │'A' │ ;A[1]
├──┤
9002 │'S' │ ;A[2]
├──┤
9003 │'L' │ ;A[3]
└──┘
| Aのアドレス=9000 A[0]のアドレス=9000+0 A[1]のアドレス=9000+1 A[2]のアドレス=9000+2 A[3]のアドレス=9000+3 |
| 4.代入 |
|
A=A+B i=i+1 |
|
A←A+B i←i+1 |
|
A+B→A i+1→i |
| 5.基本の3パターン |
| 用例 |
┌──┴───┐ │レジスタ退避│ └──┬───┘ ┌─┴──┐ │主要処理│ └─┬──┘ ┌──┴───┐ │レジスタ復旧│ └──┬───┘ |
| 用例 | |
/\
< / \ >
┌──< R1 : 5 >──┐
│ \ / ┌─┴─┐
│ \/= │ R1=2 │
│ │ └─┬─┘
┌─┴─┐┌─┴─┐┌─┴─┐
│ A=-1 ││ A=0 ││ A=1 │
└─┬─┘└─┬─┘└─┬─┘
└───→│←───┘
| |
/\
/ \ N
< R1< 5 >─┐
\ / │
\/Y │
┌─┴─┐ │
│ A=-1 │ │
└─┬─┘ │
│←──┘
|
/\
/ \ <
< R1 : 5 >─┐
\ / │
\/>= │
│ ┌─┴─┐
│ │ A=-1 │
│ └─┬─┘
│←──┘
|
| 用例 |
/ ̄ ̄ ̄ ̄\ │while A<10│ └──┬──┘ ┌─┴─┐ │A←A+1│ └─┬─┘ ┌──┴──┐ │ │ \________/ |
| 用例 |
/ ̄ ̄ ̄ ̄\ │repeat │ └──┬──┘ ┌─┴─┐ │A←A+1│ └─┬─┘ ┌──┴──┐ │until A>10│ \________/ |
| 用例 | |
/ ̄ ̄ ̄ ̄\ │ i:1,1,n │ └──┬──┘ ┌──┴──┐ │S←S+x[i] │ └──┬──┘ ┌──┴──┐ │ │ \________/ | / ̄ ̄ ̄ ̄ ̄ ̄\ │i=1;i< n;i=i+1│ └───┬───┘ ┌──┴──┐ │S←S+x[i] │ └──┬──┘ ┌───┴───┐ │ │ \____________/ |
| 用例 | |
┌──→│
│ /\
│ / \N
│ < A< 10 >─┐
│ \ / │
│ \/Y │
│ ┌─┴─┐ │
│ │A←A+1│ │
│ └─┬─┘ │
└───┘ │
┌───┘
↓
|
┌──→│
│ ┌─┴─┐
│ │A←A+1│
│ └─┬─┘
│ /\
│ N / \
└─< A>10 >
\ /
\/Y
↓
|
┌┴─┐
│i←1│
└┬─┘
┌──→│
│ /\
│ / \N
│ < i≦n >─┐
│ \ / │
│ \/Y │
│┌──┴──┐│
││S←S+x[i] ││
│└──┬──┘│
│ ┌─┴─┐ │
│ │i←i+1│ │
│ └─┬─┘ │
└───┘ │
┌───┘
↓
|
┌┴─┐
│i←1│
└┬─┘
┌──→│
│┌──┴──┐
││S←S+x[i] │
│└──┬──┘
│ ┌─┴─┐
│ │i←i+1│
│ └─┬─┘
│ /\
│ N / \
└─< i>n >
\ /
\/Y
↓
|
| 用例 |
┌──→│
│ ┌─┴─┐
│ │B←A*2│
│ └─┬─┘
│ /\
│ / \N
│ < B< 10 >─┐
│ \ / │
│ \/Y │
│ ┌─┴─┐ │
│ │A←A+C│ │
│ └─┬─┘ │
└───┘ │
┌───┘
↓
|
| フローチャート入門[2] |
|
|
|
|