<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
G'Day again<br>
<br>
Whilst 'tis true that this question on the end of year exam would
unduly stress the little dears, to play devil's advocate, it does
have a useful function as a sample to provoke discussion about what
assumptions must be made. i.e. for the question to have a non
trivial answer, what assumptions are necessary? <br>
<br>
Firstly the memory locations used for the stack do not have to be
initialised to 0 or any other value when the stack is created. The
pointer is the only thing that must be initialised.<br>
<br>
If you assume the stack starts at 1 instead of 0, then the stack
will not be full after step 6 reducing the value of the question.<br>
<br>
I also assumed that the bottom two values were in bold for a
purpose, the most obvious (at least to me) being that they were
valid existing members of the stack. <br>
At the start of the question the stack is not full, the TOS pointer
is 1, the stack would be full when it reaches 4, so the non-bold
values were from previous uses of the stack. NB. a pop does not
delete the value from the stack, it just changes the TOS pointer.<br>
<br>
It may well be that a different set of assumptions will produce a
meaningful answer, these were the first consistent set I thought of.<br>
<br>
If you assume an empty stack at the start then, given that the
pointer is 1 at the start of the question, the TOS pointer must
point to the next available location (closer to convention) and the
numbering must start at 1 instead of 0. In this case the stack is
not full after step 6 so another push step would be needed in the
question.<br>
<br>
<table class="MsoNormalTable" width="817" border="0" cellpadding="0"
cellspacing="0">
<tbody>
<tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="width: 26pt; padding: 0cm; height: 15.75pt;
min-height: 15.75pt;" width="35"><br>
</td>
<td style="width: 68pt; padding: 0cm; height: 15.75pt;"
width="91"><br>
</td>
<td style="width: 23pt; padding: 0cm; height: 15.75pt;"
width="31"><br>
</td>
<td style="width: 93pt; padding: 0cm; height: 15.75pt;"
width="124"><br>
</td>
<td style="width: 22pt; padding: 0cm; height: 15.75pt;"
width="29"><br>
</td>
<td style="width: 23pt; padding: 0cm; height: 15.75pt;"
width="31"><br>
</td>
<td style="width: 23pt; padding: 0cm; height: 15.75pt;"
width="31"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height: 15.75pt;"
width="64"><br>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td colspan="7" style="border-width: medium 1pt medium
medium; border-style: none solid none none; border-color:
-moz-use-text-color black -moz-use-text-color
-moz-use-text-color; padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Stack at start and after each step</p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">Step</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Function</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Top</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Output</p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Start</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 1</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 2</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 3</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 4</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 5</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 6</p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height: 15pt;">
<p class="MsoNormal">1</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (23)</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">2</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (23)</p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td rowspan="5" style="border-width: medium medium 1pt;
border-style: none none solid; border-color:
-moz-use-text-color -moz-use-text-color black; padding:
0cm; height: 15pt;">
<p class="MsoNormal">Stack position</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">5</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height: 15pt;">
<p class="MsoNormal">2</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (18)</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal"> 3</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (18)</p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">4</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">47</p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height: 15pt;">
<p class="MsoNormal">3</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Pop</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">2</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item removed (18)</p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92</p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height: 15pt;">
<p class="MsoNormal">4</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (75)</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal"> 3</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (75)</p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75</p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">5</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Push (92)</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">4</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Item added (92)</p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">1</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23</p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">6</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Push (47)</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">5 <br>
</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Item added (47)<br>
</p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Top</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">1</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">4</p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">5</p>
</td>
</tr>
</tr>
</tbody>
</table>
<br>
One would hope that a "real" question would at least have numbered
the stack positions and provided a key to explain what the bold
signified. A question to sort sheep from goats????????????<br>
<br>
Mike<br>
<p class="MsoNormal" style="text-align: right;" align="right">1</p>
On 1/05/2011 12:12 AM, Kevork Krozian wrote:
<blockquote cite="mid:000c01cc0740$a65c4cf0$f314e6d0$@com.au"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 12 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Hi Mark and Mike,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"> I am a little late on the scene but have to
support Mark here.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">The question on stacks is more a puzzle than a
reasonable problem for a student to solve in limited time.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">The question begins with a picture of a stack to
consider....... which suggests the starting position of the
problem. Apparently it is in a full state .... and that can
be determined from ?????<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Then, a push (23) is introduced. Hang on, I
thought we had a stack to consider with 5 elements. Are we
adding another 23 or picking up half way through the
introduced stack ? <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Where is it suggested that the introduced stack
is in a “stack full” state ? <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">The push and pop operations are not the problem,
just the starting position of the problem. When is the
beginning is what got me first. The bold items were no help
as I didn’t consider them to be significant.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Also, the item Top (1) might mean top of stack to
the writer, but only adds to the confusion as it is not
obvious it means the top of the stack when we start with a
stack with 5 elements. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">I have gone through my 2<sup>nd</sup> year Data
Structures textbooks and have a strong recollection of the
1982 exams I did ( why wouldn’t I ?? ) on stacks and data
structures and there was always a pointer or arrow (with a
value in a variable ) showing the top of a stack at the
beginning of a question and the requirement was to draw the
stack through the various states after push and pop
functions. Apart from that we either have empty or full
states. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">I can’t see how this question would have helped
in any way to show student’s understanding of a stack and
its functions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Kind Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Kevork Krozian<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">Edulists Creator Administrator<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><a class="moz-txt-link-abbreviated" href="http://www.edulists.com.au">www.edulists.com.au</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);">tel: 0419 356 034<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 11pt; font-family:
"Calibri","sans-serif"; color: rgb(31,
73, 125);"><o:p> </o:p></span></p>
<div style="border-right: medium none; border-width: 1pt medium
medium; border-style: solid none none; border-color: rgb(181,
196, 223) -moz-use-text-color -moz-use-text-color; padding:
3pt 0cm 0cm;">
<p class="MsoNormal"><b><span style="font-size: 10pt;
font-family: "Tahoma","sans-serif";"
lang="EN-US">From:</span></b><span style="font-size:
10pt; font-family:
"Tahoma","sans-serif";" lang="EN-US">
<a class="moz-txt-link-abbreviated" href="mailto:sofdev-bounces@edulists.com.au">sofdev-bounces@edulists.com.au</a>
[<a class="moz-txt-link-freetext" href="mailto:sofdev-bounces@edulists.com.au">mailto:sofdev-bounces@edulists.com.au</a>] <b>On Behalf Of </b>Mark
KELLY<br>
<b>Sent:</b> Wednesday, 27 April 2011 2:36 PM<br>
<b>To:</b> Year 12 Software Development Teachers' Mailing
List<br>
<b>Subject:</b> Re: [Year 12 SofDev] Sample Exam Questions<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom: 12pt;">Thanks for the
bone, Mike. Woof! It finally let me work out the many
assumptions underlying the question: and after all that, I'm
not wagging my tail.<br>
<br>
I think the question is far from clear, and I doubt students
would make much of it in a real exam.<br>
<br>
- It does not, for example, say that the stack is zero-based.
If one assumes (as I did) that the stack indexing starts at 1,
the whole thing changes and nothing makes sense.<br>
- It does not indicate what the mysterious bolding of the
bottom 2 items is meant to represent. If the examiners invent
their own conventions, they should explain them to us.<br>
- It does not tell us that the stack pointer in updated <b>before</b>
a push/pop instead of being changed afterwards, as often
happens. Again, this changes everything.<br>
- One has to realise that the stack is expanding from the
bottom and not from the top. Stacks are often represented
growing in either direction.<br>
<br>
When it comes to real-world stack implementation, there are so
many different options such as these that I found the question
mind-boggling while I went through the permutations of
possible readings.<br>
<br>
Grrr.<o:p></o:p></p>
<div>
<p class="MsoNormal">On 21 April 2011 14:45, Mike Brookes <<a
moz-do-not-send="true" href="mailto:mikebr@tpg.com.au">mikebr@tpg.com.au</a>>
wrote:<o:p></o:p></p>
<div>
<p class="MsoNormal">Hi Mark et Al<br>
<br>
For the question to make sense one has to make the
assumption that the stack positions start at the bottom
with position zero and go up to position 4 which is the
top of the stack. At the start the bottom two (in bold on
the PDF) are valid, hence the top of stack pointer showing
1. <br>
<br>
Below is the completed table and the stack at the start
and after each step:<o:p></o:p></p>
<table class="MsoNormalTable" style="width: 612.75pt;"
width="817" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="width: 26pt; padding: 0cm; height: 15.75pt;
min-height: 15.75pt;" width="35"><br>
</td>
<td style="width: 68pt; padding: 0cm; height:
15.75pt;" width="91"><br>
</td>
<td style="width: 23pt; padding: 0cm; height:
15.75pt;" width="31"><br>
</td>
<td style="width: 93pt; padding: 0cm; height:
15.75pt;" width="124"><br>
</td>
<td style="width: 22pt; padding: 0cm; height:
15.75pt;" width="29"><br>
</td>
<td style="width: 23pt; padding: 0cm; height:
15.75pt;" width="31"><br>
</td>
<td style="width: 23pt; padding: 0cm; height:
15.75pt;" width="31"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
<td style="width: 48pt; padding: 0cm; height:
15.75pt;" width="64"><br>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td colspan="7" style="border-width: medium 1pt medium
medium; border-style: none solid none none;
border-color: -moz-use-text-color black
-moz-use-text-color -moz-use-text-color; padding:
0cm; height: 15.75pt;">
<p class="MsoNormal">Stack at start and after each
step<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">Step<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Function<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Top<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Output<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Start<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 1<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 3<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 4<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 5<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Step 6<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height:
15pt;">
<p class="MsoNormal">1<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (23)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (23)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td rowspan="5" style="border-width: medium medium
1pt; border-style: none none solid; border-color:
-moz-use-text-color -moz-use-text-color black;
padding: 0cm; height: 15pt;">
<p class="MsoNormal">Stack position<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">4<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">92<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height:
15pt;">
<p class="MsoNormal">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (18)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal"> <o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (18)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">18<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">75<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height:
15pt;">
<p class="MsoNormal">3<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Pop<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item removed (18)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">23<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15pt; min-height: 15pt;">
<td style="padding: 0cm; height: 15pt; min-height:
15pt;">
<p class="MsoNormal">4<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Push (75)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal"> <o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal">Item added (75)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;"><br>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">1<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">83<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">5<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Push (92)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">4<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Item added (92)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">0<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">52<o:p></o:p></p>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;">
<p class="MsoNormal">6<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Push (47)<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal"> <o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Stack full<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
</tr>
<tr style="height: 15.75pt; min-height: 15.75pt;">
<td style="padding: 0cm; height: 15.75pt; min-height:
15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;"><br>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal">Top<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">1<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">2<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">3<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">4<o:p></o:p></p>
</td>
<td style="padding: 0cm; height: 15.75pt;">
<p class="MsoNormal" style="text-align: right;"
align="right">4<o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><br>
<span style="color: rgb(136, 136, 136);">Mike Brookes <br>
Semi retired gentleman from Copperfield College</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
On 21/04/2011 1:35 PM, Mark KELLY wrote: <o:p></o:p></p>
<p class="MsoNormal" style="">Would someone be kind enough
to throw me a bone about the stack question - Q3?<br>
<br>
I thought I knew stack implementation from my assembly
language days with Z80... this question feels like
walking into someone's half-finished thought process.
I'm really confused about this.After half an hour of
conjecture, I’ve tried four times to ask a series of
sensible questions to make sense of it, and have failed
every time. <o:p></o:p></p>
<p class="MsoNormal" style=""><o:p> </o:p></p>
<p class="MsoNormal" style="">The only apparent answer
involves time travel, reversed arrays, irrelevant stack
pointers and bogus bolding of stack items. The
relationship between the stack and the table is only the
beginning of the problem...<o:p></o:p></p>
<p class="MsoNormal" style=""><o:p> </o:p></p>
<p class="MsoNormal" style="">I’d be delighted if anyone
could walk me through this...<o:p></o:p></p>
<p class="MsoNormal" style=""><o:p> </o:p></p>
<p class="MsoNormal" style="">Regards<o:p></o:p></p>
<p class="MsoNormal" style="">Mark<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
<a moz-do-not-send="true" href="http://www.edulists.com.au"
target="_blank">http://www.edulists.com.au</a> - FAQ,
Subscribe, Unsubscribe<br>
IT Software Development Mailing List kindly supported by<br>
<a moz-do-not-send="true" href="http://www.vcaa.vic.edu.au"
target="_blank">http://www.vcaa.vic.edu.au</a> - Victorian
Curriculum and Assessment Authority and<br>
<a moz-do-not-send="true"
href="http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html"
target="_blank">http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html</a><br>
<a moz-do-not-send="true" href="http://www.vitta.org.au"
target="_blank">http://www.vitta.org.au</a> - VITTA
Victorian Information Technology Teachers Association Inc<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom: 12pt;"><br>
<br clear="all">
<br>
-- <br>
Mark Kelly<br>
Manager of ICT, Reporting, IT Learning Area<br>
McKinnon Secondary College<br>
McKinnon Rd McKinnon 3204, Victoria, Australia<br>
Direct line / Voicemail: +613 8520 9085, Fax +613 9578 9253<br>
<a moz-do-not-send="true"
href="mailto:kel@mckinnonsc.vic.edu.au" target="_blank">kel@mckinnonsc.vic.edu.au</a><br>
VCE IT Lecture Notes: <a moz-do-not-send="true"
href="http://vceit.com" target="_blank">http://vceit.com</a><br>
Moderator: IT Applications Edulist<br>
<br>
All generalisations are false, except this one.<o:p></o:p></p>
</div>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
<a class="moz-txt-link-freetext" href="http://www.edulists.com.au">http://www.edulists.com.au</a> - FAQ, Subscribe, Unsubscribe
IT Software Development Mailing List kindly supported by
<a class="moz-txt-link-freetext" href="http://www.vcaa.vic.edu.au">http://www.vcaa.vic.edu.au</a> - Victorian Curriculum and Assessment Authority and
<a class="moz-txt-link-freetext" href="http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html">http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html</a>
<a class="moz-txt-link-freetext" href="http://www.vitta.org.au">http://www.vitta.org.au</a> - VITTA Victorian Information Technology Teachers Association Inc</pre>
</blockquote>
<br>
</body>
</html>