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

For which class address 192.5.48.3 belogs, Address 192.5.48.3 belongs to? ...

Address 192.5.48.3 belongs to? Address 192.5.48.3 belongs to class C.

State the selective clear - logic micro operations, State the SELECTIVE CLE...

State the SELECTIVE CLEAR - logic micro operations The selective-clear operation clears to 0 bits in register A only  where there are corresponding 1's in the register B. For

Recombination - canonical genetic algorithm, Recombination: Therefore...

Recombination: Therefore during the selection and mating process then the GA repeatedly lines up pairs of individuals for reproduction. Hence the next question is how to gener

Determine the define byte - assembler directives, Determine the Define Byte...

Determine the Define Byte - Assembler directives DB (Define Byte): DB directive defines a byte-type variable (i.e. a variable that occupies one byte of memory space). In a give

Which error detecting method detect more errors, Error detecting method tha...

Error detecting method that can detect more errors without increasing additional information in each packet is? Error detecting method which can detect more errors without rais

Perceptrons in artificial neural network, Perceptrons in artificial neural ...

Perceptrons in artificial neural network- Artificial intelligence: The weights in any ANN are always only real numbers and the learning problem boils down to selecting the best

Why a function should have at least one input, Why a function should have a...

Why a function should have at least one input? There is no strong reason for this in verilog. I think this restriction isn't removed fin SystemVerilog. Some requirements where

Cn, What is the basic requirement for establishing VLANs?

What is the basic requirement for establishing VLANs?

Congestion in network layer, explain different types of congestion in netwo...

explain different types of congestion in network layer?

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