Return value in an array, Programming Languages

Assignment Help:

A specification of a function TOARR is given below.


function TOARR(n in Int, s in Stack of Int) return in Array of Int pre n ≥ 0.

post The returned value is an array of size n. It contains items from the stack s, copied in the order in which they appear in s, but with the top item from s in the position with index 1 in the returned array, and so on.

If the stack s contains more than n items, then only the top n items are copied to the returned array.

If the stack s contains fewer than n items, then the returned array is filled up with 0s.

For example, TOARR(6, [1,2,3]) = [3,2,1,0,0,0];

TOARR(4, [1,2,3,4,5]) = [5,4,3,2].

(a) What value is returned by TOARR(n,s) when s is [0,1,2,3,4] and n is 3? [1 mark] (b) The code in XImp below is intended to implement TOARR.

function TOARR(n,s)

{ //XImp

var theArr in Array (of size 4) of Int var index in Int

var temp in Stack of Int temp <-- s

for (index < 1 to n)

{
if (SIZE(s) > 0) then
{
PUT(index,theArr,PEEK(temp))
temp <-- POP(temp)
}
}

return theArr

}

(i) Suppose that the stack s is [0, 1, 2, 3, 4] and n is 3. With these inputs, trace the execution of XImp. Give a trace table showing the values of the variables theArr, index and temp after each execution of the body of the loop.

What value is returned by XImp with these inputs?

(ii) Your trace in part (i) should show that XImp is not a correct implementa- tion of TOARR. By referring to the specification of TOARR, explain why the trace shows the implementation to be incorrect. (Your explanation here does not need to refer to the details of the code in XImp.)

(c) Explain how XImp can be modified to make it correct. ( It is sufficient to give the changes which are needed in order to make the code correct. You do not need to repeat parts of the given code that do not need changing). [6 marks]

(d) Use the WorkPad to test your corrected implementation.

Save the WorkPad file which you use to test your implementation. Include the contents of this file as part of your Solution Document. ( It is sufficient to show t e s t s when s is [0, 1, 2, 3, 4] and n is 3, and for two other suitably chosen input cases.)


Related Discussions:- Return value in an array

Virtual Logic and Arrays, My programming class uses Virtual Logic (not virt...

My programming class uses Virtual Logic (not virtual studio) to learn how to program algorithms but we don''t get any assistance form the instructor so I am at a loss as to how I a

Write a program to draw the fish, Write a program to draw the figure shown ...

Write a program to draw the figure shown below. the program must provide: a. Close the fish's mouth slowly (at least 5 moves from the original position to close the mouth) b.

#matlab programming , 3d Interpolation using matlab from x,y, and z coordin...

3d Interpolation using matlab from x,y, and z coordinates in a csv file and reading them after that interpolating them..

Type of linear programming - dea, Type of Linear Programming - DEA The ...

Type of Linear Programming - DEA The Express Dry Cleaners currently has four locations in the Chicago area and willing be opening the fifth in the very near future.  Mr. James,

Find the dual - duality theory and complementary slackness, Linear Programm...

Linear Programming Consider the following optimization problem: min x s.t. x ≥ max{a1, a2, . . . , an} Rewrite this problem as a Linear Programming Problem. What is the

Simple corba program, You are working in charge of a group of programmers a...

You are working in charge of a group of programmers at a software company. Your task is to assess and research CORBA and to produce a report to be given to the programmers detailin

Programming, You must programme an analogue clock and digital stopwatch usi...

You must programme an analogue clock and digital stopwatch using the Processing programming language

Linux/Unix Program 1, **This programming assignment is for use in the LINUX...

**This programming assignment is for use in the LINUX/UNIX environment!! Introduction: System administration often requires custom written programs and tools. One problem a syste

Developing a preprocessor for java, How and where to start to develop a pre...

How and where to start to develop a preprocessor for java

Dot net technology, write a procedure to add toolbar in VB application addi...

write a procedure to add toolbar in VB application adding icons to toolbar buttons & with the approprite example display the use of each button

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd