- Parent Category: Programming Assignments' Solutions
We Helped With This MATLAB Programming Assignment: Have A Similar One?
|More Info||Matlab Programming Help|
Short Assignment Requirements
Guide to Mini Projects
Mini Projects are larger, multi-week assignments that we give in this class. Here is a brief guide to successfully approaching them. Timeline
Mini projects are usually assigned at least 2 weeks before their associated project quiz in recitation (or virtual for online students). They will usually tie together topics from those weeks. You may be assigned a Mini Project before you know everything you need to know to complete it, but you will usually know enough to at least start a mini project when it is assigned.
It is a very bad idea to leave Mini Projects to the last minute. We recommend working on them in class, and asking questions as they come up.
We recommend this iterative procedure for writing code for Mini Projects:
1. Brainstorm about where to begin. If you are not sure of exactly what to do, write down a list of concepts you think you will have to apply, and try to figure out where/how you will apply them.
2. Write down a list of all of the objectives of the assignment. What should your program be able to do?
3. Write a prototype program.
4. Come up with test cases that test everything your program is supposed to do.*
5. Test your program. Identify any potential problems.
6. Debug problems. Always debug by yourself first, then ask for help.
7. Update code and retest.
8. Continue until you are done.
*Testing Your Own Code
As is mentioned above, you will need to test your own code for projects, and we will not provide you with any test cases beyond instructional exampls. You will be responsible for determining what should occur for a given set of inputs, and for coming up with additional code that will help you successfully test your program. This is an important step in learning how to program.
Comments and Style
Code for your Mini Projects should be commented, and use good style. As there are multiple ways to complete every Mini Project, you must be clear to your grader, through comments and style, in describing exactly what each variable and programming structure is supposed to accomplish. We will ask you to submit your comments during project quizzes Collaborators
Mini Projects are individual assignments. While we acknowledge that you will, and allow you to, discuss the project with other students, know that you will be held individually responsible for all the required knowledge of the project and its essential concepts during project quizzes. This means that you should do as much independent work as possible to set yourself up for success on the projects.
Project code may be submitted during quizzes. We may not ask you to submit your whole program, so play close attention to quiz questions.
Before reading this assignment, remember that the Guide to Mini Projects is ALWAYS part of the instructions for EVERY Mini Project Assignment. Please go back and read it before beginning. Mini Project #2 – Bus Routes
You are working for a city, and want to set up a system for better understanding the needs of the busses running on certain routes. Using demographic data and technical specifications of busses, the city has created data structures for each city bus with the following properties that do not change:
bus.mass – The mass of the buss
bus.passMass – The average mass of a passenger on a route bus.engine – The amount of force the bus’s engine puts out on average
In addition, you have added the following property to the structure for simulation purposes. This property can change: bus.numPass – The number of passengers on the bus.
The city wants you to do some calculations on the amount of work buses have to do on bus routes, given the number of passengers entering and leaving busses. You will write a function called busSim that will take the following inputs:
bus – A structure with the format defined above. You can assume that it will start with a certain number of passengers on board. passOn – An array that contains only integers. This is the number of passengers that get on at each stop.
passOff – An array that contains only integers and is the same length as passOn. This is the number of passengers that get off at each stop.
distance – An array that contains real numbers that is the same length as passOn containing the distance the bus has to travel after each bus stop to get to the next stop.
It should return the following ouputs:
bus – An updated version of the input structure with the final number of passengers.
passRecord – An array with the same length ad passOn with the number of passengers after each bus stop.
totalWork – A real number that is the total amount of work the bus’s engine has had to put out on the entire trip. You can assume that passengers will board and leave the bus at the first stop before you have to make the first work calculation. You should therefore make as many work calculations as there are elements in each of the input arrays.
Additional Code – Data Entry Errors
Your function should work with any inputs that are of the correct input data types, even if they contain errors. You should handle those errors in the following ways:
- If your input arrays are not all the same length you should only do calculations up to the index of the shortest array.
- If the number of passengers would ever go below 0, it should instead be set to 0.
- If the number of passengers would ever be a non-integer value, it should instead be rounded up to the nearest integer.
- If a distance is listed as negative, treat it as positive
You can assume the following and do not have to check for them:
- Masses will always be positive
- Engines will always put out positive force
- The numbers in passOn or passOff will always be non-negative