学年

教科

質問の種類

情報:IT 高校生

3問とも計算方法も答えも分からず、質問させて頂きました。 教えていただけると幸いですm(_ _)m

[3]表 2.1の命令を持つSEP-E の CPU が、あるプログラムを7000番地から実行開始して 数命令動いたところで、現在は命令フェッチ前の状態にあるとする。 この時、汎用レジスタの値 は表 2-2 主記憶装置(メインメモリ)の内容は表 2-3 のようになっている。 なお、レジスタの内 容および番地はすべて16進数である。 以下の設問に答えなさい。000円 2005 LOOT 80001 表2.1 命令一覧表(一部抜粋) P-E ニモニック TVCM 動作概要 0005 NZ V C* |ADD, F:T 加算 (T+F→T)VOY * * * * |AND, F:T ビット毎の論理積 (TAF→T) 0000 ** 0- BIT,F:T ビット毎の論理積 (TAF, フラグ変化のみ) * * 0- CMP,F:T 比較 (T-F, フラグ変化のみの減算) * * * * DEC,D-:T 値を1減らす (T-1→T) * * * * |HLT, D-:D- 実行を停止する |INC, D-:T |JCY,F:D7 値を1増やす (T+1→T) |C=1のときジャンプ (F→(R7) if C=1) |JMI,F:D7 |N=1のときジャンプ (F→(R7) if N=1) |JOV,F:D7 |V=1のときジャンプ (F→(R7) ifV=1) 無条件ジャンプ(F→(R7)) |JP,F:D7 |JR,F:D7 無条件相対ジャンプ ((R7)+F→(R7)) **** --- |JRM,F:D7 |N=1のとき相対ジャンプ ((R7)+F (R7) ifN=1) JZE,F:D7 |Z=1のときジャンプ (F→(R7) if Z=1) MOV,F:T 移動 (FT) OR,F:T ビット毎の論理和(TVF→T) SLA,D-:T 左シフト (T×2→T) |SLR, D-:T 左ローテイト SRA,D-:T |右シフト(T÷2→T) |SRR, D-:T 右ローテイト |SUB, F:T 減算 (T-F→T) |XOR,F:T ビット毎の排他的論理和 (TF→T) * * 0- **0- * * * * * * 0 * * * 0 * * * 0 * * * * * **0- ※N (Negative; 負), Z (Zero; ゼロ), C (Carry; キャリー), V (Overflow; オーバーフ ロー), * 演算結果に応じて変化する, -: 変化しない, 0: 必ず0になる 5

未解決 回答数: 1
情報:IT 高校生

解説を読んでも分かりません。詳しく説明して欲しいです。

容器の中に、ある種の細菌が1個入っている。この細菌は1分たつと分裂して2個に増える。つま り1分後には2個,2分後には4個,3分後には8個…と増えていく。整数Mを1つ読み込んで M分後の細菌の数を出力するプログラムをつくりたい。以下のフローチャートの空欄 ウに入る最も適当なものを,次ののうちから一つずつ選べ。ただし, の解答の順序は問わない。 ⑩t と M が等しい イ ア ウ ① tがMより大きい ② t tがMより小さい e N=N-1 ④N=N+1 (5) N=N×2 ⑥N=N÷2 ⑦ t=t+1 t=t-1 ⑨ t=t×2 お替 はじめ 何分後かを入力する : M 最初の細菌数 N = 1 計算中の時間(分) t=0 Yes アド No 結果 N を表示する 解説 最初の操作から,Mは細菌の数を考える時間, Nは細菌の数, tは計算中の時間を表しているこ とが分かる。続いて、 条件分岐内のアに関しては, Yes の場合、 結果を表示することから,計 算した時間がM と一致しているか否かの判断をしていると考えられる。このため,◎の「t と Mが等しい」が正答である。続いて, イ, ウに関しては,細菌の数を増やし、計算中の時間を 増やすという操作を行う必要がある。細菌の数は,1分経過するごとに2倍になるため、⑤の「N =N×2」が正答である。また,計算中の時間は,分岐を通るたびに, 1分加算する必要がある ため, ⑦の 「t=t+1」が正答である。 答: アイ,ウ⑤⑦ (順不同)

未解決 回答数: 1
1/3