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