Lecture 02 - Selection
Lecture 02 - Selection
CSE102
• Sequence
• Selection
• Repetition
March 2022 CSE102 Computer Programming 3 March 2022 CSE102 Computer Programming 4
1
3/9/2022
March 2022 CSE102 Computer Programming 5 March 2022 CSE102 Computer Programming 6
March 2022 CSE102 Computer Programming 7 March 2022 CSE102 Computer Programming 8
2
3/9/2022
March 2022 CSE102 Computer Programming 9 March 2022 CSE102 Computer Programming 10
• One alternative
• Executes the statement block or not
if (x != 0.0)
product = product * x;
3
3/9/2022
The if statement
• What is the output?
if (condition) if (x > 0)
statement; printf(“positive”); if age > 65
printf(“senior”);
if (condition) if (x > 0) printf(“citizen.\n”);
statement; printf(“positive”);
else else
statement; printf(“negative”);
March 2022 CSE102 Computer Programming 13 March 2022 CSE102 Computer Programming 14
March 2022 CSE102 Computer Programming 15 March 2022 CSE102 Computer Programming 16
4
3/9/2022
if (radius > 0) {
if (condition) { circ = 2*PI*radius;
statements printf(“%f”, circ);
} }
else { else {
statements printf(“Radius is negative!..”);
} }
March 2022 CSE102 Computer Programming 17 March 2022 CSE102 Computer Programming 18
• Takes time 2 3
• But saves time as well 3 5
4
5
March 2022 CSE102 Computer Programming 19 March 2022 CSE102 Computer Programming 20
5
3/9/2022
March 2022 CSE102 Computer Programming 21 March 2022 CSE102 Computer Programming 22
Case Study: Simple Math Tool Case Study: Water Bill Problem
Simple Math Tool to teach subtraction to a first grade student • Compute customers water bill
• Demand charge = $35
• Consumption charger = $1.10 per thousand gallons
Algorithm
• Late charge for unpaid balance = $2
1. Generate two single-digit integers randomly
number1 and number2 with number1 > number2 • Inputs:
2. Display the question • Meter readings: previous, current
such as “What is 9 – 2?” • Unpaid balance
3. Read student’s answer
• Outputs:
4. Display a message indicating whether the answer is correct
• Water bill : use charge, late chage
March 2022 CSE102 Computer Programming 23 March 2022 CSE102 Computer Programming 24
6
3/9/2022
• Algorithm:
1. Display user instructions
2. Get data
3. Compute use charge
4. Determine late charge
5. Figure bill amount
6. Display the bill and charges
• Functions
Data requirements
Design and algorithm
March 2022 CSE102 Computer Programming 25 March 2022 CSE102 Computer Programming 26
(continued)
March 2022 CSE102 Computer Programming 27 March 2022 CSE102 Computer Programming 28
7
3/9/2022
(continued)
March 2022 CSE102 Computer Programming 29 March 2022 CSE102 Computer Programming 30
March 2022 CSE102 Computer Programming 31 March 2022 CSE102 Computer Programming 32
8
3/9/2022
March 2022 CSE102 Computer Programming 33 March 2022 CSE102 Computer Programming 34
March 2022 CSE102 Computer Programming 35 March 2022 CSE102 Computer Programming 36
9
3/9/2022
March 2022 CSE102 Computer Programming 37 March 2022 CSE102 Computer Programming 38
March 2022 CSE102 Computer Programming 39 March 2022 CSE102 Computer Programming 40
10
3/9/2022
if (x > 0) if (x > 0)
• Compute tax amount for a salary
num_pos = num_pos + 1; num_pos = num_pos + 1;
else else if (x < 0) • Decision table:
if (x < 0) num_neg = num_neg + 1;
Salary Tax rate
num_neg = num_neg + 1; else
0 – 15,000 15
else num_zero = num_zero + 1;
num_zero = num_zero + 1; 15,000 – 30,000 18
30,000 – 50,000 22
50,000 – 80,000 27
Better way writing
80,000 – 150,000 33
March 2022 CSE102 Computer Programming 41 March 2022 CSE102 Computer Programming 42
March 2022 CSE102 Computer Programming 43 March 2022 CSE102 Computer Programming 44
11
3/9/2022
break; Good
March 2022 CSE102 Computer Programming 47 March 2022 CSE102 Computer Programming 48
12
3/9/2022
March 2022 CSE102 Computer Programming 51 March 2022 CSE102 Computer Programming 52
13
3/9/2022
March 2022 CSE102 Computer Programming 55 March 2022 CSE102 Computer Programming 56
14
3/9/2022
15