CS111 Jeopardy Fall 2006 CS111 Jeopardy Fall 2006 p.1/22 - - PowerPoint PPT Presentation

cs111 jeopardy
SMART_READER_LITE
LIVE PREVIEW

CS111 Jeopardy Fall 2006 CS111 Jeopardy Fall 2006 p.1/22 - - PowerPoint PPT Presentation

CS111 Jeopardy Fall 2006 CS111 Jeopardy Fall 2006 p.1/22 Gameboard Conditionals/ Worlds Bugs Potpourri Recursion 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 CS111 Jeopardy Fall 2006 p.2/22 Conditionals/Recursion 1


slide-1
SLIDE 1

CS111 Jeopardy

Fall 2006

CS111 Jeopardy Fall 2006 – p.1/22

slide-2
SLIDE 2

Gameboard

Conditionals/ Recursion Worlds Bugs Potpourri

1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5

CS111 Jeopardy Fall 2006 – p.2/22

slide-3
SLIDE 3

Conditionals/Recursion 1

This is the part of a recursive method that guarantees the recursion will terminate. Back

CS111 Jeopardy Fall 2006 – p.3/22

slide-4
SLIDE 4

Conditionals/Recursion 2

This is the expression exp that makes the the single statement return exp; equivalent to the following statement: if (b == false) { return true; } else { return false; } Back

CS111 Jeopardy Fall 2006 – p.4/22

slide-5
SLIDE 5

Conditionals/Recursion 3

This is the output of the following code snippet when x has the value 16: if ((x > 5) && (x <= 15)) { System.out.println("Swiss Cheese"); } else { if ((x % 2)== 0) { System.out.println("American Cheese"); } else { System.out.println("Cheese Whiz"); } } Back

CS111 Jeopardy Fall 2006 – p.5/22

slide-6
SLIDE 6

Conditionals/Recursion 4

Given the recursive method below, this is the value of tunnel(10). public static int tunnel (int n) { if (n<=1) { return 0; } else { return 1 + tunnel(n/2); } } Back

CS111 Jeopardy Fall 2006 – p.6/22

slide-7
SLIDE 7

Conditionals/Recursion 5

This is a Buggle method that will drop bagels all the way to the wall, which is an unknown distance away. Bagels are dropped in all cells in front of the Buggle, but not under the Buggle’s current cell. This method maintains a position and heading invariant. Back

CS111 Jeopardy Fall 2006 – p.7/22

slide-8
SLIDE 8

Worlds 1

This is how to set Buggle becky’s position at (2,2) in BuggleWorld (assume that Becky is already created as a Buggle object). Back

CS111 Jeopardy Fall 2006 – p.8/22

slide-9
SLIDE 9

Worlds 2

Suppose that w is a PictureWorld picture of the wedge shown below in Figure 1. This is a PictureWorld expression that denotes the picture in Figure 2.

Figure 1 Figure 2

Back

CS111 Jeopardy Fall 2006 – p.9/22

slide-10
SLIDE 10

Worlds 3

This is a definition of the buggle method satisfying the following contract: public void forwardTurningLeft(int n); Moves the buggle forward a total of n spaces, turning left whenever the buggle encounters a wall. (Turning does not count as “moving forward a space”.) Back

CS111 Jeopardy Fall 2006 – p.10/22

slide-11
SLIDE 11

Worlds 4

This is a definition of the buggle method satisfying the following contract: public boolean canGoForwardBy (int n); Returns true if the buggle would not encounter a wall in forward(n), and false otherwise. Executing this method should leave the state of the buggle unchanged. Back

CS111 Jeopardy Fall 2006 – p.11/22

slide-12
SLIDE 12

Worlds 5

This is the picture drawn by invoking the turtle method pattern(40) on a new turtle, where pattern is defined as follows:

public void pattern (int n) { if (n < 10) { fd(n) } else { pattern(n/2); lt(90); fd(n); bd(n); rt(90); pattern(n/2);}}

Back

CS111 Jeopardy Fall 2006 – p.12/22

slide-13
SLIDE 13

Bugs 1

This is a bug in the following Buggle method:

public void jello (int n) { if (n = 0) { dropBagel(); } else { forward(); jello(n - 1); backward(); } }

Back

CS111 Jeopardy Fall 2006 – p.13/22

slide-14
SLIDE 14

Bugs 2

This is a bug in the following turtle method: public void crazy (int n) { if (n > 0) { fd(n); lt(45); crazy(n); rt(45); } } Back

CS111 Jeopardy Fall 2006 – p.14/22

slide-15
SLIDE 15

Bugs 3

This is a bug in the following Buggle method: public void dance (int n, Color c) { if ((n > 1) && !(isFacingWall())){ forward(); dance(c, n-2); backward(); } } Back

CS111 Jeopardy Fall 2006 – p.15/22

slide-16
SLIDE 16

Bugs 4

This is a bug in the following turtle method; public int spiral (int n) { if (n == 0) { return 0; } else { fd(n); lt(90); spiral(n/2); rt(90); bd(n); } } Back

CS111 Jeopardy Fall 2006 – p.16/22

slide-17
SLIDE 17

Bugs 5

This is the bug in the code below:

public int eatBagels() { if (isFacingWall()) { return 0; } else { forward(); eatBagels(); int count = eatBagels(); if (isOverBagel()) { pickUpBagel(); backward(); return 1 + count; } else { backward(); return count; } } }

Back

CS111 Jeopardy Fall 2006 – p.17/22

slide-18
SLIDE 18

Potpourri 1

In the Java Execution Model, this is created when an instance method is invoked. Back

CS111 Jeopardy Fall 2006 – p.18/22

slide-19
SLIDE 19

Potpourri 2

This is the object that all sticker superheroes have in hand. Back

CS111 Jeopardy Fall 2006 – p.19/22

slide-20
SLIDE 20

Potpourri 3

Mystery audio question! Identify the song! Back

CS111 Jeopardy Fall 2006 – p.20/22

slide-21
SLIDE 21

Potpourri 4

This is the value of the expression legal(methodB(4)), given the two contracts: public int methodB (int n); Returns n multiplied by 5. public boolean legal(int n); Returns true if n is greater than or equal to 21 and false otherwise. Back

CS111 Jeopardy Fall 2006 – p.21/22

slide-22
SLIDE 22

Potpourri 5

This is what countBagels() returns for the following method definition given the configuration shown on the board.

public int countBagels() { int n = 0; if (isFacingWall()) { return n; } else { forward(); if (isOverBagel()){ n = n + 1;} countBagels(); backward(); return n; } }

Back

CS111 Jeopardy Fall 2006 – p.22/22