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

Nand gate, The NAND gate. The NAND gate is equivalent to an AND gate fo...

The NAND gate. The NAND gate is equivalent to an AND gate followed by a NOT gate so that the output is 0 when all of the inputs are high, otherwise the output is 1. There may

Elements of composition, The Elements of composition are the formal languag...

The Elements of composition are the formal language used to communicate in the visual arts. The elements of composition can be loosely broken into 5 main elements, Line, shape, val

Important parameters for transmitting data, For this project, we hope to us...

For this project, we hope to use the basic idea of InfraRed (IR) communication for our television in ES103.  In ES103, we have a Sony large-screen television that we hope to commun

State the term- interviewing, State the term- Interviewing This involv...

State the term- Interviewing This involves a one to one question & answer session between analyst and customer/employee. A good method if analyst wants to probe deeply into on

Dialog-task updates, Dialog-task updates are Synchronous updates.

Dialog-task updates are Synchronous updates.

Variable-partition multiprogramming, Choose the descriptions below with the...

Choose the descriptions below with the most appropriate memory management scheme (A through D).  Solutions may be used once, more than once, or not at all. A.     Fixed-partitio

Define the thread libraries, Q. Define the Thread libraries? The most d...

Q. Define the Thread libraries? The most distinctive representatives of shared memory programming models are thread libraries present in most of modern operating systems. Illus

Where time synchronization is necessary, Time synchronization is necessary ...

Time synchronization is necessary in? Time synchronization is essential in TDM.

Single instruction and multiple data stream (simd), Single Instruction and ...

Single Instruction and Multiple Data stream (SIMD) In this organisation, multiple processing elements are working under the control of a one control unit. It has multiple data

Timing in mpi program, Q. Timing in MPI program? MPI_Wtime ( ) returns ...

Q. Timing in MPI program? MPI_Wtime ( ) returns lapsed wall clock time in seconds because some random point in past. Elapsed time for program section is given by difference bet

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