Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 34 |Likes:
Published by minhhai2209

More info:

Published by: minhhai2209 on Feb 18, 2009
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Mehran Sahami
Handout #12
CS 106A
October 3, 2008
Assignment #2: Simple Java Programs
Due: 3:15pm on Monday, October 13th
Portions based on a handout by Eric Roberts
Your job in this assignment is to write programs to solve each of these six problems.

1. Write aGraphicsProgram subclass that draws a pyramid consisting of bricks arranged in horizontal rows, so that the number of bricks in each row decreases by one as you move up the pyramid, as shown in the following sample run:

The pyramid should be centered at the bottom of the window and should use
constants for the following parameters:
The width of each brick (30 pixels)
The height of each brick (12 pixels)
The number of bricks in the base (14)
The numbers in parentheses show the values for this diagram, but you must be able
to change those values in your program.
\u20132 \u2013
2.Suppose that you\u2019ve been hired to produce a program that draws an image of an
archery target\u2014or, if you prefer commercial applications, a logo for a national
department store chain\u2014that looks like this:

This figure is simply threeGOval objects, two red and one white, drawn in the correct order. The outer circle should have a radius of one inch (72 pixels), the white circle has a radius of 0.65 inches, and the inner red circle has a radius of 0.3 inches. The figure should becen tered in the window of aGraphicsProgram subclass.

3. Write aGraphicsProgram subclass that draws a partial diagram of theacm.program
class hierarchy, as follows:
The only classes you need to create this picture areGRect,GLabel, andGLine. The
major part of the problem is specifying the coordinates so that the different elements
\u20133 \u2013
of the picture are aligned properly. The aspects of the alignment for which you are
responsible are:
\u2022 Thew id th andh eigh t of the class boxes should be specified as named constants

so that they are easy to change. You should determine reasonable values for these constants to make your picture look similar (but, it need not be exact) to the figure above.

\u2022 The labels should becen tered in their boxes. You can find the width of a label by
callinglabel.getWidth() and the height it extends above the baseline by calling
label.getAscent(). If you want to center a label, you need to shift its origin by
half of these distances in each direction.
\u2022 The connecting lines should start and end at the center of the appropriate edge of
the box.
\u2022 The entire figure should becen tered in the window.
4. In high-school geometry, you learned the Pythagorean theorem for the relationship of
the lengths of the three sides of a right triangle:
a2+ b2= c2
which can alternatively be written as:
Most of this expression contains simple operators covered in Chapter 3. The one
piece that\u2019s missing is taking square roots, which you can do by calling the standard
functionMath.sqrt. For example, the statement
double y = Math.sqrt(x);
setsy to the square root ofx.

Write aConsoleProgram that accepts values fora andb asdoubles (you can assume thata andb will be positive) and then calculates the solution ofc as adouble. Your program should be able to duplicate the following sample run:

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->