問いについて

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ひろさん  
(No.1)
平成17年春の問13について
解答アの7となっておりますが
解答イの29ではないでしょうか
解説の図を見ても最初の操作は29を入れたようにしか見えません
間違っていたら教えてください
2024.03.01 12:46
jjon-comさん 
FE ゴールドマイスター
(No.2)
基本情報 平成17年 春期 午前 問13
https://www.fe-siken.com/kakomon/17_haru/q13.html

> 解答イの29ではないでしょうか

いいえ,間違っています。

ある状態(スタックが空の状態とは限らない)から次の順で10個の命令を実行します。

↓PUSH
↓PUSH (a)
↓POP  (a)
↓PUSH
↓PUSH
↓PUSH (b)
↓PUSH (c)
↓POP  (c)
↓POP  (b)
↓PUSH

(a)同士,(b)同士,(c)同士の PUSH/POP はペアになっているので,
一連の10個の命令を実行する過程で
(a)(b)(c)の3つのデータはスタックから取り除かれ,
それ以外の4回のPUSHで積まれたデータがスタックに残っているはずです。

(a)(b)(c)を意識するのが面倒なら,PUSHが7回,POPが3回だから,
7-3= 4回のPUSHデータがスタックに残っている,でもかまいません。

一連の10個の命令の実行後のスタックが図で示されていますから,

↓PUSH   7
↓PUSH (a)
↓POP  (a)
↓PUSH 326
↓PUSH  55
↓PUSH (b)
↓PUSH (c)
↓POP  (c)
↓POP  (b)
↓PUSH 192

であり,29は「ある状態」において最初からスタックに存在していた,と解釈しないと理屈に合いません。
2024.03.01 13:28

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop