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

Priority interrupt and synchronous bus, What is a Priority Interrupt? A...

What is a Priority Interrupt? Ans: A priority interrupt is a type of interrupt that establishes a priority over the many sources to determine which condition is to be serviced

Determine the equivalent binary form of decimal number, Solve the equation ...

Solve the equation 23.6 10 = X 2 for X Ans. 23.6 10 = X 2 So as to find X, firstly convert the Decimal number 23.610 in its Binary form. After that take the decimal inte

Computer arcticture, what is the main goal of parallel processing

what is the main goal of parallel processing

Design issues related to interrupt-driven input - output, Q. Design issues ...

Q. Design issues related to interrupt-driven Input - output? So interrupt handling includes interruption of currently executing program, execution of interrupt servicing progra

Global fon, GlobalFon is an international communication company, which offe...

GlobalFon is an international communication company, which offers international prepaid calling cards. They introduced three different types of cards, (1) AsiaFon: is cheapest for

Show SNMPs representation in ASN.1 syntax, An SNMP integer whose value is 2...

An SNMP integer whose value is 200 has to be transmitted. Show its representation in ASN.1 syntax. An ASN.1 transfer syntax describes how values of ASN.1 types are unambiguousl

Search-based tools in parallel computers, The search-based tools initially ...

The search-based tools initially recognize problem and afterwards suitably give advice on how to correct it.  AT Expert from Cray Research is one of the tools being employed for

What is interpreter, What is interpreter? An  interpreter is a program ...

What is interpreter? An  interpreter is a program that appears to execute a source program as if it were machine language.

Performance and issues in pipelining-speedup, Performance and Issues in Pip...

Performance and Issues in Pipelining Speedup:   Firstly, we get the speedup factor that is we see how much speed up performance we get through pipelining. First we get the

Explain e-mail gateways, Explain E-mail gateways. Email using SMTP work...

Explain E-mail gateways. Email using SMTP works better while both the sender and the receiver are on the Internet and can support TCP connections among sender and receiver. Tho

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