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

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

Types of pipelines - computer architecture, Types of Pipelines: Instr...

Types of Pipelines: Instructional pipeline  It is used where different stages of an instruction fetch and execution take place in a pipeline. Arithmetic pipeline

Elements of information super highway infrastructure, Illustrate the elemen...

Illustrate the elements of Information Super Highway Infrastructure. The Information Superhighway is more than the Internet. This is a series of elements, including the collect

What is expansion swap, What is Expansion swap? At the time when any pr...

What is Expansion swap? At the time when any process needs more memory than it is currently allocated, the Kernel performs Expansion swap. To do this Kernel reserves enough spa

What is demand paging, What is major difference between the Historic Unix a...

What is major difference between the Historic Unix and the new BSD release of Unix System V in terms of Memory Management? Historic Unix uses Swapping - Whole process is tran

How to save your file in dreamweaver, HOW TO SAVE YOUR FILE? Step 1: Cl...

HOW TO SAVE YOUR FILE? Step 1: Click on FILE Step 2: Click on SAVE Step 3: Choose the folder in which you want to save Step 4: Provide a name to the file (with .htm /

Show the developments that happened in third generation, Q. Show the develo...

Q. Show the developments that happened in third generation? The main developments that happened in third generation can be summarized as below: Application of IC circuit

Linux, Explain about unix file system architecture

Explain about unix file system architecture

How do we save a selected sub-image to a file in gimp, Use "Edit->Paste As-...

Use "Edit->Paste As->New Image" menu command or press Ctrl-Shift-V key combination, then save newly created image.The script-fu-selection-to image can also be used to cut a selecti

Use of large register file, Generally the register storage is faster than c...

Generally the register storage is faster than cache andmain memory. Also register addressing uses much shorter addresses than addresses for cache and main memory. Though the number

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