Function makestk-predicate function emptystk, Computer Engineering

Assignment Help:

1. Create the following ADTs.

(a) Write the constructor function makestk, predicate function emptystk and mutator functions pushstk and popstk:

i. makestk returns a new stack in the form of a tagged tuple: ('stack',[]).

e.g. >>> cellstk=makestk()

>>> cellstk

('stack', [])

ii. emptystk returns True or False depending on whether the given stack is empty or not.

e.g. >>> emptystk(cellstk)

True

iii. pushstk accepts a stack and an element, and adds the element to the stack at position 0 (see part (b) below for the creation of cell0).

e.g. >>> pushstk(cellstk,cell0)

>>> cellstk

('stack', [('cell', (0, 0), ['t', 'b', 'r', 'l'])])

iv. popstk removes the element at position 0 of the given stack.

e.g. >>> popstk(cellstk)

('cell', (0, 0), ['t', 'b', 'r', 'l'])

>>> cellstk

('stack', [])

(b) Write a constructor function called makecell, accessor functions getx, gety and getwalls, and mutator functions removetw, removebw, removerw, removelw.

i. makecell accepts a tuple which consists of the x and y co-ordinate of the cell being created. It returns a cell in the form of a tagged tuple:

('cell',(x,y),['t','b','r','l']).

The list represents the four walls of the cell: top, bottom, right and left.

e.g. >>> cell0=makecell((0,0))

>>> cell0

('cell', (0, 0), ['t', 'b', 'r', 'l'])

ii. getx and gety return the x and y co-ordinates (respectively) of a given cell.

e.g. >>> getx(cell0)

0

iii. getwalls returns the list of walls that are intact for a given cell

e.g. >>> getwalls(cell0)

['t', 'b', 'r', 'l']

iv. remove?w removes the associated wall from the list of walls of a given cell.

e.g. >>> removetw(cell0)

>>> cell0

('cell', (0, 0), ['b', 'r', 'l'])


Related Discussions:- Function makestk-predicate function emptystk

Determine the equivalent in octal of decimal number, Convert decimal 153 to...

Convert decimal 153 to octal. Equivalent in octal will be ? Ans. (153) 10 = (231) 8

Explain scripts and libraries introduction, Scripts A script within Rati...

Scripts A script within Rational Robot is a file that haves a sequence of SQABasic code. The extension of the file is always ".REC". Typically the script have an automated testc

Explain implementation techniques, Explain Implementation techniques Im...

Explain Implementation techniques Implementation techniques(e.g. remote invocation, HTTP). An event-based cooperation can be executed using message passing or it can  be based

State the term- combinational circuit, In a pure combinational circuit is ...

In a pure combinational circuit is it necessary to mention all the inputs in sensitivity disk? if yes, why? Yes in a pure combinational circuit is it essential to mention all

Approaches for development of information systems, Q. Approaches for develo...

Q. Approaches for development of information systems? Numerous approaches are available for development of Information Systems. They are as below: • Model Driven: It put e

Define the advantages of assembly language., Highlight the advantages of as...

Highlight the advantages of assembly language. The benefits of assembly language program would be Reduced errors Faster translation times Changes could be made fas

Illustrate the encryption and decryption methods, Illustrate the Encryption...

Illustrate the Encryption and Decryption methods One of the best method of ensuring security is to change the form of communication. Let the messages be encoded in such a patte

What is master slave kernel, Q. What is Master slave kernel? Master sl...

Q. What is Master slave kernel? Master slave kernel: In this model just one of processors is assigned as Master.  The master is in charge for subsequent activities:  i)

What is the main problem with segmentation, What is the main problem with s...

What is the main problem with segmentation? Problem with segmentation (i) Is with paging, such mapping needs two memory references per logical address that slows down the

What is the file-system security, What is the File-system security Most...

What is the File-system security Most commercial servers use a powerful operating system as base that provides good methods of file-system security. Some servers require additi

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