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

Give an account of issue pertaining in c language, Give an account of the i...

Give an account of the issue pertaining to compilation of if statement in C language Control structures as if cause significant gap in between the PL domain and the execution d

What a header script can specify in cgi, A header in CGI script can specify...

A header in CGI script can specify? A header into CGI script can give format of document and New location of perticular the document.

What is a co-processor, What is a co-processor? What is its use in a typica...

What is a co-processor? What is its use in a typical microprocessor based system. 8087 NDP (numerical data processor) is also called math co-processor which is used in parallel

Graphic symbol of S-R flip-flop, Q. Graphic symbol of S-R flip-flop? R...

Q. Graphic symbol of S-R flip-flop? R-S Flip flop - Graphic symbol of S-R flip-flop is displayed in Fig below. It has 3 inputs S (set), R (reset) and C (for clock). Q(t+1) is

How to load dos from hard disk, Q. How to Load DOS from Hard Disk? To L...

Q. How to Load DOS from Hard Disk? To Load DOS from the Hard Disk of your computer, follow these steps: 1. Turn on the power ON/OFF switch of the CPU unit of your PC the pow

Difference between panel and group box classes, Difference between Panel an...

Difference between Panel and Group Box classes? Panel & Group box both can used as container for other controls like radio buttons & check box. The dissimilarity in panel & gro

What is the role of certifying authority, What is the Role of Certifying Au...

What is the Role of Certifying Authority? A certificate authority is a body, that is either public or private, that seeks to fill the requirement for trusted third-party servic

Illustrate code segment with example, CODE SEGMENT ; Set DS register ...

CODE SEGMENT ; Set DS register MOV AX, DATA     ;    boiler plate code to set the DS register so that the MOV DS, AX          ;    program can access the data segment.

Mention the two subsystem relationship, Mention the two subsystem relations...

Mention the two subsystem relationship. The relationship among two subsystems can be: Client-server Peer-peer

Find out decimal equivalent of the hexadecimal number, What is the decimal ...

What is the decimal equivalent of the hexadecimal number 'A0' ? Ans. The decimal equivalent value is 160 of the hexadecimal number 'A0'. As   A        0      16 1     16 0    =

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