から




IV-7 Edit

次のように関数が定義されているものとする。

pusha(n)
nをスタックAにプッシュする。
dupa()
スタックAのトップの値をスタックAにプッシュする。
adda()
スタックAから2つポップし,それらの和をスタックAにプッシュする。
sub1a()
スタックAのトップの値を1減らす。
atob()
スタックAから1つポップし,スタックBへプッシュする。
btoa()
スタックBから1つポップし,スタックAへプッシュする。
nonzeroa()
スタッフAのトップが0でなければ真,0なら偽を返す。
printa()
スタックAのトップを書き出す。

以下のプログラム(擬似コード)の断片を実行すると何が書き出されるか答えよ。

pusha(0); pusha(5);
while(nonzeroa()){
	dupa(); atob(); adda(); btoa(); sub1a();
}
atob(); printa();
  1. 0
  2. 5
  3. 15
  4. 50
  5. 55

memo Edit


Tag: スタック  



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-22 Mon 23:18:33 JST (3094d)