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

Explain the differences between logical and physical address, Explain the d...

Explain the differences between Logical and physical address space Logical Vs physical address space (1) An address produced by the CPU is commonly referred to like a logica

Explain about the term- reports, Explain about the term- Reports Repor...

Explain about the term- Reports Reports are produced as a result of questions like "how many times has a type of car broken down" or "which cities have the highest house price

Differentiate between transport & session layer of osi model, Differentiate...

Differentiate between Transport and Session layers of OSI model. OSI Model Transport Layer The transport layer utilizes the services provided through the network layer, as

What is the advantage of dividing an email address, What is the advantage o...

What is the advantage of dividing an email address into two parts? The division of an e-mail address in two parts is significant since it achieve two objectives. First, the div

What are the structural notations, What are the Structural Notations Th...

What are the Structural Notations These notations comprise static elements of a model. They are considered as nouns of UML model that could be conceptual or physical. Their ele

Define locality of reference, Define locality of reference? What are its ty...

Define locality of reference? What are its types?  During the course of implementation of a program memory references by the processor for both the instruction and the data ten

Virtual memory and organization of a cache memory, Described virtual memory...

Described virtual memory Ans: Data is to be stored in physical memory locations that have addresses different from those that specified by the program. The memory control circu

Capacity and performance of storage - computer architecture, Capacity: ...

Capacity: Raw capacity Total amount of stored information that a medium or storage device can hold is expressed as a quantity of bytes and bits (for example 10.4 megabyte

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