1 BUILDING JAVA PROGRAMS CHAPTER 2 Pseudocode and Scope.

Slides:



Advertisements
Similar presentations
Nested for loops Cont’d. 2 Drawing complex figures Use nested for loops to produce the following output. Why draw ASCII art? –Real graphics require a.
Advertisements

Copyright 2006 by Pearson Education 1 reading: 4.1 Cumulative sum.
Copyright 2008 by Pearson Education 1 Class constants and scope reading: 2.4 self-check: 28 exercises: 11 videos: Ch. 2 #5.
Week 2 ______ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Copyright 2006 by Pearson Education 1 Building Java Programs Chapter 2: Primitive Data and Definite Loops.
Loops Chapter 4. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures.
CS305j Introduction to ComputingNested For Loops 1 Topic 6 Nested for Loops "Complexity has and will maintain a strong fascination for many people. It.
Building Java Programs
Derived from Building Java Programs by Stuart Reges & Marty Stepp
Building Java Programs Chapter 2 Primitive Data and Definite Loops.
CS 112 Introduction to Programming Variable Scoping; Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University.
1 BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA AND DEFINITE LOOPS.
Loops: Handling Infinite Processes CS 21a: Introduction to Computing I First Semester,
BUILDING JAVA PROGRAMS CHAPTER 2 Days of For Loops Past.
Copyright 2008 by Pearson Education 1 Building Java Programs Chapter 2 Lecture 2-3: Loop Figures and Constants reading: self-checks: 27 exercises:
CS 112 Introduction to Programming Graphics; Animation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone:
1 Building Java Programs Chapter 3: Introduction to Parameters and Objects These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They.
CS 112 Introduction to Programming Variable Scoping; Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University.
Copyright 2010 by Pearson Education 1 Building Java Programs Chapter 2 Lecture 4: Loop Figures and Constants reading:
Building Java Programs Chapter 2 Primitive Data and Definite Loops.
Nested for loops.
1 BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA AND DEFINITE LOOPS.
The for loop.
10/9/07 ______ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Topic 6 loops, figures, constants Based on slides bu Marty Stepp and Stuart Reges from "Complexity has and will maintain.
Copyright 2008 by Pearson Education 1 Nested loops reading: 2.3 self-check: exercises: videos: Ch. 2 #4.
1 BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA AND DEFINITE LOOPS.
CS 112 Introduction to Programming Loop Examples; Variable Scoping; Nested Loops; Yang (Richard) Yang Computer Science Department Yale University 208A.
1 Building Java Programs Chapter 2: Primitive Data and Definite Loops These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They may.
Copyright 2006 by Pearson Education 1 Building Java Programs Chapter 2: Primitive Data and Definite Loops.
CS 112 Introduction to Programming Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University 208A Watson, Phone:
10/9/07 ______ < Moo? > \ ^__^ \ (oo)\_______ (__)\ )\/\
Building Java Programs Chapter 2
Building Java Programs
Building Java Programs
CSCI 161 – Introduction to Programming I William Killian
Building Java Programs Chapter 2
Introduction to Computer Programming Counting Loops 2
Building Java Programs Chapter 2
CSc 110, Spring 2017 Lecture 5: Constants and Parameters
Topic 7 Nested Loops Case Study
CSc 110, Autumn 2016 Lecture 5: Loop Figures and Constants
Building Java Programs
Building Java Programs
CSc 110, Spring 2017 Lecture 4: Nested Loops and Loop Figures
Building Java Programs
CSc 110, Spring 2018 Lecture 7: input and Constants
Building Java Programs
Variables variable: A piece of the computer's memory that is given a name and type, and can store a value. Like preset stations on a car stereo, or cell.
Building Java Programs
Lecture 5: For Loops Building Java Programs: A Back to Basics Approach
CSc 110, Spring 2018 Lecture 5: Loop Figures and Constants
Building Java Programs
Topic 6 loops, figures, constants
Building Java Programs
CSE 190D, Winter 2013 Building Java Programs Chapter 2
Building Java Programs
Building Java Programs
Chapter 2 Programming Basics.
CSE 142 Lecture Notes Global Constants, Parameters, Return Values
Building Java Programs
Building Java Programs
Suggested self-checks:
Building Java Programs
Drawing complex figures
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Chapter 2 Lecture 2-3: Loop Figures and Constants reading:
Presentation transcript:

1 BUILDING JAVA PROGRAMS CHAPTER 2 Pseudocode and Scope

2 days until the AP Computer Science test

3 Objectives Define pseudocode and describe how to use it as a development strategy. Explain variable scope. Write programs using class constants.

4 Drawing complex figures Use nested for loops to produce the following output: Why draw ASCII art? Real graphics require a lot of finesse ASCII art has complex patterns Can focus on the algorithms #================# | <><> | | <>....<> | | <> <> | |<> <>| | <> <> | | <>....<> | | <><> | #================#

5 Development strategy Recommendations for managing complexity: 1. Design the program (think about steps or methods needed) write an English description of steps required use this description to decide the methods 2. Create a table of patterns of characters use table to write your for loops

6 Pseudocode pseudocode: An informal high level description of a computer program or algorithm. Example: Drawing a 12 wide by 7 tall box of stars print 12 stars for (each of 5 lines) { print a star print 10 spaces print a star } print 12 stars ************ * ************

7 Pseudocode algorithm 1. Line #, 16 =, # 2. Top half | spaces (decreasing) <> dots (increasing) <> spaces (same as above) | 3. Bottom half (top half upside-down) 4. Line #, 16 =, # #================# | <><> | | <>....<> | | <> <> | |<> <>| | <> <> | | <>....<> | | <><> | #================#

8 Methods from pseudocode public class Mirror { public static void main(String[] args) { line(); topHalf(); bottomHalf(); line(); } public static void topHalf() { for (int line = 1; line <= 4; line++) { // contents of each line } public static void bottomHalf() { for (int line = 1; line <= 4; line++) { // contents of each line } public static void line() { //... }

9 Tables A table for the top half: Compute spaces and dots expressions from line number linespacesdots linespaces line * dots4 * line

10 Writing the code // Prints the expanding pattern of <> for the top half of the figure. public static void topHalf() { for (int line = 1; line <= 4; line++) { System.out.print("|"); for (int space = 1; space <= (line * ); space++) { System.out.print(" "); } System.out.print("<>"); for (int dot = 1; dot <= (line * 4 - 4); dot++) { System.out.print("."); } System.out.print("<>"); for (int space = 1; space <= (line * ); space++) { System.out.print(" "); } System.out.println("|"); }

11 Scaling the mirror Let's modify our Mirror program so that it can scale. The current mirror (left) is at size 4; the right is at size 3. We'd like to structure the code so we can scale the figure by changing the code in just one place. #================# | <><> | | <>....<> | | <> <> | |<> <>| | <> <> | | <>....<> | | <><> | #================# #============# | <><> | | <>....<> | |<> <>| | <>....<> | | <><> | #============#

12 Limitations of variables Idea: Make a variable to represent the size. Use the variable's value in the methods. Problem: A variable in one method can't be seen in others. public static void main(String[] args) { int size = 4; topHalf(); printBottom(); } public static void topHalf() { for (int i = 1; i <= size; i++) { // ERROR: size not found... } public static void bottomHalf() { for (int i = size; i >= 1; i--) { // ERROR: size not found... }

13 Scope scope: The part of a program where a variable exists. From its declaration to the end of the { } braces A variable declared in a for loop exists only in that loop. A variable declared in a method exists only in that method. public static void example() { int x = 3; for (int i = 1; i <= 10; i++) { System.out.println(x); } x's scope i's scope

14 Class constants class constant: A fixed value visible to the whole program. value can be set only at declaration; cannot be reassigned Syntax: public static final type name = value; name is usually in ALL_UPPER_CASE Examples: public static final int DAYS_IN_WEEK = 7; public static final double INTEREST_RATE = 3.5; public static final int SSN = ; Syntax Yoda

15 Using a constant Constant allows many methods to refer to same value: public static final int SIZE = 4; public static void main(String[] args) { topHalf(); printBottom(); } public static void topHalf() { for (int i = 1; i <= SIZE; i++) { // OK... } public static void bottomHalf() { for (int i = SIZE; i >= 1; i--) { // OK... }

16 Programming Project / ___/ / ___/__// / ___/__/__/// / ___/__/__/__//// / ___/__/__/__/__///// / ___/__/__/__/__/__////// / ___/__/__/__/__/__/__/////// / ___/__/__/__/__/__/__/__//////// / ___/__/__/__/__/__/__/__/__///////// /___/__/__/__/__/__/__/__/__/__///////// ///////// | Building Java Programs |///////// | Building Java Programs |//////// | Building Java Programs |////// | Building Java Programs |//// | Building Java Programs |//

17 Homework Due Tomorrow: Self Check 2.26, 2.27, 2.32, 2.34, 2.35 Exercise 2.2, 2.3, 2.4, 2.5, , 2.10, 2.11 Due Tuesday Programming Project 2.8 Rubric Code is clearly commented, including name, period, and at least one explanatory comment. (1 point) Program compiles. (1 point) Program produces correct output. (1 point) Program correctly uses a class constant for changing the size of the figure. (1 point) Program uses nested for loops for repeated patterns. (1 point) (Extra Credit) Program has a class constant for changing the number of figures (books) printed. (1 point)