Programming Assignment 3 Paging Mr. Otis Solution

$35.00 $29.00

Description: For this assignment, you will write several Python classes to simulate an elevator. Details: Your simple elevator simulator will control a single elevator in a building. You will implement two strategies: a default strategy and one that you design. The default strategy is very straightforward: the elevator starts at a random oor, travels to…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Description

5/5 – (2 votes)

Description: For this assignment, you will write several Python classes to simulate an elevator.

Details: Your simple elevator simulator will control a single elevator in a building. You will implement two strategies: a default strategy and one that you design. The default strategy is very straightforward: the elevator starts at a random oor, travels to the top oor, reverses direction and continues until all passengers have been picked up and dropped o . You should track the number of oors the elevator travels to service all requests. Note that passengers only get on the elevator when it is traveling in the direction of their desired oor.

The following will help you design your code:

Implement three classes: Building, Elevator, and Passenger. See below for more details.

Your program will prompt the user to enter the number of oors in the building and the number of passengers. The inputs should be veri ed as valid (positive integers). If they are invalid, the user should be asked to re-enter them.

1

Each passenger is on a oor chosen at random. Their destination oor is also chosen at random.

Each passenger rides the elevator exactly one time.

Every time the elevator moves you will print a representation of the building showing every oor and all of the passengers on that oor including those waiting for the elevator and those that have already exited the elevator.

The simulation ends when all passengers have reached their destination oors. Do not use any global variables.

The Classes: Each of the three classes will have the data attributes and methods listed below. You may add others.

Class

Attribute/Method

Description

Building

num

oors

Number of oors in the building

passenger

list

List of passengers

elevator

The building’s elevator (object)

run(self)

Method that operates the elevator

output(self)

Prints the building

Elevator

num

oors

Number of oors in the building

register

list

List of customers in the elevator

curr

oor

Current oor the elevator is on

direction

Direction of travel

move(self)

Method to move the elevator one oor

reg

pass(self, passenger)

Passenger enters elevator

exit

pass(self, passenger)

Passenger exits elevator

Passenger

src

oor

Passenger’s starting oor

dest

oor

Passenger’s destination oor

direction

Passenger’s director of travel

id

Passenger’s ID

in

elevator

Indicates if passenger is in elevator

done

Indicates if passenger arrived and exited

2

Adhere to common coding conventions and comment your code.. Include a comment at the top that looks like this:

#

  • CS 224 Spring 2019

  • Programming Assignment 3

  • Your wonderful, pithy, erudite description of the assignment.

  • Author: Your name here

  • Date: March 13, 2019

#

Submission: The name of your program must be otis.py. Submit your solution as a compressed directory by 11:59 PM on the due date. In addition to the program, you must submit a README le that describes your elevator strategy and compares its performance to that of the default strategy.

3

Programming Assignment 3 Paging Mr. Otis Solution
$35.00 $29.00