Scheduling of Tiled Nested Loops onto a Cluster with a Fixed Number of SMP Nodes
Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7....
Transcript of Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7....
![Page 1: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/1.jpg)
Nested For Loops and Intro to Graphics
CS106A, Summer 2019Sarai Gould && Laura Cruz-Albrecht
Lecture 7
![Page 2: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/2.jpg)
Announcements
● Assignment 1 was due at 10am this morning.● Assignment 2 is going out right after lecture!
○ Assignment 2 is due at 10am on Wednesday, July 10th.
● No lecture or sections Thursday for 4th of July. ○ If your section in cancelled, please try to attend a Wednesday
section or Friday’s section (11:30am in Skilling Auditorium)● No LaIR Wednesday, July 3rd due to Holiday.
2
![Page 3: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/3.jpg)
Announcements
● When emailing instructors, always email both of us!○ We have a joint email: [email protected]
● If you don’t have a discussion section, please email both instructors ASAP to be placed in a section.
3
![Page 4: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/4.jpg)
Plan for Today
● Review: Methods ● Nested For Loop with Ascii● Intro to Graphics Program - Our First Graphics Program!● Checkerboard● Infinite Loops
4
![Page 5: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/5.jpg)
Review: Making Sandwiches
5
/* We will make Java a sandwich.
* Pre: n/a
* Post: We will have a completed sandwich.
*/
private food makeASandwich(food bread, food veg, food protein, food spread){
food sandwich = bread + veg + protein + spread + bread;
return sandwich;}
![Page 6: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/6.jpg)
Review: Parameters and Return Statements
6
/* We will do x, y, and z actions and return methodType data
* Pre: What we assume is true beforehand.
* Post: What we promise is true afterwards.
*/
visibility methodType methodName(paramType1 paramName1, paramType2 paramName2){
commands;
return dataThatIsMethodType;}
![Page 7: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/7.jpg)
Review: Return Statements
7
public void run(){
double average = calculateAverage(5, 10);println(“The average is: ” + average);
}
private double calculateAverage(double num1, double num2){
println(“I can also do actions!”);println(“I also HAVE to return a double because that’s the method type!”);
double sum = num1 + num2;return sum / 2; // This will equal 7.5
}
calculateAverage(5, 10);
7.5
I can also do actions!I also HAVE to return a double because that’s the method type!The average is 7.5
![Page 8: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/8.jpg)
Review: Return Statements
8
public void run(){
double average = 7.5;println(“The average is: ” + average);
}
private double calculateAverage(double num1, double num2){
println(“I can also do actions!”);println(“I also HAVE to return a double because that’s the method type!”);
double sum = num1 + num2;return sum / 2; // This will equal 7.5
}
average
7.5
I can also do actions!I also HAVE to return a double because that’s the method type!The average is 7.5
![Page 9: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/9.jpg)
Review: Scope
9
public void run(){
int newVariable = 0; // I am born!.........
} // I hope I haven’t bored you. Goodbye.
Scope is the idea that variables only exist inside a certain block of code.
In Java, a variable is born when it is declared.
A variable terminates when it hits the ending bracket of the code block in which it was declared.
![Page 10: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/10.jpg)
A Variable Love Story: Scope
10
The variable only exists from its declaration to the end of its current code block.
while (conditionAIsTrue){
if (conditionBIsTrue){
...
int newVariable = 0; // I am!...
} // I’m bored with it all. Goodbye.
}
int newVariable = 0; // I am born!...
![Page 11: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/11.jpg)
A Variable Love Story: Scope
11
It doesn’t exist before it’s declared, and it doesn’t exist outside of its current code block!
while (conditionAIsTrue){
if (true){
...
int newVariable = 0; // I am born!...
} // I’m bored with it all. Goodbye.
}
while (conditionAIsTrue){
if (conditionBIsTrue){
...
println(newVariable);
![Page 12: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/12.jpg)
Review: For Loop
12
for (int i = 0; i < 3; i++) {
println(“I love CS106A!”);
}
This code is run once, just before the for loop starts
Repeats the loop if this condition
passes
This code is run each time the code gets to the end of the “body”
I love CS106A!I love CS106A!I love CS106A!
![Page 13: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/13.jpg)
Let’s Make Some Art!
13
![Page 14: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/14.jpg)
Dot Art
14
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 15: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/15.jpg)
Dot Art
15
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
How can we do this?
![Page 16: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/16.jpg)
Dot Art
16
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
How can we do this?
We use for loops to repeat an action a set number of times.
Let’s try it!
![Page 17: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/17.jpg)
Dot Art
17
public void run(){
drawDotArt();}
private void drawDotArt(){
}
Pseudocode:Repeat 10 times:
Draw a line of 7 stars
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 18: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/18.jpg)
Dot Art
18
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 10; i++) {
}
}
Pseudocode:Repeat 10 times:
Draw a line of 7 stars
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 19: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/19.jpg)
Dot Art
19
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 10; i++) {println(“* * * * * * *”);
}
}
Pseudocode:Repeat 10 times:
Draw a line of 7 stars
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 20: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/20.jpg)
Dot Art
20
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 10; i++) {println(“* * * * * * *”);
}
}
Pseudocode:Repeat 10 times:
Draw a line of 7 stars
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
This line seems a little repetitive. How can we use code to make
this less repetitive?
![Page 21: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/21.jpg)
Dot Art: Nested For Loops
21
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 11; i++) {println(“* * * * * * *”);
}
}
Pseudocode:Repeat 10 times:
Repeat 7 times:Draw a star
Make a new line
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 22: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/22.jpg)
Dot Art: Nested For Loops
22
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 11; i++) {for (int j = 0; j < 7; j++) {
}}
}
Pseudocode:Repeat 10 times:
Repeat 7 times:Draw a star
Make a new line
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 23: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/23.jpg)
Dot Art: Nested For Loops
23
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 11; i++) {for (int j = 0; j < 7; j++) {
print(“*”);}
}
}
Pseudocode:Repeat 10 times:
Repeat 7 times:Draw a star
Make a new line
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 24: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/24.jpg)
Dot Art: Nested For Loops
24
public void run(){
drawDotArt();}
private void drawDotArt(){
for (int i = 0; i < 11; i++) {for (int j = 0; j < 7; j++) {
print(“*”);}println();
}
}
Pseudocode:Repeat 10 times:
Repeat 7 times:Draw a star
Make a new line
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 25: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/25.jpg)
Let’s Code It!
25
![Page 26: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/26.jpg)
Dot Art: Nested For Loops
26
public void run(){
int rows = readInt(“How many rows?”);
int cols = readInt(“How many cols?”);
drawDotArt(rows, cols);}
private void drawDotArt(int r, int c){
for (int i = 0; i < r; i++) {for (int j = 0; j < c; j++) {
print(“*”);}println();
}
}
We’ve added parameters so we can take our user input and pass it into our method.
r will equal rows and c will equal cols.
![Page 27: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/27.jpg)
Can Dots be Art?
27
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
![Page 28: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/28.jpg)
Isn’t This Art???
28
Not really the same, but okay...
![Page 29: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/29.jpg)
Speaking of Art...
29
![Page 30: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/30.jpg)
Let’s Look at Some Graphics Programs!
30
Program
Karel Program Console Program Graphics Program
![Page 31: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/31.jpg)
Let’s Look at Some Graphics Programs!
31
![Page 32: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/32.jpg)
As We’re Learning: JavaDocs!
32
![Page 33: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/33.jpg)
As We’re Learning: JavaDocs!
33
We don’t expect you to memorize everything! Use the graphics library documentation to look up methods you can use in graphics programs!
![Page 34: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/34.jpg)
Our First Graphics Object: GRect
34
A GRect is a variable type that stores a rectangle.
As an example, the following code displays a blue square.
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
rect
![Page 35: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/35.jpg)
Our First Graphics Object: GRect
35
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
![Page 36: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/36.jpg)
Our First Graphics Object: GRect
36
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
![Page 37: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/37.jpg)
Our First Graphics Object: GRect
37
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
![Page 38: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/38.jpg)
Our First Graphics Object: GRect
38
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
rect
![Page 39: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/39.jpg)
Our First Graphics Object: GRect
39
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
rect
![Page 40: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/40.jpg)
Our First Graphics Object: GRect
40
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
rectNote: The GRect is created, but hasn’t been added to the screen.
![Page 41: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/41.jpg)
Our First Graphics Object: GRect
41
public void run(){
drawBlueSquare();}
private void drawBlueSquare(){GRect rect = new GRect(200, 200);rect.setFilled(true);rect.setColor(Color.BLUE);add(rect, 50, 50);
}
rect
![Page 42: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/42.jpg)
Java Coordinate System
42
x
yNote: The y coordinate gets bigger as we go down. This is opposite of how it acts in most math classes!
![Page 43: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/43.jpg)
Our First Graphics Challenge
43
![Page 44: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/44.jpg)
Checkerboard
44
![Page 45: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/45.jpg)
Our First Graphics Challenge
45
What’s the Pseudocode?
![Page 46: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/46.jpg)
Our First Graphics Challenge
46
What’s the Pseudocode for drawing the first row of boxes?
![Page 47: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/47.jpg)
Our First Graphics Challenge
47
What’s the Pseudocode for drawing the first row of boxes?
repeat for 8 columns: draw a box(x location is col# * box size)(y location is 0)add the box to the screen
![Page 48: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/48.jpg)
Our First Graphics Challenge
48
How can we change the Pseudocode to draw all of the boxes?
repeat for 8 columns: draw a box(x location is col# * box size)(y location is 0)add the box to the screen
![Page 49: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/49.jpg)
Our First Graphics Challenge
49
Pseudocode for drawing all of the boxes:
repeat for 8 rows: repeat for 8 columns:
draw a box(x location is col# * box size)(y location is row# * box size)add the box to the screen
![Page 50: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/50.jpg)
Our First Graphics Challenge
50
How can we change the Pseudocode to fill in the correct boxes?
repeat for 8 rows: repeat for 8 columns:
draw a box(x location is col# * box size)(y location is row# * box size)add the box to the screen
![Page 51: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/51.jpg)
Our First Graphics Challenge
51
Pseudocode for filling the correct boxes:
repeat for 8 rows: repeat for 8 columns:
draw a box(x location is col# * box size)(y location is row# * box size)If row+column is odd:
color the box blackadd the box to the screen
![Page 52: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/52.jpg)
Let’s Code It!
52
![Page 53: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/53.jpg)
Infinite Loops
53
What’s an infinite loop?
![Page 54: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/54.jpg)
Infinite Loops
54
Infinite loops are loops that never end.
Why would this ever happen?
![Page 55: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/55.jpg)
Example: Infinite Loops
55
What is wrong with this loop?
int answer = readInt(“What is 1 + 1?”);
while (answer != 2){
println(“Wrong answer! Try again”);}
![Page 56: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/56.jpg)
Example: Infinite Loops
56
What is wrong with this loop?
It doesn’t give the user a chance to change their answer.
int answer = readInt(“What is 1 + 1?”);
while (answer != 2){
println(“Wrong answer! Try again”);}
![Page 57: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/57.jpg)
Example: Infinite Loops
57
What is wrong with this loop?
It doesn’t give the user a chance to change their answer.
This means the while loop will never end! This is effectively a while(true) loop!
int answer = readInt(“What is 1 + 1?”);
while (answer != 2){
println(“Wrong answer! Try again”);}
![Page 58: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/58.jpg)
Example: Infinite Loops
58
How can we fix it?int answer = readInt(“What is 1 + 1?”);
while (answer != 2){
println(“Wrong answer! Try again”);}
![Page 59: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/59.jpg)
Example: Infinite Loops
59
How can we fix it?
We can add a line where we give the user a chance to change their answer!
int answer = readInt(“What is 1 + 1?”);
while (answer != 2){
println(“Wrong answer! Try again”);answer = readInt(“What is 1 + 1?”);
}
![Page 60: Nested For Loops and Intro to Graphics · Nested For Loops and Intro to Graphics ... Lecture 7. Announcements Assignment 1 was due at 10am this morning. Assignment 2 is going out](https://reader035.fdocuments.us/reader035/viewer/2022071007/5fc4ef1ccc284054872897f8/html5/thumbnails/60.jpg)
Plan for Today
● Review: Methods ● Nested For Loop with Ascii● Intro to Graphics Program - Our First Graphics Program!● Checkerboard● Infinite Loops
Reminders:● Assignment 2 is due at 10am on Wednesday, July 10th.● No lecture or sections Thursday for 4th of July. ● No LaIR Wednesday, July 3rd due to Holiday.
60