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

What are the types of parallel programming, Q. What are the types of parall...

Q. What are the types of parallel programming? There are various parallel programming models in general use. A few of them are:  Data Parallel programming Message P

Tcp connection , a) What command do you use to file all active and availabl...

a) What command do you use to file all active and available sockets? These should also contain UNIX domain sockets, which are primarily used for local connections.   b) What sta

The voltage of telephone given by telephone companies, Telephone companies ...

Telephone companies normally provide a voltage of to power telephones? Telephone companies usually give a voltage of to power telephones -48 volts DC.

Compare the cocomo model with the detailed cocomo model, Compare the basic ...

Compare the basic COCOMO model with the detailed COCOMO model. COCOMO having of a hierarchy of three increasingly detailed and accurate forms. -  Basic COCOMO - is a stati

Operating sustem, describe the action by thread library to context switch ...

describe the action by thread library to context switch between user level threads

Technology enablers - information system, Technology Enablers - Information...

Technology Enablers - Information System The progression described above has been enabled by five main factors: Increases in processing capability allowing smaller and

Illustrate shift micro-operations, Q. Illustrate Shift Micro-operations? ...

Q. Illustrate Shift Micro-operations? Shift is a valuable operation that can be used for serial transfer of data. These operations can also be used along with other (arithmetic

C++, Byteland county is very famous for luminous jewels. Luminous jewels ar...

Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

Example of frames format with ethernet, Compute the number of Ethernet fram...

Compute the number of Ethernet frames formed for a data of 64 KB IP packet. Following figure demonstrates the format of the Ethernet frame. Here maximum data into a frame is 15

Conversion of decimal number 25.5 into binary number, Conversion of decimal...

Conversion of decimal number 25.5 into binary number Ans. There is integer part is 25 and fractional part is 0.5.  Firstly convert the integer part 25 in its equal to binary numb

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