Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860
Entering Starfleet Academy - Huben's Wiki

Entering Starfleet Academy

From Huben's Wiki
Jump to: navigation, search
(Created page with "Spock here. Welcome to Starfleet! Where everybody is sexy, good-looking, healthy, brilliant, able to fight with their fists and has terrible fashion sense. And don't get me st...")
 
(Investigating Your Tricorder)
 
Line 50: Line 50:
  
 
== Investigating Your Tricorder ==
 
== Investigating Your Tricorder ==
* The first rule of investigating your Tricorder is to not activate the Corbamite Device.
+
* The first rule of investigating your Tricorder is to not activate the [http://en.wikipedia.org/wiki/Corbomite Corbomite Device].
 
* See that teeny little window?  Make it bigger.  What did you change?
 
* See that teeny little window?  Make it bigger.  What did you change?
* Coodinates in your tricorder are all first quadrant, but with a twist.  Discover the twist.  What is it?
+
* The x and y coodinates in your tricorder are all first quadrant, but with a twist.  Discover the twist.  What is it?
 
* That delicate little rectangle can also be changed.  How do you change its size and location?  Look [http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html here to see how to change the Color.]
 
* That delicate little rectangle can also be changed.  How do you change its size and location?  Look [http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html here to see how to change the Color.]
  
 
== Recursive Technology ==
 
== Recursive Technology ==
 
Since the days of early Earth Computer Science, recursion has been one of the most powerful tools for mathematics and programming.  The fundamental idea is that a method calculates USING ITSELF.  This is not circular: the logic is that a method breaks a problem into two simpler parts and then calls itself for one or both of those parts.  Such a method could lead to infinite regress, calling itself forever, except that the method must check for when the calculation can stop.  Usually the calculation can stop when it is so simple that no more recursion is needed, or because some limit is reached.
 
Since the days of early Earth Computer Science, recursion has been one of the most powerful tools for mathematics and programming.  The fundamental idea is that a method calculates USING ITSELF.  This is not circular: the logic is that a method breaks a problem into two simpler parts and then calls itself for one or both of those parts.  Such a method could lead to infinite regress, calling itself forever, except that the method must check for when the calculation can stop.  Usually the calculation can stop when it is so simple that no more recursion is needed, or because some limit is reached.
* Uncomment all the lines in recursive().
+
 
 +
We will now change our program so that it draws boxes inside boxes.
 +
* Uncomment the three commented lines in the method recursive().
 
* Run the program and note the difference!
 
* Run the program and note the difference!
*
+
* Method recursive divides the problem of drawing multilple boxes into two pieces.  It draws one box, and then uses itself to draw all the littler boxes inside.  Which statement does which?
 +
* Method recursive would try to make smaller and smaller rectangles forever, except that it stops calling itself  when the boxes get too small. 
 +
** Write an explanation of how it judges that the boxes are too small.
 +
** Test your explanation by changing a line so that it draws multiple boxes, but stops before all the possible boxes are drawn.
 +
 
 +
== Challenges! ==
 +
* In a Fibonacci sequence, each term is the sum of the previous two terms.  That's recursion: to find a term, we find the preceding two terms and add them.  That breaks the problem into two simpler parts, calling itself to calculate each of the simpler parts.  In algebra, we say fib(n) = fib(n-1) + fib(n-2).  So when do we stop?  We are told fib(1) = 1 and fib(0) = 0.  The sequence is 0, 1, 1, 2, 3, 5, 8, 13....
 +
** Write a class Fibonacci with a main() that prints fib(6).
 +
** Write a method '''public static int fib(int n)'''.  That method should return 1 if n is 1, and 0 if n is 0.  Otherwise, it should return the sum of the preceding two Fibonacci numbers.
 +
* Change the spacing of the rectangles so that they are closer or further apart.
 +
* The rectangle shrink concentrically.  Make them shrink eccentrically, to one corner or another.
 +
* Can you make the rectangles change color as they shrink?

Latest revision as of 12:13, 25 October 2012

translate