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

Computer aided manufacture, Before we take a detailed look about software l...

Before we take a detailed look about software languages, let us consider the role of computers in engineering. Computers are commonly used in the areas of 'Computer Aided Design /

What are the barcode readers, What are the Barcode readers These collec...

What are the Barcode readers These collect data from printed barcodes and allow automatic stock control in, for illustration, supermarkets.

Design new registration system, WestEast College hires you as a systems ana...

WestEast College hires you as a systems analyst to design its new admission/registration system. WestEast College is one of the top ranked schools in the United States. It is a

Can a structure be used within a structure, Can a structure be used within ...

Can a structure be used within a structure? Yes , a structure can be used within a structure known as nesting of structures.

Illustrate working of magnetic bubble memories, Q. Illustrate working of Ma...

Q. Illustrate working of Magnetic Bubble Memories? In many materials like garnets on applying magnetic fields certain cylindrical areas whose direction of magnetization is oppo

How is it possible to make a module counter using n flipflop, How is it pos...

How is it possible to make a module 2 n counter using N-flipflops?  Name the two types of such counters. Ans: Module 2 n counter counts total 2 n distinguishable states w

Elaborate the memory devices - semiconductor memory, Elaborate the memory ...

Elaborate the memory devices  - Semiconductor memory All of the memory used as main store in a modern computer is applied as semiconductors fabricated on wafers of silicon. Sem

Define synchronous bus, Define synchronous bus. Synchronous buses are t...

Define synchronous bus. Synchronous buses are the ones in which every item is transferred during a time slot(clock cycle) known to both the source and destination units. Synchr

Explain the semantics of each field of ethernet frame, Give the format of E...

Give the format of Ethernet frame and explain the semantics of each field. An Ethernet frame starts with headers which have three fields. The 64-bit preamble, which precedes th

Why do we need registers, Why do we need Registers? If t cpu is cycle...

Why do we need Registers? If t cpu is cycle time of CPU which is the time taken by CPU to execute a well-defined micro-operation employing registers and t mem is memory cycl

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