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

Explain about memory buffer register, Q. Explain about Memory Buffer Regist...

Q. Explain about Memory Buffer Register? Memory Buffer Register (MBR): It's a register that comprises the data to be written in memory (write operation) or it obtains the data

Phython, super ascii string checker

super ascii string checker

Determine reduced boolean equation and the karnaugh map, Determine reduced ...

Determine reduced Boolean equation and the Karnaugh Map? Illustration : Determine reduced Boolean equation and the Karnaugh Map for the truth table shown below:

Explain the synchronous-transmission, A control character is sent at the be...

A control character is sent at the beginning as well as at the end of every block in the synchronous-transmission in order to  (A) Synchronize the clock of transmitter and rece

What is a linker program, What is a linker program? Ans. links the prog...

What is a linker program? Ans. links the program with other programs required for its execution is called a linker program.

Write the factors considered in designing an i/o subsystem, Write the facto...

Write the factors considered in designing an I/O subsystem? 1.  Data Location: Device selection, address of data within device ( track, sector etc) 2.  Data transfer: Amount

Design a alarm system - microprocessor system, A burglar alarm system is co...

A burglar alarm system is controlled by a microprocessor system. The system has three independent circuit each consisting of 7 passive infra red sensors. The controller can be prog

Which dependencies of hierarchical tables in the sap system, The structure ...

The structure of Logical Databases reflects which dependencies of hierarchical tables in the SAP system. Foreign Key dependencies

How to attain 180 degree precise phase shift, How to attain 180 degree prec...

How to attain 180 degree precise phase shift? Never tell using inverter: a. DCM an inbuilt resource into most of FPGA can be arranged to get 180 degree phase shift. b. BU

Define logical data as operand data type, Q. Define Logical data as operand...

Q. Define Logical data as operand data type? Every word or byte is treated like a single unit of data. Whenever an n-bit data unit is considered as comprising n 1-bit items of

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