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

Octave project, i need help with an octave program

i need help with an octave program

Matlab, 33.A juice company manufactures one-gallon bottles of three types o...

33.A juice company manufactures one-gallon bottles of three types of juice blends using orange, pineapple, and mango juice. The blends have the following compositions: 1 gallon or

Explain about double error detection bit, Q. Explain about Double Error Det...

Q. Explain about Double Error Detection bit? Let's presume now that two bit errors take place in data. Data received: So on -matching we conclude P3-D3 pair doesn't

Example of a router connects to at most networks, A router connects to at m...

A router connects to at most K networks. How many routers R are required to connect to N networks? Derive an equation that gives R in terms of N and K. If N K and K >=2 this

What are the two types of branch prediction techniques, What are the two ty...

What are the two types of branch prediction techniques available?  The two types of branch prediction methods are  1) Static branch prediction  2) Dynamic branch predicti

Explain an expression tree with a suitable example, What is an expression t...

What is an expression tree? How an expression is evaluated using an expression tree? Algebraic expressions is as given here a/b+(c-d)e That has an inherent tree-like structure

Minimum number of two input nand gates in assembly line, An assembly line c...

An assembly line consists of 3 fail safe sensors and one emergency shutdown switch. The line must keep moving unless any of the given conditions occur: a. When the emergency swi

Define the firewall design policy, Define the Firewall Design Policy ...

Define the Firewall Design Policy A lower-level policy that describes how the firewall will handle prevention of access and filtering of services as defined in the above net

Commutatively of connectives - artificial intelligence, Commutatively of Co...

Commutatively of Connectives You will be aware from the fact that some arithmetic operators have a property that it does not matter which way around you give the operator input

Explain time complexity in parallel algorithms, Q. Explain Time Complexity ...

Q. Explain Time Complexity in Parallel algorithms? As it takes place nearly everyone who implement algorithms wish to know how much of an individual resource (for example time

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