Introduction to Computer Programming Decisions If/Else Booleans.

Slides:



Advertisements
Similar presentations
BUILDING JAVA PROGRAMS CHAPTER 4 Conditional Execution.
Advertisements

INSTRUCTOR: SHIH-SHINH HUANG Windows Programming Using Java Chapter4: Control Statements Part I.
1 BUILDING JAVA PROGRAMS CHAPTER 4 CONDITIONAL EXECUTION.
 2002 Prentice Hall. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 The if Selection Structure.
Introduction to Computer Programming Modular Programming I: Methods.
Introduction to Computers and Programming Lecture 5 New York University.
Introduction to Computer Programming Looping Around Loops I: Counting Loops.
Introduction to Computers and Programming Lecture 5 Boolean type; if statement Professor: Evan Korth New York University.
Scanner Pepper With credits to Dr. Siegfried. The Scanner Class Most programs will need some form of input. At the beginning, all of our input will come.
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: if and if/else Statements reading: 4.2 self-check: #4-5, 7, 10, 11 exercises:
Introduction to Computer Programming Decisions, Decisions: Boolean Expressions and Selection.
Introduction to Computer Programming Loops N Decisions If/Else Counting Loops.
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: Scanner ; if/else reading: , 4.2, 4.6.
1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection Statement 4.6 if else Selection Statement 4.7 while.
Introduction to Computer Programming Looping Around Loops II : Conditional Loops.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
Copyright 2006 by Pearson Education 1 Building Java Programs Chapter 4: Conditional Execution.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
Scanner & Stepwise Refinement Pepper With credit to Dr. Siegfried.
Topic 11 Scanner object, conditional execution Copyright Pearson Education, 2010 Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs Chapter 4 Conditional Execution Copyright (c) Pearson All rights reserved.
Copyright 2008 by Pearson Education Building Java Programs Chapter 4 Lecture 4-1: if and if/else Statements reading: 4.2 self-check: #4-5, 7, 10, 11 exercises:
Making Decisions Chapter 5.  Thus far we have created classes and performed basic mathematical operations  Consider our ComputeArea.java program to.
Building Java Programs
October 28, 2015ICS102: For Loop1 The for-loop and Nested loops.
Lecture 3 Decisions (Conditionals). One of the essential features of computer programs is their ability to make decisions. Like a train that changes tracks.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Control Structures: Part 1.
1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 The if Selection Structure 4.6 The if / else Selection Structure 4.7.
 2003 Prentice Hall, Inc. All rights reserved. 1 Outline 4.1 Introduction 4.2 Algorithms 4.3 Pseudocode 4.4 Control Structures 4.5 if Single-Selection.
1 if / else statements. 2 Conditionals “If you eat your vegetables, then you can have dessert.” “If you do your homework, then you may go outside to play,
Lecture 2 Conditional Statement. chcslonline.org Conditional Statements in PHP Conditional Statements are used for decision making. Different actions.
Building Java Programs Chapter 4 Conditional Execution Copyright (c) Pearson All rights reserved.
SELF STUDY. IF STATEMENTS SELECTION STRUCTURE if selection statement if … else selection statement switch selection statement.
1 Flow of Control Chapter 5. 2 Objectives You will be able to: Use the Java "if" statement to control flow of control within your program.  Use the Java.
Copyright 2010 by Pearson Education The if/else statement reading: 4.1, 4.6.
Decision making If.. else statement.
Building Java Programs
Introduction to programming in java
Building Java Programs Chapter 4
Building Java Programs
Chapter 4 – Control Structures Part 1
SELECTION STATEMENTS (1)
Lecture 4: Conditionals
Topic 11 Scanner object, conditional execution
Building Java Programs
Control Statement Examples
Building Java Programs Chapter 4
Building Java Programs
SELECTION STATEMENTS (2)
Building Java Programs
Building Java Programs
Decision making If statement.
Introduction to Computer Programming
Self study.
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Chapter 4 - Control Structures: Part 1
Chapter 4: Boolean Expressions, Making Decisions, and Disk Input and Output Prof. Salim Arfaoui.
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Chapter 4 Lecture 4-1: Scanner; if/else reading: 3.3 – 3.4, 4.1, 4.5
Building Java Programs
Building Java Programs
Presentation transcript:

Introduction to Computer Programming Decisions If/Else Booleans

Your old Average friend import java.util.Scanner; public class AverageN { //AverageN - Find the average of N values public static void main(String[] args) { Scanner keyb = new Scanner(System.in); double sum, average, value1, value2, value3; //get values System.out.println (“What is value 1?”); value1 = keyb.nextDouble(); System.out.println (“What is value 2?”); value2 = keyb.nextDouble(); System.out.println (“What is value 3?”); value3 = keyb.nextDouble(); sum = value1 + value2 + value3; average = sum/3; System.out.println(“The average is “ + average); }}

Average Program - did you pass? You have the average program averaging 3 grades, but did you pass? If the grade is over 65, you passed. How can you code this?

4 The if statement if statement: Do this only if true –General syntax: if ( ) { ;... ; } Example: double average = sum/3; if (average >= 65) { System.out.println(“ You passed."); }

5 Relational expressions OperatorMeaningExampleValue == equals == 2true != does not equal 3.2 != 2.5true < less than 10 < 5false > greater than 10 > 5true <= less than or equal to 126 <= 100false >= greater than or equal to 5.0 >= 5.0true

6 if statement flow diagram

7 The if/else statement if/else statement: A Java statement that executes one block of statements if a certain condition is true, and a second block of statements if it is false. –General syntax: if ( ) { ; } else { ; } Example: double average = sum/3; if (average >= 65) { System.out.println(“ You passed.");} else{ System.out.println(“You failed.”); }

8 if/else flow diagram

9 if/else question Write code to read a number from the user and print whether it is even or odd using an if/else statement. –Example executions: Type a number: 42 Your number is even Type a number: 17 Your number is odd

10 Nested if/else statements nested if/else statement: A chain of if/else that chooses between outcomes using many conditions. –General syntax: if ( ) { ; } else if ( ) { ; } else { ; } Example: if (number > 0) { System.out.println("Positive"); } else if (number < 0) { System.out.println("Negative"); } else { System.out.println("Zero"); }

11 Nested if/else flow diagram if ( ) { ; } else if ( ) { ; } else { ; }

12 Nested if/else/if diagram if ( ) { ; } else if ( ) { ; } else if ( ) { ; }

13 Sequential if diagram if ( ) { ; } if ( ) { ; } if ( ) { ; }

A program to calculate Grade Point Average Example – Professor Smith gives n tests during the term and uses a grading system, where each test is 1/n of the course grade. Assuming that that the average of the test grades translate into a letter grade as follows: Test AverageLetter Grade 90.0+A B C D below 60.0F write a program that will calculate a student's grade.

A Program To Calculate Test Average Input - Number of tests and the student's test grades Output – Test average and course grade Other information A 90+ average is an “A”. A average is a “B”. A average is a “C”. A average is a “D” An average below 60 is an “F”. Test average = Sum of the test grade/ Number of tests Our first step is to write out our initial algorithm: 1.Find the number of tests 2.Find the average of n tests 3.Find the corresponding letter grade and print it out.

Designing the Grade Program 1.Find the number of tests 2.Find the average of n tests 3.Find the corresponding letter grade and print it out. 1.1Prompt the user for number of tests 1.2Read the number of tests

Refining the Grade Program 1.1Prompt the user for number of tests 1.2Read the number of tests 2.Find the average of n tests 3.Find the corresponding letter grade and print it out. 2.1Add up the test grades 2.2Divide the total by n

Refining the Grade Program 1.1Prompt the user for number of tests 1.2Read the number of tests 2.1Add up the test grades 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. 2.1For each of the n tests: 2.1.1Prompt the user for the test grade 2.1.2Read the test grade 2.1.3Add it to the total

Refining the Grade Program 1.1Prompt the user for number of tests 1.2Read the number of tests 2.1For each of the n tests: 2.1.1Prompt the user for the test grade 2.1.2Read the test grade 2.1.3Add it to the total 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt();

Refining the Grade Program System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); 2.1For each of the n tests: 2.1.1Prompt the user for the test grade 2.1.2Read the test grade 2.1.3Add it to the total 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. for (thisTest = 0; thisTest < numTests; thisTest++) {

Refining the Grade Program System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); for (thisTest = 0; thisTest < numTests; thisTest++) { 2.1.1Prompt the user for the test grade 2.1.2Read the test grade 2.1.3Add it to the total } 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. System.out.println ("What grade did you get on this test ?"); thisGrade = keyb.nextInt();

Refining the Grade Program System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); for (thisTest = 0; thisTest < numTests; thisTest++) { System.out.println ("What grade did you get on this test ?"); thisGrade = keyb.nextInt(); 2.1.3Add it to the total } 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. total = total + thisGrade;

Refining the Grade Program System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); for (thisTest = 0; thisTest < numTests; thisTest++) { System.out.println ("What grade did you get on this test ?"); thisGrade = keyb.nextInt(); total = total + thisGrade; } 2.2Divide the total by n 3.Find the corresponding letter grade and print it out. testAverage = total/numTests;

Refining the Grade Program System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); for (thisTest = 0; thisTest < numTests; thisTest++) { … … } testAverage = total/numTests; 3.Find the corresponding letter grade and print it out. 3.1 IF Average >= 90 THEN Grade = ‘A’ 3.2 ELSE IF Average >= 80 THEN Grade = ‘B’ 3.3 ELSE IF Average >= 70 THEN Grade = ‘C’ 3.4 ELSE IF Average >= 60 THEN Grade = ‘D’ 3.2 ELSE Grade = ‘F’

Refining the Grade Program … testAverage = total/numTests; 3.1 IF Average >= 90 THEN Grade = ‘A’ 3.2 ELSE IF Average >= 80 THEN Grade = ‘B’ 3.3 ELSE IF Average >= 70 THEN Grade = ‘C’ 3.4 ELSE IF Average >= 60 THEN Grade = ‘D’ 3.2 ELSE Grade = ‘F’ if (testAverage >= 90) courseGrade = 'A'; else if (testAverage >= 80) courseGrade = 'B'; else if (testAverage >= 70) courseGrade = 'C'; else if (testAverage >= 60) courseGrade = 'D'; else courseGrade = 'F';

Our program public static void main(String[] args) { Scanner keyb = new Scanner(System.in); int thisTest, numTests, total, thisGrade; float testAverage; char courseGrade; // Find out the number of classes System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt(); for (thisTest = 0; thisTest < numTests; thisTest++) { System.out.println ("What grade did you get on this test ?"); thisGrade = keyb.nextInt();

// Make sure that the grades are valid // percentages total = total + thisGrade; } // Find the average testAverage = total/numTests; // Find the letter grade corresponding to the // average if (testAverage >= 90) courseGrade = 'A'; else if (testAverage >= 80) courseGrade = 'B'; else if (testAverage >= 70) courseGrade = 'C'; else if (testAverage >= 60) courseGrade = 'D'; else courseGrade = 'F';

// Print the results. System.out.println ("Your test average is " + testAverage); System.out.println ("Your grade will be " + courseGrade); }

One Last Refinement A test score must be between 0 and 100; therefore any grade greater than 100 or else than 0 is invalid. Let’s test each grade to make sure it’s valid. Also, we have to initialize the total to zero before we do any addition.

The Final Grade Program import java.util.Scanner; public class CalcGrade { // Calculates the average test grade and // converts it to a letter grade assuming that // A is a 90 average, B is an 80 average and so // on.that public static void main(String[] args) { Scanner keyb = new Scanner(System.in); int thisTest, numTests, total, thisGrade; float testAverage; char courseGrade; // Find out the number of classes System.out.println ("How many tests did you take ?"); numTests = keyb.nextInt();

//Add up the test grades total = 0; for (thisTest = 0; thisTest < numTests; thisTest++) { System.out.println ("What grade did you get on this test ?"); thisGrade = keyb.nextInt(); // Make sure that the grades are valid // percentages if (thisGrade > 100) System.out.println ("This is not a valid test grade."); else if (thisGrade >= 0) total = total + thisGrade; else System.out.println ("This is not a valid test grade."); }

// Find the average testAverage = total/numTests; // Find the letter grade corresponding to the // average if (testAverage >= 90) courseGrade = 'A'; else if (testAverage >= 80) courseGrade = 'B'; else if (testAverage >= 70) courseGrade = 'C'; else if (testAverage >= 60) courseGrade = 'D'; else courseGrade = 'F';

// Print the results. System.out.println ("Your test average is " + testAverage); System.out.println ("Your grade will be " + courseGrade); }