07/09/22 03:44:00
【質問テンプレ】
[1] 授業単元: プログラミング(2)
[2] 問題文(含コード&リンク):
「電卓」をC言語で作成せよ。
ただし、1語のレジスタ、1語のメモリを持つように作成し、
以下の条件を満たすようにする。
(1) n+m=,n-m=,n*m=,n/m=と入力することで四則演算ができる。
(2) M+,M-と入力することで演算結果をメモリに加減算する。
(3) MRと入力することでメモリの内容をレジスタに読み出す。
(4) RCの入力でレジスタのクリア、MCの入力でメモリのクリアをする。
(5) メモリ上の値との計算は MR+n=,MR*m=といったように入力することで可能にする。
(6) end: が入力されるまでプログラムは終了せず、
再度演算ができるように入力待ち状態にする。
(7) 連続した計算は左順に計算する仕様でよい。n-m/a=は(n-m)/aという計算順でよい。
(8) 数字、計算符号および(1)~(7)までに設定した命令文字(end:など)以外が入力された場合、
「エラー」と出力し、再度演算が出来るようにエラー処理を入れる。
以上
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc )
[3.3] 言語: (C)
[4] 期限: ([07年9月23日まで] )
[5] その他の制限:とくに制限はありません。
掛け、割りの計算順序を考えなくていいから簡単だと先生は言っていましたが、
その前にレジスタとメモリの概念が??です。
とにかく「一時的に値を保持する場所を作る」がポイントと聞きました。
みなさんこの問題についてどうぞよろしくお願いします。