CS 180 Problem Solving and Object Oriented Programming Spring 2011 February 16, 2011 Aditya Mathur Department of Computer Science Purdue University West.

Slides:



Advertisements
Similar presentations
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Advertisements

Logic & program control part 3: Compound selection structures.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 5: September 19-23, 2011 Aditya Mathur Department of Computer Science Purdue.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 4: September 12-16, 2011 Aditya Mathur/Tim Korb Department of Computer.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 9: Oct 17-21, 2011 Aditya Mathur Department of Computer Science Purdue.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 3: September 5-9, 2011 Aditya Mathur Department of Computer Science Purdue.
10-Jun-15 Just Enough Java. Variables A variable is a “box” that holds data Every variable has a name Examples: name, age, address, isMarried Variables.
CS 178: Programming with Multimedia Objects Aditya P. Mathur Professor of Computer Sciences Purdue University, West Lafayette Sept 9, 2004 Last update:
CS150 Introduction to Computer Science 1
COMP 14 Introduction to Programming Miguel A. Otaduy May 18, 2004.
CS 106 Introduction to Computer Science I 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 178: Programming with Multimedia Objects Aditya P. Mathur Professor of Computer Sciences Purdue University, West Lafayette Sept 20, 2004 Last update:
COMP 14 Introduction to Programming Miguel A. Otaduy May 20, 2004.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 6 Repetition Statements.
The If/Else Statement, Boolean Flags, and Menus Page 180
© 2004 Pearson Addison-Wesley. All rights reserved5-1 Iterations/ Loops The while Statement Other Repetition Statements.
CSCI/CMPE 4341 Topic: Programming in Python Chapter 3: Control Structures (Part 1) – Exercises 1 Xiang Lian The University of Texas – Pan American Edinburg,
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 6 Repetition Statements.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 30, 2005.
CS 106 Introduction to Computer Science I 09 / 28 / 2007 Instructor: Michael Eckmann.
ECE122 L9: While loops March 1, 2007 ECE 122 Engineering Problem Solving with Java Lecture 9 While Loops.
Fundamentals of Python: From First Programs Through Data Structures
Presented by Joaquin Vila Prepared by Sally Scott ACS 168 Problem Solving Using the Computer Week 12 Boolean Expressions, Switches, For-Loops Chapter 7.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 11: Oct 31-Nov 4, 2011 Aditya Mathur Department of Computer Science Purdue.
1 Copyright (C) 2008 by Dennis A. Fairclough all rights reserved.
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 3: September 6-10, 2010 Aditya Mathur Department of Computer Science Purdue.
Floating Point Numbers Expressions Scanner Input Algorithms to Programs Shirley Moore CS 1401 Spring 2013 February 12, 2013.
What does a computer program look like: a general overview.
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 5: September 20-24, 2010 Aditya Mathur Department of Computer Science Purdue.
Control Structures II Repetition (Loops). Why Is Repetition Needed? How can you solve the following problem: What is the sum of all the numbers from 1.
CMP-MX21: Lecture 4 Selections Steve Hordley. Overview 1. The if-else selection in JAVA 2. More useful JAVA operators 4. Other selection constructs in.
Loops (cont.). Loop Statements  while statement  do statement  for statement while ( condition ) statement; do { statement list; } while ( condition.
1 Chapter 4: Basic Control Flow ► Chapter Goals  To be able to implement decisions using if statements  To understand statement blocks  To learn how.
Overview Go over parts of quiz? Another iteration structure for loop.
Copyright Curt Hill The C/C++ switch Statement A multi-path decision statement.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 11: Nov 1-5, 2010 Aditya Mathur Department of Computer Science Purdue University.
CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for Week 14: Nov 21-25, 2011 Aditya Mathur Department of Computer Science Purdue.
Digesting a big problem ONE BYTE AT A TIME. Quiz YOU WILL WORK WITH YOUR PARTNER (LAB PARTNER NOT FULL TEAM). FOR SOLOISTS OR THOSE WHOSE PARTNER IS NOT.
Random Numbers Random numbers are extremely useful: especially for games, and also for calculating experimental probabilities. Formula for generating random.
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 9: Oct 18-22, 2010 Aditya Mathur Department of Computer Science Purdue.
CS-1010 Dr. Mark L. Hornick 1 Selection and Iteration and conditional expressions.
Expressions Methods if else Statements Loops Potpourri.
int [] scores = new int [10];
CS 106 Introduction to Computer Science I 09 / 10 / 2007 Instructor: Michael Eckmann.
CISC105 – General Computer Science Class 4 – 06/14/2006.
CSCI 3328 Object Oriented Programming in C# Chapter 4: C# Control Statement – Part I – Exercises 1 Xiang Lian The University of Texas Rio Grande Valley.
Chad’s C++ Tutorial Demo Outline. 1. What is C++? C++ is an object-oriented programming (OOP) language that is viewed by many as the best language for.
CS Class 04 Topics  Selection statement – IF  Expressions  More practice writing simple C++ programs Announcements  Read pages for next.
Programming in Java (COP 2250) Lecture 12 & 13 Chengyong Yang Fall, 2005.
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 6: September 27-Oct 1, 2010 Aditya Mathur Department of Computer Science.
Data Structures & Algorithms CHAPTER 2 Arrays Ms. Manal Al-Asmari.
11 Making Decisions in a Program Session 2.3. Session Overview  Introduce the idea of an algorithm  Show how a program can make logical decisions based.
Repetition Statements
Looping and Repetition
Outline Altering flow of control Boolean expressions
CSCI 3328 Object Oriented Programming in C# Chapter 4: C# Control Statement – Part I – Exercises UTPA – Fall 2012 This set of slides is revised from lecture.
The University of Texas – Pan American
Seating “chart” Front Back 4 rows 5 rows 5 rows 4 rows 2 rows 2 rows
CS 101 First Exam Review.
Just Enough Java 17-May-19.
Loops and Iteration CS 21a: Introduction to Computing I
CS Problem Solving and Object Oriented Programming Spring 2019
CS Problem Solving and Object Oriented Programming Spring 2019
CS Problem Solving and Object Oriented Programming Spring 2019
CS Problem Solving and Object Oriented Programming Spring 2019
CS Problem Solving and Object Oriented Programming Spring 2019
Looping and Repetition
CS Problem Solving and Object Oriented Programming Spring 2019
Presentation transcript:

CS 180 Problem Solving and Object Oriented Programming Spring 2011 February 16, 2011 Aditya Mathur Department of Computer Science Purdue University West Lafayette, IN, USA 1.Quiz 2.Review 3.Straight line vs. “wiggly” programs 4.if-then-else 5.Conditions 6.Loops Today:

Readings and Exercises Readings: Chapter 3: 3.1, 3.2, 3.3, Exercises: 3.1, 3.2, 3.3, 3.4, 4.2, (4.5 or 4.6) 2/16/2011©Aditya Mathur. CS 180. Spring 20112

Quiz: 2/16/2011 2/16/2011©Aditya Mathur. CS 180. Spring 20113

Q1. If double tax=Math.pow(3,2); then the value of tax is (a)9 (integer) (b)9.0 (double) (c)3 (integer) 2/16/2011©Aditya Mathur. CS 180. Spring 20114

Q2. In the statement Random gen=new Random(); gen denotes (a)a variable of type Random (b)an object of type Random (c)a random number 2/16/2011©Aditya Mathur. CS 180. Spring 20115

Q3. In the statement Color c= myRose.getColor(); getColor (a)denotes an object (b)is the name of a method (c)is the name of a variable 2/16/2011©Aditya Mathur. CS 180. Spring 20116

Q4. In the statement Color c= myRose.getColor(); myRose (a)denotes an object (b)is the name of a method (c)is the name of a variable 2/16/2011©Aditya Mathur. CS 180. Spring 20117

Q5. In the statement double tax= computeTax(salary, taxRate); method computeTax (a)has one parameter (b)has two parameters (c)has no parameters 2/16/2011©Aditya Mathur. CS 180. Spring 20118

Q6. Suppose z=0 and the following is executed int x=y/z; then which of the following is true? (a)Value of x will be infinity (b)Value of x will be 0 (c)A divide by zero exception will be generated 2/16/2011©Aditya Mathur. CS 180. Spring 20119

Q7. Suppose z=0, and y and z are of type double, and the following is executed double x=y/z; then which of the following is true? (a)Value of x will be infinity (b)Value of x will be 0 (c)A divide by zero exception will be generated 2/16/2011©Aditya Mathur. CS 180. Spring

Q8. Suppose r is a random number between 0 and 1 [inclusive]. Which formula is correct to scale r to a number between 5 and 12? (a) r +5 (b) r *5+12 (c) r *7+5 (d) r *5+7 2/16/2011©Aditya Mathur. CS 180. Spring

End of Quiz: 2/16/2011 2/16/2011©Aditya Mathur. CS 180. Spring

Review 2/16/2011©Aditya Mathur. CS 180. Spring

1.What is a class and how is it defined? 2.What is an object? 3.How to generate an object from a class? 4.What is a primitive type? 5.What is a declaration? 6.What is a variable? 7.What is an assignment statement? 8.What is overflow and when does it occur? 9.When do we get the special numbers “infinity” and “NaN”? 10.How to read from console? 11.How to write onto console? 12.What is algorithmic thinking? 13.Where lies the challenge in programming? 2/16/2011©Aditya Mathur. CS 180. Spring

Conditional execution 2/16/2011©Aditya Mathur. CS 180. Spring

Straight line program: Single path of execution 2/16/2011 A program that has exactly one path that is traversed when the program is executed. Start Execute a statement End.. Single fixed path ©Aditya Mathur. CS 180. Spring

Program: Multiple paths of execution 2/16/2011 Start Execute a statement Execute statements Execute a statement End.. condition Execute statements true false true path false path ©Aditya Mathur. CS 180. Spring

Example: Obama Tax Plan [No longer valid]: The problem 2/16/2011 Given the net income, compute tax to be paid. ©Aditya Mathur. CS 180. Spring

Example: Obama Tax Plan: Algorithm (Graphical) 2/16/2011 Start Get net income Use tax rate=0.30 Compute tax End.. income< Use tax rate=0.20 true false true path false path ©Aditya Mathur. CS 180. Spring

Example: Obama Tax Plan: Algorithm (Textual) 2/16/2011 Get net income. if net income < then tax rate=0.2; else tax rate=0.3; Tax to be paid=tax rate*net income; ©Aditya Mathur. CS 180. Spring

Example: Traffic Light: The problem 2/16/2011 Given the current state of a traffic light, find its new state when it is time to change. ©Aditya Mathur. CS 180. Spring

Example: Traffic Light: Algorithm (Textual) 2/16/2011 Get current state of the traffic light. if current state is Red then set next state to Green; else if current state is Green then set next state to Orange; else Set next state to Red; ©Aditya Mathur. CS 180. Spring

Example: Traffic light: Algorithm (Graphical) 2/16/2011 Start Get current state of the traffic light End Next state=Orange true false state is Green? state is Red? Next state=Green Next state=Red How many execution paths? truefalse ©Aditya Mathur. CS 180. Spring

Example: Patient Care: The problem 2/16/2011 Administer medicine to a patient if it is time to do so. ©Aditya Mathur. CS 180. Spring

Example: Patient Care: Algorithm (Textual) 2/16/2011 Get current time. if current time>= time to give medicine then give medicine to the patient else do something else; Get time when the patient is to be given medicine. ©Aditya Mathur. CS 180. Spring

Example: Patient care: Algorithm [Graphical] 2/16/2011 Start Get current time of the day Do something else End Time to administer medicine? Give medicine true false true path false path ©Aditya Mathur. CS 180. Spring

Example: DJ: The problem 2/16/2011 Play music given the genre of user’s choice (R&B or classical). ©Aditya Mathur. CS 180. Spring

Example: DJ: Algorithm (Textual) 2/16/2011 Get genre requested. if requested genre is R&B then play Byoncè’s “Put a ring on it” else if requested genre is classical then play Mozart’s “Eine Kleine Nacht Music” else Say “sorry I do not have the right music for you.” ©Aditya Mathur. CS 180. Spring

Example: DJ: Algorithm (Graphical) 2/16/2011 Start Get request End Play Mozart true false Classical R&B? Play Byoncè Apologize How many execution paths? truefalse ©Aditya Mathur. CS 180. Spring

Conditional execution in Java: Obama tax Plan 2/16/2011 Get net income. if net income < then tax rate=0.2; else tax rate=0.3; Tax to be paid= tax rate*net income; double netIncome=source.getDouble(); double taxRate, taxPaid; if (netIncome < ) { taxRate=0.2; } else { taxRate=0.3; } taxPaid=taxRate*netIncome; ©Aditya Mathur. CS 180. Spring

Conditional execution in Java: Traffic Light 2/16/2011 Get current state of the traffic light. if current state is Red then set next state to Green; else if current State is Green then set next state to Orange; else Set next state to Red; String lightStatus=source.next(); if (lightStatus.equals(“Red”)) { lightStatus=“Green”; } else { if (lightStatus.equals(“Green”)) { lightStatus=“Orange”; }else{ lightStatus=“Red”; } ©Aditya Mathur. CS 180. Spring

Conditions 2/16/2011©Aditya Mathur. CS 180. Spring

Conditions: Simple 2/16/2011 An expression that evaluates to true or false. int x, y, z ; boolean b; true False x<y x>y+z Math.pow(x,3)>=y z*z-x==y x+3<=y !b Examples : ©Aditya Mathur. CS 180. Spring

Conditions: Compound 2/16/2011 int x, y, z; boolean b; String s1, s2; x<y &&y==z (x>y+z) || (s1.equals(s2)) Math.pow(x,3)>=y && !(s1.equals(s2)) (z*(z-x))!=y (x+3)<=y && b !b || y==0 Examples : An expression that contains two or more simple conditions and evaluates to true or false. ©Aditya Mathur. CS 180. Spring

Conditions: Dangerous! But survived 2/16/2011 int x, y, p; if (x=y){ p=1; }else { p=2; } if (x==y){ p=1; }else { p=2; } DesiredActual Compiler error! Not a problem, the program will not execute. ©Aditya Mathur. CS 180. Spring

Conditions: Dangerous! May not survive 2/16/2011 int x, y, p; boolean door1Open=true, door2Open=false; if (door1Open=door2Open){ p=1; }else { p=2; } if (door1Open==door2Open){ p=1; }else { p=2; } DesiredActual No compiler error! Program will execute. What is the value of p? As expected? Then what is the problem? ©Aditya Mathur. CS 180. Spring

Quiz: 2/16/2011 2/16/2011©Aditya Mathur. CS 180. Spring

Q1. Value of x after executing the following ? (a) 2 (b) 1 (c) 3 2/16/2011 if (true) { x=1; }else{ x=2; } ©Aditya Mathur. CS 180. Spring

Q2. Value of z after executing the following? (a) 11 (b) 7 (c) 16 2/16/2011 int x=10, y=15, z=7; if (x+1==y || z>=0) { z=x+1; }else{ z=y+1; }; ©Aditya Mathur. CS 180. Spring

Q3. Value of z after executing the following? (a) 11 (b) 7 (c) 16 2/16/2011 int x=10, y=15, z=7; if (x+1==y && z>=0) { z=x+1; }else{ z=y+1; }; ©Aditya Mathur. CS 180. Spring

Q4. Value of z after executing the following? (a) 11 (b) 16 (c) None of the above 2/16/2011 int x=10, y=15; int z; if ((x+1==y) && y==15) { int z=x+1; }else{ int z=y+1; }; ©Aditya Mathur. CS 180. Spring

Q5. Value of x after executing the following? (a) 11 (b) 16 (c) None of the above 2/16/2011 int x=10, y=15; if ((x+1==y) && y==15) { int z=x+1; }else{ int z=y+1; }; x=z; ©Aditya Mathur. CS 180. Spring

Q6. Value of x after executing the following? (a) 19 (b) 20 (c) None of the above 2/16/2011 int x=10, y=15; if ((x+1==y) && y==15) { int z=x+1; }else{ int z=y+1; }; int z=9; x=x+z; ©Aditya Mathur. CS 180. Spring

Loops 2/16/2011©Aditya Mathur. CS 180. Spring

Problem 2/16/2011 Monitor the pulse rate of a patient every 5 seconds. If the pulse rate is between 60 and 100 then display “Normal”. If the rate is below 60, then display “Low”. If the rate is above 100 then display “High”. ©Aditya Mathur. CS 180. Spring

Algorithm (Graphical) 2/16/2011 Start if (c) Display “Low” Yes No pR<60 pR in range Display “Normal” Display “High” truefalse Get pulse rate (pR) true false End Range: What should be c? Wait for 5 seconds” ©Aditya Mathur. CS 180. Spring

Algorithm [Textual] 2/16/2011 do forever { get pulse rate; if the pulse rate is between 60 and 100 then Display “Normal”; else if the pulse rate is<60 then Display “Low”; else Display “High”; Wait for 5 seconds; } ©Aditya Mathur. CS 180. Spring

Problem 2/16/2011 We are given yearly rainfall data for a region. Write a program to compute the average rainfall in that region. Understand the problem: 1.In what form is the data available? Integer? Float? Input via console? 2.How much data? ©Aditya Mathur. CS 180. Spring

Algorithm [Textual] 2/16/2011 Initialize total rainfall to 0; Initialize count to 0; Get next rainfall data item; let us denote it by r. while (r>=0){ Add r to total rainfall; Add 1 to count; Get next rainfall data item; } average rainfall=total rainfall/count; // Is there a problem here? ©Aditya Mathur. CS 180. Spring

Algorithm (Graphical) 2/16/2011 Start r>=0 average=total rainfall/count; Initialize total rainfall to 0; Initialize count to 0; true End Get rainfall data item; denote it by r. Add r to total rainfall; Add 1 to count; Get rainfall data item Display average false Any problem here? ©Aditya Mathur. CS 180. Spring

Loops in Java 2/16/2011 Start condition statements Initialization true statements false End initialization statements; while (condition){ statements; } statements; ©Aditya Mathur. CS 180. Spring

Conditional Execution in Java: Live demo 2/16/2011©Aditya Mathur. CS 180. Spring

2/16/2011 Java program for pulse rate monitoring and display. Live demo. ©Aditya Mathur. CS 180. Spring

Hope you enjoyed this class! Questions? 2/16/2011©Aditya Mathur. CS 180. Spring