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

Operations of the web, Operations of the Web mainly depend on hypertext as ...

Operations of the Web mainly depend on hypertext as its means of interacting with users. But what is hypertext? Hypertext as such is the same as regular text that is it can be read

Difference between reply-to and return-path , What is the difference betwee...

What is the difference between Reply-to and Return-path in the headers of a mail function? Ans) Reply-to: Reply-to is where to deliver the respond of the mail. Return-pat

Define the boolean algebra, Define The Boolean algebra? A set of rules in...

Define The Boolean algebra? A set of rules invented by the English mathematician George Boole describe certain propositions whose outcome would be either true or false with regar

Create simple algebraic expression from k-map, Q. Create simple algebraic e...

Q. Create simple algebraic expression from K-Map? Now create simple algebraic expression from K-Map. These expressions are created by employing adjacency if we have 2 adjacent

How to correctly apply the graphics patches in matlab, Open a LOCAL MACHINE...

Open a LOCAL MACHINE window and type: xhost +ashland # Add the following code sequence just before the plot command that was giving you problems: figure; set(gcf,'renderer','zbuffe

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

Cache memories - computer architecture, Cache Memories - computer architect...

Cache Memories - computer architecture: Speed of the primary memory is very low in comparison with the speed of processor For well performance, the processor can't spend

Adder substractor, how can we bimpliment half substractor using nand gate

how can we bimpliment half substractor using nand gate

Determine the return loss and round trip delay for echo, In a national tran...

In a national transmission system, the characteristic impedances of the 4-wire circuit and the 2-wire circuit are 1200 ? and 1000 ? respectively. The average phase velocity of the

Which job is admitted to the system for processing, Jobs which are admitted...

Jobs which are admitted to the system for processing is called ? Ans. Long-term scheduling is admitted to the system for processing.

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