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

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

How e-commerce works for the shop owner, E-commerce is working in tandem wi...

E-commerce is working in tandem with the real shop and if all the products are online running the e-commerce shop is becoming simpler. Owner log in on the special admin side of the

Synchronous, What are differences between Synchronous, Asynchronous and I s...

What are differences between Synchronous, Asynchronous and I synchronous communication? Sending data encoded in your signal needs that the sender and receiver are both by using

System engineering hierarcy, develop system engineering hirarcy for public ...

develop system engineering hirarcy for public health care?

The values 15 and 11 can also be defined by variable, In the statement Writ...

In the statement Write:/15(10) lfa1-lifnr. The values 15 and 11 can also be defined by variable. No, the value of 11 nad 15 is not described by variable.

What is a recursively enumerable language, What is a recursively enumerable...

What is a recursively enumerable language?            The languages that is accepted by TM is said to be recursively enumerable (r. e) languages.  Enumerable means that the stri

What is micro operation, What is micro operation? A micro operation is ...

What is micro operation? A micro operation is an elementary operation performed with the data kept in registers.   1) Register transfer microoperation transfer binary inform

Differentiate between EPROM and EEPROM, Differentiate between EPROM and EEP...

Differentiate between EPROM and EEPROM. EPROM: The meaning of this term is Erasable PROM. This can be reprogrammed through first erasing the existing program. EPROM uses N-MO

.., consider an open circuit pn junction.sketch curves as a function of dis...

consider an open circuit pn junction.sketch curves as a function of distance across the junction of space charge ,electric field and potential

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