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

Describe clusters in cellular systems, Question: a) With the help of a...

Question: a) With the help of a diagram, describe clusters in cellular systems. b) Describe the role of the following components in the GSM architecture Radio Sub-Sy

Determine why a new system is required, Q. Determine why a new system is re...

Q. Determine why a new system is required? Feasibility Study: - Feasibility study is the method of defining the current problem determining why a new system is essential and

Explain how a node can be inserted into an avl tree, Explain how a node can...

Explain how a node can be inserted into an AVL tree. We can insert a node into an AVL tree through the insertion algorithm for binary search trees in which we compare the key o

And-introduction rule, And-Introduction: In generally English says tha...

And-Introduction: In generally English says that "if we know that a lot of things are true, so we know that the conjunction of all of them is true", then we can introduce conj

Grounding a variable - first-order logic, Grounding a variable - first-orde...

Grounding a variable - first-order logic: The perform of making ourselves clear about a variable by introducing an exists or a forall sign is called quantifying the variable.

Explain about wide area network, Q. Explain about Wide Area Network? Wi...

Q. Explain about Wide Area Network? Wide Area Network (WAN) usually refers to a network, which covers a large geographical area as well as use communications subnets (circuits)

State the benefits of object oriented modelling, Benefits of object oriente...

Benefits of object oriented Modelling There are many benefits and advantages of object oriented modelling. Emphasis on quality and reuse are the major highlights of OOM. OOM p

Game playing techniques - artificial intelligence, Game Playing techniques ...

Game Playing techniques - artificial intelligence: Now we have dispensed with the essential background material for Artificial Intelligence problem solving techniques, and we m

Propositional inference rules - artificial intelligence, Propositional Infe...

Propositional Inference Rules -Artificial intelligence : Equivalence rules are specifically useful because of the vice-versa aspect,that means we can discover forwards andbackw

What is pipelining, What is pipelining? The overlapping of implementati...

What is pipelining? The overlapping of implementation of successive instructions is known as pipelining.

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