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

Project managers complete hard problems, Why should project managers comple...

Why should project managers complete hard problems first in an OOSAD project?   Ans) The query really holds good in general for each situation in life. It is one of the prin

What are advantages and disadvantages of using eeprom, What are advantages ...

What are advantages and disadvantages of using EEPROM? The benefits are that EEPROM do not have to be removed for erasure. Also it is possible to delete the cell contents selec

Determine in detail about the vhdl, Determine in detail about the VHDL ...

Determine in detail about the VHDL Multiple design-units (entity/architecture pairs), which reside in the same system file, may be separately compiled if so desired. Though, it

What are ramps, Ramps A network planning method that makes the most wel...

Ramps A network planning method that makes the most well-organized use of manpower, materials and cash resources between several projects going on concurrently.

Explain about two-pass assembler, Q. Explain about Two-pass assembler? ...

Q. Explain about Two-pass assembler? Assemblers usually make two or more passes through a source program in order to resolve forward references in a program. A forward referenc

Explain star topology, Explain Star topology. A network utilizes a star...

Explain Star topology. A network utilizes a star topology if each computer attach to a central point. The following figure demonstrates the concept: Star Topology

Why we need parallel programming languages, Q. Why we need parallel program...

Q. Why we need parallel programming languages? The parallel programming languages are created for parallel computer environments.  These are developed either by creating new la

What is check box, A dialog box, generally square, that records an on or of...

A dialog box, generally square, that records an on or off value.

What is the significance of nonactionattribute, In general, all public proc...

In general, all public processes of a controller class are treated as action processes. If you require prevent this default behaviour, just decorate the public process with NonActi

What is the prominence of rs232-c in serial communication, What is the prom...

What is the prominence of RS232-C in serial communication?  Name some application where you see its use.  RS-232 stands for Recommend Standard number 232 and C is the latest re

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