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

IEEE802, 1. (a) Given a baseband bus with station 1 located at 10m, station...

1. (a) Given a baseband bus with station 1 located at 10m, station 2 located at 1000m, and station 3 located at 1010 meters (see diagram above). If the data rate of the bus is 10 M

What is reduction, What is reduction?  A reduction is a way of changing...

What is reduction?  A reduction is a way of changing one problem into another in such a way that a solution to the second problem can be used to explain the first problem.

What are font metrics classes, The FontMetrics class is used to describe im...

The FontMetrics class is used to describe implementation-specific properties, like ascent and descent, of a Font object.

Define local area network, LAN is a privately - owned computer networks con...

LAN is a privately - owned computer networks confined to small geographical area, like a factory or an office widely used to connect office PCs to share resources and information.

Procedure level- levels of parallel processing, Procedure Level Here, p...

Procedure Level Here, parallelism is accessible in the form of parallel executable procedures. In this situation, the design of the algorithm plays a main role. For example eac

What is independent process, What is independent process? A process is ...

What is independent process? A process is independent it cannot affect or be affected by the other processes implementing in the system. Any process does not share data with ot

Design a nand-to-and gate network, Use as few gates as possible, design a N...

Use as few gates as possible, design a NAND-to-AND gate network that realize the following Boolean algebra expression. A'BC'D + ABC'D' + A'B'CD' + AB'C'D'

Instruction pipelines, Instruction Pipelines As discussed previous, the...

Instruction Pipelines As discussed previous, the stream of instructions in the instruction implementation cycle, can be realized through a pipeline where overlapped implementat

What is the meaining of action implementing instruction, Action implementin...

Action implementing instruction's meaning are a actually carried out by ? Ans. By instruction execution, the meaning of action implementing instruction is actually carried out.

State the features of pentium series of microprocessors, State the features...

State the features of Pentium series of microprocessors: Pentium is a 32-bit superscalar, CISC microprocessor.  The term superscalar is used for processor that contains more th

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