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

Show organisation of clos network, Q. Show Organisation of Clos network? ...

Q. Show Organisation of Clos network? Clos network: This network was designed by Clos (1953).  It's a non-blocking network and offers full connectivity similar to crossbar netw

How do you make an image clickable in HTML, How do you make an image clicka...

How do you make an image clickable in HTML? Give an example. To create an image or text clickable hyperlinks are used, that use the and tags. Such tag has different paramet

Dbms, types of lock

types of lock

How can we access the correction and transport system, How can we access th...

How can we access the correction and transport system? Each time you make a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the W

Advantages of using clusters, Q. Advantages of using clusters? Para...

Q. Advantages of using clusters? Parallel and distributed applications Decreased turnaround time Balanced loads Utilization of more powerful hosts Access to

Equivalences & rewrite rules - artificial intelligence, Equivalences & Rewr...

Equivalences & Rewrite Rules - artificial intelligence: Along with allowing us to verify trivial theorems, tautologies make us able to establish that definite sentences are say

Global business-to-consumer e-commerce, "Global business-to-consumer e-comm...

"Global business-to-consumer e-commerce sales will pass the 1 trillion euro ($1.25 trillion) mark by 2013, and the total number of Internet users will increase to approximately 3.5

What are the largest UDP messages, What are the largest UDP messages that c...

What are the largest UDP messages that can fit into single Ethernet frame? UDP utilizes IP for delivery. As ICMP UDP packet is encapsulated in IP datagram. Therefore entire UDP

Registers - processor, These will be independent of each other and will not...

These will be independent of each other and will not affect to each other, and so they can be fed into two different implementations units and run in parallel. The ability to remov

Differences between datagrid and datalist, Differences between Datagrid, Da...

Differences between Datagrid, Datalist and Repeater?   1. Datagrid has paging while Datalist doesnt. 2. Datalist has a property known as repeat. Direction = vertical/horizon

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