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

Operating system, Difference between the symmetric and assymetric multiproc...

Difference between the symmetric and assymetric multiprocessing

What is an imperative statement, What is an imperative statement? Ans. ...

What is an imperative statement? Ans. Shows an action to be performed throughout execution of assembled program is an imperative statement.

Layered architecture of electronic data interchange, Illustrated about the ...

Illustrated about the layered architecture of Electronic Data Interchange? Layered Architecture of EDI: Electronic Data Interchange is most commonly applied into th

Give the meaning of spc, SPC stands (A)   Standard Protocol Control ...

SPC stands (A)   Standard Protocol Control (B)   Stored Program Control (C)  Signaling and switching Centre (D)  Signaling Process Center Ans: SPC repres

Features of mpi-1, Features of MPI-1 Binding for FORTRAN and C ...

Features of MPI-1 Binding for FORTRAN and C Collective communication Communication domains and Process groups Point-to-point communication Virtual process

What is information technology, Information Technology is nothing but the s...

Information Technology is nothing but the study, design, development, execution, support and management of computer based information systems mainly the applications software & har

Define the types programmable logic devices?, Define the types Programmable...

Define the types Programmable logic devices? There are mostly three types PLDs. These are vary in the placement of fuses in the AND- OR array. 1. ROM- It has fixed AND array

Polymorphism and inheritance in lingo programming, Question : (a) What...

Question : (a) What are parent scripts and child objects in Lingo object oriented programming (OOP)? What are the equivalent terms used in C++ OOP? (b) Differentiate b

A sorting algorithm is stable, A sorting algorithm is stable if  Preser...

A sorting algorithm is stable if  Preserves the original order of records with equivalent keys.

Explain rby and cmyk colour printing, Q. Explain RBY and CMYK colour Printi...

Q. Explain RBY and CMYK colour Printing? For good printing printers don't use RBY in place of that they use CMYK (Cyan instead of Blue, Magenta instead of Red, Yellow and a sep

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