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

Cluster computing, The concept of clustering is definite as the use of mult...

The concept of clustering is definite as the use of multiple computers, typically PCs or multiple storage devices, UNIX workstations, and their interconnections, to form what appea

Differentiate between rom test and the ram test, Probelm : a) What is t...

Probelm : a) What is the purpose of "Jumps" in the 8051 Microcontroller? Describe three types of "Jumps". b) What is the purpose of a "call"? c) Differentiate between ROM

What is text editor, What is text editor? It is used for entering and e...

What is text editor? It is used for entering and editing application programs. The user of this program interactively implements command that permit statements of a source prog

Explain the term - integrity, Explain the term - Integrity In most c...

Explain the term - Integrity In most cases, corporate data should remain unchanged by third parties, so the system should be capable of ensuring that only authorised personn

Relation ship, what is relationship among objects in software engineering??...

what is relationship among objects in software engineering??

How do you split hydrogen and oxygen gases, Q. How do you split Hydrogen an...

Q. How do you split Hydrogen and Oxygen gases in industrial electrolysis of water process? Answer:- In oxygen, electrolysis and hydrogen gas are produced at different elec

Design a memory buffer of limited size, Extend task 1 so that it now suppor...

Extend task 1 so that it now supports a memory buffer of limited size. Provide the same functionality as task 1 except now make the server work with a limited buffer size. Like

Explain about combinational circuits, Q. Explain about Combinational Circui...

Q. Explain about Combinational Circuits? Combinational Circuit is one of the models for parallel computers. In interconnection networks, different processors correspond with ea

What are the differences between struts and units, What are the differences...

What are the differences between struts and units?  A warm up question. Units are static objects that exist from the start of the simulation right up to its end, whereas struts

Static memories - computer architecture, Static memories Circuits c...

Static memories Circuits capable of receiving their state as long as power is applied volatile Static RAM(SRAM)

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