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

Mathematical theorems, Proving ( or disproving) mathematical theorems are ...

Proving ( or disproving) mathematical theorems are an intensive intellectual task. This is because it requires deductions from hypotheses and also involves judgment. This judgm

Describe the advantages of java servlets over cgi interface, Describe the a...

Describe the advantages of JAVA servlets over CGI interface. The Advantage of Servlets Over "Tradi tional" CGI: Java servlets are extra efficient, easier to utilize more pow

What are the input devices, What are the Input devices Various devices ...

What are the Input devices Various devices are available for data input on graphics workstations. Most systems have a keyboard and one or more additional devices specially desi

What is a subroutine, What is a subroutine? A subroutine is a named, in...

What is a subroutine? A subroutine is a named, independent section of C code that performs a particular task and optionally returns a value to the calling program.

Explain cause effect graphing, Explain cause effect graphing . Cause-ef...

Explain cause effect graphing . Cause-effect graphing is a test case design method that gives a concise representation of logical conditions and corresponding actions.  The

Explain about the network level in detail, Explain about the network level ...

Explain about the network level in detail. Network Level Firewall/Packet Filters: At the Network level firewalls operate upon the mechanism of filtering individual IP pa

What is the use of the statement leave to list-processing, What is the use ...

What is the use of the statement Leave to List-processing? Leave to List-processing statement is used to make a list from a module pool.  Leave to list processing statement per

Types of messages, Q. Types of messages? The messages can be of many ty...

Q. Types of messages? The messages can be of many types.  A specific field of all messages may be reserved to signify message type.  The message passing primitives are like thi

What is anonymous file transfer protocol, What is Anonymous File Transfer P...

What is Anonymous File Transfer Protocol? Anonymous FTP: While a FTP client contacts a server, in that case, the daemon will ask for an account number or username and it

What is application software, What is application software? Give example. ...

What is application software? Give example. Application programs are usually written in a high level programming language, in which the programmer states mathematical or text p

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