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

Determine the minimal sum of products for boolean expression, Determine the...

Determine the Minimal sum of products for the Boolean expression? Obtain the minimal sum of products for the Boolean expression f=(1,2,3,7,8,9,10,11,14,15) using Quine-McCluske

Show the features of a typical floating-point representation, Q. Show the F...

Q. Show the Features of a typical floating-point representation? The features of a typical floating-point representation of 32 bits in above figure are: Left-most bit is

8086 microprocessor, In SDK – 86 kit 128KB SRAM and 64KB EPROM is provided ...

In SDK – 86 kit 128KB SRAM and 64KB EPROM is provided on system and provision for expansion of another 128KB SRAM is given. The on system SRAM address starts from 00000H and that

What are the main features of uml, What are the main features of UML ...

What are the main features of UML Defined system structure for the object modelling Support for all different model organization Strong modelling for behaviour an

How are problems of clock skew minimized, How are problems of clock skew mi...

How are problems of clock skew minimized? Clock skew, when done right, can also benefit a circuit. This can be intentionally introduced to reduce the clock period, at that the

What are local objects, What are local objects? Local objects (Dev clas...

What are local objects? Local objects (Dev class$TMP) are independent of correction & transport system

What will occur when contents of register are shifter left, What will occur...

What will occur when contents of register are shifter left, right? This is well known that into left shift all bits will be shifted left and LSB will be appended along with 0 a

What are the 3 things that are needed to specify a route, 1. URL Pattern - ...

1. URL Pattern - You can contain placeholders in a URL pattern so that variable data can be passed to the request handler without having a query string. 2. Handler - The handle

Differentiate between public key and secret key encryption, What are the di...

What are the different between Public Key Encryption and Secret Key Encryption? Differentiate between Public Key Encryption and Secret Key Encryption: A cryptographic sys

Avoiding overfitting - decision tree learning , Avoiding Overfitting : ...

Avoiding Overfitting : However remember there that in the previous lecture, there is over fitting that common problem in machine learning. Furthermore details to decision tree

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