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

Define programmed i/o, Define Programmed I/O. It is the result of input...

Define Programmed I/O. It is the result of input and output instructions written in the computer program. Every data item transfer is initiated by an instruction in the program

Define refresh circuits, Define Refresh Circuits? It is a circuit which...

Define Refresh Circuits? It is a circuit which make sure that the contents of a DRAM are maintained when every row of cells are accessed periodically.

Eme, state function and path function

state function and path function

Example of ann - artificial intelligence, Example of ANN - artificial intel...

Example of ANN - artificial intelligence: ANNs look like this:   Notice that the x, w, z and y represent actual valued weights and that every the edges in this graph

Minimum and maximum algorithm, For this assignment, you will need to create...

For this assignment, you will need to create an ARM assembly language code routine that implements an algorithm to search through an array and find BOTH the minimum and maximum val

Conversion of base 10 to base 22 numerical system?, Hypothesis ... since th...

Hypothesis ... since the Hebrew language is a Numerical language meaning that each letter in their alphabet has a numerical value. I believe, that the Hebrew-language based on a r

What is strobe, What is Strobe. Asynchronous data are transfer among tw...

What is Strobe. Asynchronous data are transfer among two independent unit needs that control signals to be transmitted among the communicating units to indicate the time at whi

Direct or random access of elements, Direct or random access of elements is...

Direct or random access of elements is not possible in:- In Linked list direct or random access of elements is not possible

Explain working of direct memory access, Q. Explain working of Direct Memor...

Q. Explain working of Direct Memory Access? In both programmed I/O and interrupt-driven processor is busy with executing input/output instructions and I/O transfer rate is limi

Discuss in detail about the computers and supercomputers, Discuss in detail...

Discuss in detail about the Computers and supercomputers Computers are classified with respect to their size, cost and speed as supercomputers, servers, embedded computers and

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