jagomart
digital resources
picture1_Computer Science Thesis Pdf 190202 | Lecture Loops Handoutnonotes


 141x       Filetype PDF       File size 0.28 MB       Source: cse.unl.edu


File: Computer Science Thesis Pdf 190202 | Lecture Loops Handoutnonotes
chapter 5 computer science engineering 155e 5 1 repetition in programs computer science i systems engineering focus 5 2 counting loops and the while statement lecture 05 loops 5 3 ...

icon picture PDF Filetype PDF | Posted on 03 Feb 2023 | 2 years ago
Partial capture of text on file.
                                                                                                     Chapter 5
                        Computer Science & Engineering 155E                                               5.1 Repetition in Programs
                  Computer Science I: Systems Engineering Focus                                           5.2 Counting Loops and the While Statement
                                       Lecture 05 - Loops                                                 5.3 Computing a Sum or a Product in a Loop
                                                                                                          5.4 The for Statement
                                                                                                          5.5 Conditional Loops
                                     Christopher M. Bourke                                                5.6 Loop Design
                                     cbourke@cse.unl.edu                                                  5.7 Nested Loops
                                                                                                          5.8 Do While Statement and Flag-Controlled Loops
                                                                                                         5.10 How to Debug and Test
                                                                                                         5.11 Common Programming Errors
     Repetition in Programs                                                                          Counting Loops
                                                                                                          A counter-controlled loop (or counting loop) is a loop whose repetition is
          Just as the ability to make decisions (if-else selection statements) is an                      managed by a loop control variable whose value represents a count. Also
          important programming tool, so too is the ability to specify the repetition of                  called a while loop.
          a group of operations.
          When solving a general problem, it is sometimes helpful to write a solution to                               1 Set counter to an initial value of 0 ;
          a specific case. Once this is done, ask yourself:                                                             2 while counter < someFinalValue do
            ◮ Were there any steps that I repeated? If so, which ones?                                                 3      Block of program code ;
            ◮ Do I know how many times I will have to repeat the steps?                                                4      Increase counter by 1 ;
            ◮ If not, how did I know how long to keep repeating the steps?                                             5 end
                                                                                                                        Algorithm 1: Counter-Controlled Loop
     The C While Loop                                                                                While Loop Syntax
          This while loop computes and displays the gross pay for seven employees.                        Syntax of the while Statement:
          The loop body is a compound statement (between brackets) The loop                                 ◮ Initialize the loop control variable
          repetition condition controls the while loop.                                                          ◮ Without initialization, the loop control variable value is meaningless.
          1  int count_emp = 0;        // Set counter to 0                                                  ◮ Test the loop control variable before the start of each loop repetition
          2  while (count_emp < 7) { //If count_emp < 7, do stmts                                           ◮ Update the loop control variable during the iteration
          3       printf("Hours> ");
          4       scanf("%d",&hours);                                                                            ◮ Ensures that the program progresses to the final goal
          5       printf("Rate> ");
          6       scanf("%lf",&rate);                                                                    1   count = 1;
          7       pay = hours * rate;                                                                    2   while(count <= 10) {
          8       printf("Pay is $%6.2f\n", pay);                                                        3         printf("Count = %d\n",count);
          9       count_emp = count_emp + 1;         /* Increment count_emp */
         10  }                                                                                           4         count = count + 1;
         11  printf("\nAll employees processed\n");                                                      5 }
    Common Programming Errors                                              General While Loops
                                                                              Best to generalize code whenever possible.
         ◮ Skipping crucial steps could lead to an infinite loop
         ◮ Common error: forgetting to increment your loop control variable   1 int numEmployees = 7,
                                                                              2 count_emp=0;
         ◮ Syntax error: misplaced semicolons                                 3 printf("How many employees> ");
                                                                              4 scanf("%d", &numEmployees);
       1  count = 1;                                                          5 while(count_emp < numEmployees) {
       2  while(count <= 10); ← WRONG                                         6      . . .
       3 {                                                                    7      count_emp = count_emp + 1;
       4      printf("Count = %d\n",count);                                   8 }
       5      count = count + 1;
       6 }
                                                                              Using numEmployees instead of the constant 7 allows our code to be more
                                                                              general.
    While Loop Exercise                                                    While Loop Exercise
                                                                           Answer
       Exercise
       Write a while loop to compute the sum of natural numbers 1 to 100:     1 int sum = 0;
                           100                                                2 int i = 1;     /* our loop control variable */
                          Xi=1+2+···+100                                      3 while (i <= 100)
                           i=1                                                4 {
       Generalize the loop so that the sum from 1 to any n can be computed.   5     sum = sum + i;
                                                                              6    i = i + 1;
       Steps to design:                                                       7 }
                                                                              8 printf("Sum is %d\n", sum);
         ◮ Identify and define a loop control variable.
         ◮ Write the syntax for the loop control structure
         ◮ Fill in the code used within the loop to compute the sum
    While Loop Exercise                                                    While Loop Example II
    Answer: Generalized                                                       Instead of the sum of integers 1 to n, compute the product:
                                                                                                 100
       1 int sum = 0;                                                                            Yi=1×2×...×100
       2 int n = 100; /* general variable, may be                                                i=1
       3                 * changed or read from input */                      What changes need to be made?
       4 int i = 1;     /* our loop control variable */
       5  while (i <= n)                                                       ◮ Variable names?
       6 {                                                                     ◮ Initialized variable value?
       7     sum = sum + i;
       8     i = i + 1;                                                        ◮ Operators?
       9 }                                                                    Note: this is the factorial function,
      10  printf("Sum 1 to %d is %d\n", n, sum);
                                                                                                           n
                                                                                                       n! = Yi
                                                                                                           i=1
    While Loop Example II                                                  Program Failed
    Answer
       1 int product = 1;
       2 int n = 100; /* general variable, may be                             Run the previous program: it gives an answer of 0—why?
       3                 * changed or read from input */
       4 int i = 1;     /* our loop control variable */                         ◮ Debug your code: use a printf statement in the loop to see what
       5  while (i <= n)                                                          intermediate values are computed:
       6 {                                                                        printf("i = %3d product = %d\n",i,product);
       7     product = product * i;                                             ◮ Check the answers with a calculator
       8     i = i + 1;                                                         ◮ For what i does this program fail?
       9 }
      10  printf("Product 1 to %d is %d\n", n, product);
    Overflow                                                                Compound Assignment Operators
                                                                                ◮ Expressions such as variable = variable op expression; (where
                                                                                  op is a C operator such as +,-,*,/,) occur frequently
         ◮ We got the wrong answer for i = 13,                                  ◮ C provides several syntax shortcuts
                                                                                ◮ x = x + 1; and x += 1; are “equivalent”
                              13! = 6,227,020,800                               ◮
                                                                                  Can do this with other operators (see table)
         ◮ We used a 32-bit integer to store product
         ◮ Maximum representable value is 231 = 2,147,483,648
                                                                                                  Expression Shortcut
         ◮ When a number is too large (or too small!) to be represented by its                    x = x + 1; x += 1;
           type, overflow occurs (or underflow)                                                     x = x - 1; x -= 1;
         ◮ More sophisticated solutions are available, but beyond this course                     x = x * 5; x *= 5;
                                                                                                  x = x / 2; x /= 2;
                                                                                             Table: Compound Assignment Operators
    Compound Assignment Operators                                          For Loops
    Example Revisited
       1 int product = 1;
       2 int n = 100; /* general variable, may be
       3                 * changed or read from input */
       4 int i = 1;     /* our loop control variable */                         ◮ Program Style
       5  while (i <= n)                                                        ◮ Increment and Decrement Operators
       6 {                                                                      ◮ Increment and Decrement Other Than 1
       7     product *= i;
       8     i += 1;
       9 }
      10  printf("Product 1 to %d is %d\n", n, product);
     For Loops                                                                                      For Loop Example
                                                                                                         Computing the sum using a for-loop:
                                                                                                        1 int sum = 0;
            ◮ Any repetition can be implemented using a while loop                                      2 int n = 100;
                                                                                                        3 int i;
            ◮ Another way to construct a counting loop is to use a for loop                             4 for(i = 0; i <= n; i++)
            ◮ C provides for statements as another form for implementing loops.                         5 {
            ◮ As before we need to initialize, test, and update the loop control variable.              6       sum = sum + i;
            ◮ The syntax for a for statement is more rigid: it designates a specific                     7 }
              place for the initialization, testing, and update components
                                                                                                           ◮ Advantages: more readable, more predictable
                                                                                                           ◮ Easier to debug
                                                                                                           ◮ Pitfall: note the placement of semicolons!
     Increment Operators                                                                            Program Style
            ◮ New syntax: i++                                                                            For clarity, the book usually places each expression of the for heading on a
            ◮ Known as a (postfix) increment                                                              separate line. If all three expressions are very short, however, they will be
            ◮ “Equivalent” to i = i + 1                                                                  placed on one line.
            ◮ Also available: (postfix) decrement: i-- (“equivalent” to i = i - 1)                        The body of the for loop is indented just as the if statement.
     Increment and Decrement Operators                                                              Increment and Decrement Other Than 1
          The counting loops that we have seen have all included assignment
          expressions of the form                                                                        Wecan use the “shortcut” compound assignment operators with values other
                                                                                                         than 1
            ◮ counter = counter + 1
            ◮ counter++                                                                                    ◮ Increment operations: sum = sum + x or sum += x, will take the
            ◮ counter += 1                                                                                   value of sum, add x to it, and then assign the new value to sum
                                                                                                           ◮ Decrement operations: temp = temp - x or temp -= x, will take the
          This will add 1 to the variable counter.                                                           value of temp, subtract x from it and then assign the new value to temp
          Using -- will subtract one from the counter.
The words contained in this file might help you see if this file matches what you are looking for:

...Chapter computer science engineering e repetition in programs i systems focus counting loops and the while statement lecture computing a sum or product loop for conditional christopher m bourke design cbourke cse unl edu nested do flag controlled how to debug test common programming errors counter is whose just as ability make decisions if else selection statements an managed by control variable value represents count also important tool so too specify of called group operations when solving general problem it sometimes helpful write solution set initial specic case once this done ask yourself somefinalvalue were there any steps that repeated which ones block program code know many times will have repeat increase not did long keep repeating end algorithm c syntax computes displays gross pay seven employees body compound between brackets initialize condition controls without initialization meaningless int emp before start each stmts update during iteration printf hours scanf d ensures p...

no reviews yet
Please Login to review.