Programming Assignment Checklist: Loops
Frequently Asked Questions
|
What are the goals of this assignment?
To write several small Java programs so that you get accustomed to:
using conditionals, loops, arrays, and to debugging your code.
What preparation do I need before beginning this assignment?
Read Section 1.3 and 1.4 of the textbook.
You may also find it instructive to work through some of the other
exercises and look at the solutions on the
booksite afterwards.
How should I format my Java code?
Follow the style from
lecture and the booksite.
How much do I need to comment my code?
Follow the style from
lecture and the booksite.
What's a fair die?
It should return an integer between 1 and 6 with equal probability.
Submission.
After you have submitted all of the required files,
the "Run Script" button on the submission system will appear.
Be sure to hit the button and check that you submitted the
right files and they compile cleanly.
These are purely suggestions for how you might make progress. You do
not have to follow these steps. The key to writing correct programs is
to develop them incrementally, testing after each step.
A drunkard's walk.
This is similar in many ways to the gambler's ruin example from
lecture and the textbook. The key to building a larger program
is developing it incrementally.
- Random walker.
First, think about what variables you need to maintain.
You certainly need to read in and store the command-line argument N.
You also need to store the current location (x, y) of the random walker.
What should be the type of the variables x and y?
What should be their initial values?
To choose a random direction, consider using the idiom from Section 1.2 to
generate a random integer in a given range.
-
Random walkers.
To get started, copy RandomWalker.java to a file RandomWalkers.java.
Now, think about what additional variables you need to maintain.
You certainly need to read in and store the command-line arguments N
and T.
In addition to the current location (x, y) of the random walker, you
need an accumulator variable, say totalSquaredDist, that stores the total
sum of squared distances so far.
Nest the loop inside an outer loop that repeats T times and add code
to update totalSquaredDist after each time through the outer loop.
Dice and the Gaussian distribution.
-
Write a program that prints the result of rolling one fair die.
To generate a random die roll, use the idiom from Section 1.2 to generate a random integer
between 0 and N-1, and modify it slightly to get one in the desired range.
-
Add a loop to print the sum of rolling 10 fair dice.
-
Add a second loop to repeat this N times,
printing out the sum after each trial. (This printing of the sum
is for testing purposes only. Remember to remove it from your
final version.)
-
Maintain an array a[] so that
a[k] stores the number of times the sum is exactly k.
Here are some famous and not-so-famous
quotations
about learning to program.
COS 126 Assignments
Kevin Wayne