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

What is uml, ? UML is called as Unified Modeling Language. ? it is used...

? UML is called as Unified Modeling Language. ? it is used to Graphical language for visualizing artifacts of the system. ? It Allow to make a blue print of all the aspects

Fundamental components of a microprocessor, Q. Fundamental components of a ...

Q. Fundamental components of a microprocessor? The word 'micro' is used in microphones, microscopes, microwaves, microprocessors, microcomputers, microprogramming, microcodes e

Explain load sharing processor configuration of spc, Explain how a centrali...

Explain how a centralized SPC organization works under load sharing operation. Under load sharing operation, an incoming call is allocated randomly or in a predetermined sequen

Integrated test result, COGNITIONS Mr. X exhibits a generally high-quali...

COGNITIONS Mr. X exhibits a generally high-quality level of cognitive and intellectual functioning, as evidenced by his performance on the MMSE-2 and WAIS-IV. His one weakness w

Dynamic configuration of parallel virtual machine, Q. Dynamic Configuration...

Q. Dynamic Configuration of parallel virtual machine? int pvm_addhosts( char **hosts, int nhost, int *infos ) Add hosts to virtual machine. hosts is an arra

Software architecture of microprocessor, The 68HC11 series is based on the ...

The 68HC11 series is based on the Motorola 6800/1 programming instruction set and hence is a fairly simple 8 bit microprocessor. The internal structure of the 6800/1 is shown below

C pograming, why we use void main in c progrmeing

why we use void main in c progrmeing

QUELING SYTEM , SHOW THAT AVERAGE NUMBER OF UNIT IN A (M/M/1) QUELING SYTEM...

SHOW THAT AVERAGE NUMBER OF UNIT IN A (M/M/1) QUELING SYTEM IS EQUAL TO P/(1-p). NOTE:P=ROW

Define class p, Define class P  The class of all sets L that can be kno...

Define class P  The class of all sets L that can be known in polynomial time by deterministic TM. The class of all decision problems that can be decided in polynomial time.

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