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

Program 3, An apartment complex has several apartments to rent. The apartme...

An apartment complex has several apartments to rent. The apartments are all similar, and all rent for $750 per month. Currently, all units are occupied. The management, being in bu

Capstone project, I need help programming an arduino uno to scan an ean-8 s...

I need help programming an arduino uno to scan an ean-8 student barcode and display their name and id on computer. This is a capstone project.

What are the characteristics of a good algorithm, What is an algorithm? Wha...

What is an algorithm? What are the characteristics of a good algorithm? An algorithm is defined as “a step-by-step procedure of accomplishing some task'''' An algorithm may be sh

Write the html code to bind this xml data, Question: (a) (i) Describe w...

Question: (a) (i) Describe what an XML Data Island is and outline the restrictions of using a Data Island. (ii) The following XML file book.xml is used to keep track of a l

Class registration, using UML 1- Identify primary classes 2- Scenario d...

using UML 1- Identify primary classes 2- Scenario description 3- Class diagrams 4- Sequence diagrams

Java reflection api, Expertsmind brings you unique solution in java assign...

Expertsmind brings you unique solution in java assignments Reflection API Uses of Reflection with java assignment help Reflection is widely used by applications which

Access modifiers, Access Modifiers Convenience Modifiers or we can say (Acc...

Access Modifiers Convenience Modifiers or we can say (Access Specifies) identifies as the opportunity of accessibility of an Item and its associates. All C# kinds and kind associat

Data analytics, can i get assignments on Data analytics?

can i get assignments on Data analytics?

Hb programming test, The purpose of the HB Programming test is to assess wh...

The purpose of the HB Programming test is to assess whether a candidate has sufficient knowledge to join our team here and beyond that where they would fit within our teams. The

Java packages, Expertsmind brings you unique solution in java assignments ...

Expertsmind brings you unique solution in java assignments Packages A Java packages is a process for planning Java sessions into namespaces just like the segments of Modu

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