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

Determine frequency of a dtmf phone, In a DTMF phone a dialling of 8 genera...

In a DTMF phone a dialling of 8 generates (A) 1336 Hz- 770 Hz                      (B)  1209 Hz - 1477 Hz (C)  1209 Hz- 941 Hz                     (D)  1336 Hz-852 Hz

Describe about relationships and look up fields, Relationships are imported...

Relationships are imported from the source to finish without any hindrance but once they land in the destination they can never be changed or changed and change of extensions canno

Algorithms, Design an algorithm (using pseudocode) that takes in as an inpu...

Design an algorithm (using pseudocode) that takes in as an input, two 2-D int arrays that are assumed to be 2 black-and-white images: initialImage x, whose dimensions are IxJ, and

Subtraction using 2's complement method of binary number, Subtraction of 00...

Subtraction of 0011.1001 - 0001.1110 using 2's complement method Ans. Firstly 1's complement of 0001.1110 is 1110.0001 and 2's complement is 1110.0010. If a last carry

How to change default drive in dos, Q. How to Change Default Drive in dos? ...

Q. How to Change Default Drive in dos? To modify a default drive type the new drive letter followed by colon (:) and then press Enter.  For example, if the default drive is A a

Cluster computing, The concept of clustering is definite as the use of mult...

The concept of clustering is definite as the use of multiple computers, typically PCs or multiple storage devices, UNIX workstations, and their interconnections, to form what appea

Multi-layer artificial neural networks, Multi-Layer Artificial Neural Netwo...

Multi-Layer Artificial Neural Networks - Artificial intelligence: Now we can look at more sophisticated ANNs, which are known multi-layer artificial neural networks because the

Comparison between risc and cisc - computer architecture, Comparison betwee...

Comparison between risc and cisc - computer architecture: CISC  Emphasis on hardware  Includes multi-clock complex instructions  Memory-to-memory

AWS, hosting on aws

hosting on aws

Explain the linux from scratch system, Problem 1 (a) Explain the RAID ...

Problem 1 (a) Explain the RAID system and explain all possible configurations. (b) Summarize design goals, features and specifications of the Linux ext2 file system. (c

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