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

Unification - artificial intelligence, Unification - Artificial intelligenc...

Unification - Artificial intelligence: We have said that the laws of inference for propositional logic detailed in the previous lecture can also be used in first-order logic.

Same reg variable in an always block, What value is inferred when multiple ...

What value is inferred when multiple procedural assignments made to the same reg variable in an always block? When  there  are  multiple  nonblocking  assignments  made  to  th

Explain services of application layer., Explain services of Application Lay...

Explain services of Application Layer. Application Layer: As the highest layer within the OSI reference model, the application layer gives services to the users of OSI env

How to upgrade to the latest version using magento connect, Upgrading Magen...

Upgrading Magento to the latest version is a fairly easy task. Copy and Paste this key magento-core/Mage_All_Latest VIA Magento Connect where it states Paste extension key to insta

What are the limitations of traditional payment instruments, What are the l...

What are the limitations of traditional payment instruments? The limitations of traditional payment system are that they take a lot of time.  These systems needs manual work to

What are the disadvantages of fcfs scheduling algorithm, What are the disad...

What are the disadvantages of FCFS scheduling algorithm as compared to shortest job first (SJF) scheduling? Disadvantages: (i) Waiting time can be huge if short requests w

Determine the simplified sop boolean expression, The Karnaugh map for a SOP...

The Karnaugh map for a SOP function is given below in figure. Determine the simplified SOP Boolean expression. Ans. F= B'C' + A'C'D + B'D'

What is an interpreted languages, What is an interpreted languages In ...

What is an interpreted languages In interpreted languages, the instructions are implemented immediately after parsing. Both tasks are done by the interpreter. The code is sav

Multi-threaded concurrency programming with threads, Your task is to implem...

Your task is to implement a memory manager that manages page reads and writes from multiple client threads. In the first programming task the memory manager keeps all the pages in

Inheritance, Create a new project, LastNameFirst 05, for this assignment. ...

Create a new project, LastNameFirst 05, for this assignment. You will need to define the classes depicted in the class diagram below. All of the classes should contain complete ja

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