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

Define dynamic linking, Define dynamic linking.  Dynamic linking is sam...

Define dynamic linking.  Dynamic linking is same to dynamic loading, rather that loading being postponed unless execution time, linking is postponed. This feature is usually us

Can we specify the next screen number with a variable, Can we specify the n...

Can we specify the next screen number with a variable:- Yes, we can specify the next screen number with a variable.

How to select valid lines for secondary list, How to select valid lines for...

How to select valid lines for secondary list? To stop the user from selecting invalid lines, ABAP/4 offers various possibilities.  At the end of the processing block END-OF-SEL

Define the information system, Define the Information System Growi...

Define the Information System Growing sophistication in products and markets is driving the organisational requirement for increasing amounts of information. This req

Illustration what is the cause of brownian motion, Q. Illustration what is ...

Q. Illustration what is the cause of Brownian motion? Answer:- Molecules in a gas move freely, randomly, constantly in all directions and at high speeds. They are capable

Explain the ccitt hierarchical structure of switching, Explain the CCITT hi...

Explain the CCITT hierarchical structure of switching using block schematic. Hierarchical network are able of handing heavy traffic where needed, and at similar time use mini

Illustrate process of swapping system, What does the swapping system do if ...

What does the swapping system do if it identifies the illegal page for swapping? If the disk block descriptor does not have any record of the faulted page, then this causes the

What is public-key infrastructures, a. What are the differences among conve...

a. What are the differences among conventional signatures and digital signatures? Write a short note on "Attacks on digital signature". b. What is Public-Key Infrastructures

Write a linux terminal shell, Write a Linux terminal shell. Your shell shou...

Write a Linux terminal shell. Your shell should act similar to bash. At a high level, your shell should accomplish the following: 1. Print a prompt when waiting for input from t

Explain message switching, Explain Message switching. Recourse computer...

Explain Message switching. Recourse computer sends data to switching office that stores the data into buffer and seems for a free link. Sends link to other switching office, if

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