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

Validate the xml document , As an XML expert you are needed to model a syst...

As an XML expert you are needed to model a system for an online furniture shop. After an interview with the shop manager you have the certain information: The detail of th

C-programing, c-program for the minimum total number of shelves

c-program for the minimum total number of shelves

What are the different between hypertext hypermedia, What are the different...

What are the different between hypertext hypermedia? Hypertext is fundamentally the same like regular text; this can be stored, read or searched and edited along with a signifi

Authentication verses firewall, How does an authentication system be differ...

How does an authentication system be different from a firewall into functioning? Authentication verses firewall User Authentication and Authorization A significan

What is .net and .net framework, What is .NET / .NET Framework?  It i...

What is .NET / .NET Framework?  It is a Framework in which Windows applications might be developed and run. The Microsoft .NET Framework is a platform for building, deploying,

Give explanation about stored program control, Give explanation about Store...

Give explanation about Stored Program Control. Stored Program Control: In this centralized control, all the control equipment is replaced through a single processor that must

Write shorts notes on remote procedure call, Write shorts notes on Remote P...

Write shorts notes on Remote Procedure Call (RPC) The facility whihc was created to help the programmers write client server software is termed as Remote Procedure Call. Within

Find minimal expression for sop. draw gate network, Q Consider the followin...

Q Consider the following expression. Assume that complement inputs are available. F(A,B,C,D) = ∑m (1,2,6,9,10,14) + ∑d (4,7,8,11,12) a. Find minimal expression for SOP. Draw

Process of world wide web, Q. Process of World Wide Web? When you type ...

Q. Process of World Wide Web? When you type a URL in a web browser, this is what happens: 1. If URL contains a domain name, browser first connects to a domain name server an

binary division program for signed integer, The program division.c is avai...

The program division.c is available for download as part of this assignment. It is a binary division program which works for signed integers. It contains a function, div32, which d

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