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

Explain what are video and graphic in multimedia application, Question: ...

Question: (a) Copying a graphic image from the Web will be as easy as pointing to it and clicking the right mouse button or performing a screen capture. The question is, under

Neural architectures, Neural architectures are appealing as mechanisms for...

Neural architectures are appealing as mechanisms for implementing intelligence for a number of reasons. Traditional AI programs tend to be brittle and overly sensitive to noise

Pebble merchant, There is a pebble merchant.He sells the pebbles,that are u...

There is a pebble merchant.He sells the pebbles,that are used for shining the floor.His main duty is to take length of the room''s sides. program 1 : package test.padovanstring

Specifying optimisation criteria of describe function, Specifying Optimisat...

Specifying Optimisation Criteria Specify values to be minimized, maximized or optimized. You can understand it as way you normalize data in database. For instance, you should

What is difference between cgi and java, CGI and JAVA are fundamentally dis...

CGI and JAVA are fundamentally dissimilar, and for most applications are NOT interchangable. CGI is a protocol for running programs on a WWW server. Whilst JAVA can also be us

Explain working of digital camera, Q. Explain working of Digital camera? ...

Q. Explain working of Digital camera? A Digital camera is a camera which captures and stores still images and video (Digital Video Cameras) as digital data in place of on photo

Design a mod-5 synchronous counter using J-Kflip-flops, What are synchronou...

What are synchronous counters? Design a Mod-5 synchronous counter using J-K Flip-Flops. Ans. Synchronous Counters : It means that all flip-flops are clocked concurrently. T

Copy file from a floppy disk to the hard disk, Q. Copy file from a floppy d...

Q. Copy file from a floppy disk to the hard disk? While using a PC, often you need to copy file from a floppy disk to the hard disk or vice-versa.  For instance, you buy some s

Find values of x using 7s complement, Q. Perform binary subtraction, using ...

Q. Perform binary subtraction, using 1s & 2s complement: 1) 1010-1011 2) 0.1111-0.101 3) 11.11-10.111 Q.  (192.25)10 - (C0.C)16 = (x)7 Find values of x, using 7's compl

Direct mapped strategy, Determine the layout of the specified cache for a C...

Determine the layout of the specified cache for a CPU that can address 1G x 32  of memory.  show the layout of the bits per cache location and the total number of locations.  a)

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