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

Calculate width and height of the grid, Given a cell, we must determine its...

Given a cell, we must determine its neighbouring cells i.e. those with which it shares a wall. The cells with an x are the neighbours of the cell c. Write the function getneighbour

Describe menu in dreamweaver, File Menu: Under it there are New, Save, Sav...

File Menu: Under it there are New, Save, Save as, Save as template, Import, Export, Preview in browser etc. options. Edit Menu: In this menu there are Cut, Copy, Paste, Undo,

Ds, explain about relations

explain about relations

Determine about selective set- logic micro operations, Selective set Th...

Selective set The selective-set operation sets to 1 bits in register A where there can corresponding 1's  in  register  B.  It  does  not  affect  bit  positions  which  have

Engineering and scientific software, Engineering and Scientific Software ...

Engineering and Scientific Software Engineering  and  Scientific  software  has  been  characterized  with "number crunching" algorithms. Application starts from astronomy t

Explain the term- scan insertion, Explain the term- Scan Insertion Sca...

Explain the term- Scan Insertion Scan Insertion is completed by a tool and results in all (or most) of your design's flip-flops to be changed by special "Scan Flip-flops". Sca

What is status control and registers, Q. What is Status Control and Registe...

Q. What is Status Control and Registers? Status Control and Registers: These registers can't be used by programmers though are used to control CPU or execution of a program.

Produce an analysis model of the proposed system, Question: Read the fo...

Question: Read the following case study and answer the questions based on it. The local airline company needs to develop a system for controlling air traffic at the airport

Minimum degree of t=1 for a b-tree, Why don't we permit a minimum degree of...

Why don't we permit a minimum degree of t=1 for a B-tree? According to the definition of B-Tree, a B-Tree of order n means that every node in the tree has a maximum of n-1 keys

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