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

Device drivers in unix, Device Drivers in UNIX, MS-DOS and Windows System ...

Device Drivers in UNIX, MS-DOS and Windows System Though device drivers are in effect add-on modules they are however considered to be part of system because they are closely i

Which interface controls what is shown on the p.c., Which interface control...

Which interface controls what is shown on the p.c.? Presentation Interface  controls what is shown on the p.c

Design a multiplier, how can we design a multiplier by using ASM chart and ...

how can we design a multiplier by using ASM chart and then design the data controller ?!!

What is grid computing, (a) What is Grid computing? (b) What are the k...

(a) What is Grid computing? (b) What are the key distinctions between conventional distributed computing and Grid computing? (b) Describe how five features of Grid Computi

Boolean algebra, https://www.chegg.com/homework-help/questions-and-answers/...

https://www.chegg.com/homework-help/questions-and-answers/57-karnaugh-maps-7-diagram-shows-system-hot-chocolate-drinks-vending-machine-vending-machi-q91661540

Describe about full adder, Q. Describe about full adder? Let's take ful...

Q. Describe about full adder? Let's take full adder. For this other variable carry from previous bit addition is added let'us call it 'p'. Truth table and K-Map for this is dis

Depth first search - artificial intelligence, Depth First Search - artifici...

Depth First Search - artificial intelligence: Depth first search is very similar to breadth first, except for that the things are added to the top of this agenda rather than o

What is the motivation for cell design, Question: a) Evary cell in a ce...

Question: a) Evary cell in a cellular network is assigned a band of frequencies. The allocated frequencies are divided into two types of channels. Indentify and describe each t

What is orbix?, Orbix is a CORBA ORB (Object Resource Broker) - a commercia...

Orbix is a CORBA ORB (Object Resource Broker) - a commercial software product which helps programmers builds distributed applications. Orbix is an execution of the OMG's (Object Ma

Simplified boolean expression, Simplified the Boolean Algebra (x + y)(x + z...

Simplified the Boolean Algebra (x + y)(x + z) simplifies to ? Ans. x + yz as simplified the Boolean Algebra expression. [(x + y) (x + z)] = xx + xz + xy + yz = x + xz + xy + y

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