投稿する

問いについて [5331]

 ひろさん(No.1) 
平成17年春の問13について
解答アの7となっておりますが
解答イの29ではないでしょうか
解説の図を見ても最初の操作は29を入れたようにしか見えません
間違っていたら教えてください
2024.03.01 12:46
jjon-comさん(No.2) 
FE ゴールドマイスター
基本情報 平成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日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop