表紙】 Solutionmax with EAI Version.2

BPM
演算回路
<演算回路の構成>
命令解釈・制御部
プログラム
レジスタ
データ
レジスタ
演算部
プログラム
カウンタ
メモリ
レジスタ
All Rights Reserved Copyright © 2004, Kobayashi
0
BPM
演算回路
<例題>
問題:1+2=3を計算する
アドレス
デ
ー
タ
10
11
12
・
・
・
19
プ
ロ
グ
ラ
ム
20
21
22
23
・
・
・
内容
1
2
(答え)
LD GR1, 10
ADD GR1, 11
ST GR1, 12
HALT
10番地のデータをGR1に読み出せ
GR1のデータに11番地のデータを加えよ
計算結果を12番地に書き込め
プログラム終わり
All Rights Reserved Copyright © 2004, Kobayashi
1
BPM
アセンブラ
<アセンブラの命令>
命令
演算命令
ロード/ストア
命令
ジャンプ命令
機能
例
四則演算。論理演算等の ADD, SUB, AND,
OR
データ操作。
データをレジスタにもってく LD, ST, LEA
る/メモリに保管する。
プログラムの実行順序を JMP, JPZ, JMI,
JNZ, JZE
変える。
例.
ADD GR1, 100
SUB GR2, 11
LD GR1, 100
ST GR0, 12
JPZ 72
汎用レジスタ1の内容を100番地の内容に足す
汎用レジスタ2の内容から11番地の内容を引く
汎用レジスタ1に100番地の内容を格納する
汎用レジスタ0の内容を12番地に格納する
フラグレジスタFRの符号が0ならば72番地に飛ぶ
All Rights Reserved Copyright © 2004, Kobayashi
2
BPM
高級言語
<C++とアセンブラによる記述>
C++
アセンブラ
A=2;
LEA GR1, 2
ST GR1, A
LEA GR2, 3
ST GR2, B
LD GR3, A
ADD GR3, B
ST GR3, X
B=3;
X=A+B;
All Rights Reserved Copyright © 2004, Kobayashi
3
BPM
高級言語
コンパイラ
高級言語
C++
Java
VB
:
解
析
部
最
適
化
コ
ー
ド
生
成
マシン語
または
アセンブラ
All Rights Reserved Copyright © 2004, Kobayashi
4
BPM
プログラミング
<情報システムの開発手順>
上流工程
ユーザ
テスト
要求分析
SE
プログラマ
(システム、運用)
システム
設計
テスト
(結合)
運用
下流工程
プログラ
ミング
All Rights Reserved Copyright © 2004, Kobayashi
5
BPM
プログラミング
<なぜプログラミングを学ぶことが必要か>
汎用ソフトウェアが数多く売られている。
個人向け:MS-Office、年賀状、ゲーム、イメージ処理、
ウィルス対策、ファイル共有
 組織向け:ERP(Enterprise Resource Planning)、CRM
(Customer Relationship Management)、Webサーバ、ア
プリケーションサーバ、グループウェア

それでも、我々はプログラミングの勉強が必要。
①
②
③
④
⑤
専用処理のためのプログラムを作成する(プログラマ)。
プログラムを作成するための仕様書を作成する(SE)。
計算機でできることとできないことを判断する。
論理的に物事を考えられるようになる。
自分好みのプログラムを作ることができる。
All Rights Reserved Copyright © 2004, Kobayashi
6
BPM
プログラミング
<アルゴリズム>
問題:
ネットブックストアにおいて、
「WWWで顧客から書籍の注文を受け付けて発送す
る。」
All Rights Reserved Copyright © 2004, Kobayashi
7
BPM
プログラミング
<アルゴリズム>
アルゴリズム=与えられた問題を解く方法
■基本パス:
1.
顧客に商品を提示する。
2.
顧客から注文を受け付ける。
3.
商品の在庫を確認し予約する。
4. 注文する商品が揃ったことを確認する。
5.
顧客に商品の納期と価格を回答する。
6.
商品の発送処理を行う。
■拡張パス:
3a. 商品の在庫がない:
3a1. メーカに商品を発注し、納期を確認する。
4a. 顧客が追加して注文する。
4a1. 2に戻り注文を続ける。
4b. 顧客が注文をキャンセルする:
4b1. 注文のキャンセルを記録し、商品の予約を解除する。
All Rights Reserved Copyright © 2004, Kobayashi
8
BPM
プログラミング
<プログラムダイアグラム>
始め
商品を提示する
納期と価格を
回答する
注文を受付ける
キャンセルか
在庫を確認する
商品の発注処理
を行う
在庫あるか
メーカーに
商品を発注する
注文をキャンセルし
予約を解除する
終り
商品が揃ったのを
確認する
追加するか
All Rights Reserved Copyright © 2004, Kobayashi
9
BPM
プログラミング
<プログラミングの基本構造>
商品を提示する
注文を受付ける
注文を受付ける
商品が揃ったのを
確認する
順次
追加するか
繰返し
在庫あるか
メーカーに
商品を発注する
分岐
All Rights Reserved Copyright © 2004, Kobayashi
10
プログラミングの演習問題
BPM
[問題]
ジュースの自動販売機のプログラムダイアグラムを作
成せよ。なお、ジュースはオレンジ、グレープ、レモン
の3種類があり、値段はいずれも120円とする。また、
受付けるお金は百円玉と十円玉のみとし、必要に応じ
てつり銭を出すものとする。
All Rights Reserved Copyright © 2004, Kobayashi
11