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

#title.sequential circuit, design modulo 12 up synchronous counter using t ...

design modulo 12 up synchronous counter using t flip flop

Operating system, explain the various types of computer systems

explain the various types of computer systems

Which technique allows executing a program not in memory, A set of techniqu...

A set of techniques that allow executing a program which is not entirely in memory is called ? Ans. virtual memory which allows executing a program that is not entirely in me

Accept commands from the user, Your shell must accept commands from the use...

Your shell must accept commands from the user. The first step to implement this will be reading a line of input. This section will focus on what to do with the line of input after

Which electro mechanical switch had fewer moving parts, The             el...

The             electro mechanical switch (developed in 1938) had fewer moving parts than earlier switches. (A)  No. 1ESS                                 (B)  Strowger (

Compute the positive integer and square root, Question: Q1) Write a cod...

Question: Q1) Write a code that asks the user for a positive integer, computes the square root of that integer, and return the result to the user. The computational error needs

Risk detection, what is meant by risk detection in software project managem...

what is meant by risk detection in software project management

Storing a word in memory - computer architecture, Storing a word in Memory:...

Storing a word in Memory: That is similar process with fetching a word from memory. The required address is loaded into the MAR After that data to be written are lo

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