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

Cryptography, 1. Consider the one-time pad encryption scheme to encrypt a 1...

1. Consider the one-time pad encryption scheme to encrypt a 1-bit message m, and assume m is chosen with uniform distribution from message space M={0,1}. Let E1 be the event "messa

Differences between datagrid and datalist, Differences between Datagrid, Da...

Differences between Datagrid, Datalist and Repeater?   1. Datagrid has paging while Datalist doesnt. 2. Datalist has a property known as repeat. Direction = vertical/horizon

Interval b/w time of submission and completion of the job, Interval between...

Interval between the time of submission and completion of the job is? Ans. Turnaround time is the interval in between the time of submission and completion  of the job.

Incorporate exception handling, Assignment (to be published later) will req...

Assignment (to be published later) will require you to extend the menu-driven application developed in Assignment 2B, to incorporate the recording details of the doctors who will b

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction and is machine architecture independent. A model can be executed on several hardware and memory architectures. There are various

Define terminal symbols, Define Terminal symbols? Terminal symbols: T...

Define Terminal symbols? Terminal symbols: These are literal strings forming the input of a formal grammar and can't be broken down in slighter units without losing literal m

Intelligent systems assignment, This logbook should be used to record decis...

This logbook should be used to record decisions, ideas, work done by your group on this assignment. Each group should keep one logbook, which must be submitted along with your sour

What is reducibility, What is reducibility?  The primary method of prov...

What is reducibility?  The primary method of proving some problems are computationally unsolvable.       It is known as reducibility. Reducibility always includes two problems

What is configuration, What is configuration?  Turing  machine  compute...

What is configuration?  Turing  machine  computes,  changes  occur  in  the  current  state,  the  current  tap contents  and  the  current  head  location. A  setting  of  the

Explain the term overlays, Explain the term Overlays. An overlay is an ...

Explain the term Overlays. An overlay is an element of program that has the same load origin as several other part of the program. These are used for reduce the main memory req

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