1 / 39

Chapter 5: Repetition and Loop Statements

Chapter 5: Repetition and Loop Statements. Problem Solving & Program Design in C Sixth Edition By Jeri R. Hanly & Elliot B. Koffman. Introduction to Repetition Structures. A repetition structure causes a statement or set of statements to execute repeatedly

zamir
Télécharger la présentation

Chapter 5: Repetition and Loop Statements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5:Repetition and Loop Statements Problem Solving & Program Design in C Sixth Edition By Jeri R. Hanly & Elliot B. Koffman

  2. Introduction to Repetition Structures A repetition structure causes a statement or set of statements to execute repeatedly Allow a programmer to avoid duplicate code • Duplicate code makes a program large • Write a long sequence of statements is time consuming • If part of the duplicate code has to be corrected or changed, then the change has to be done many times

  3. Condition-Controlled Loops • While Loop • While a condition is true, do some task • Do-While Loop • Do some task, while condition is true • Do-Until Loop • Do some task, while a condition is false (or until it’s true) • With all loops, be careful not to create infinite loops – always provide a way to break out

  4. Condition-Controlled Loops The While Loop – pretest loop While condition Statement Statement End While Figure 5-1 The logic of a While loop

  5. Condition-Controlled Loops Working with Modules and Loops • To run a program multiple times, modules can be put within a loop Figure 5-5 The main module of Program 5-3

  6. Condition-Controlled Loops The Do-While Loop – posttest loop Do Statement Statement While condition Figure 5-8 Flowchart for the main module in Program 5-4

  7. Condition-Controlled Loops The Do-Until Loop • Loop iterates until a condition is true, but not all languages support this type of loop Figure 5-10 The logic of a Do-Until loop

  8. Count-Controlled Loops A count-controlled loop iterates a specific number of times • A for loop is best used for this situation For counterVariable = startingValue to maxValue statement statement End for • There is an Initialization, Test, and Increment expression that controls the loop

  9. Count-Controlled Loops For loops can also increment by more than one, count backwards by decrementing, or allow the user to control the number of interactions The for loop in action Figure 5-14 Flowchart for Program 5-8

  10. Count-Controlled Loops General loop concerns • Do not forget to initialize the loop control variable • Do not forget to modify the loop control variable • Many loops are interchangeable, but generally • Use while loop when loop may not have to process • Use do while when it must process at least once • Use for loop with specific number of iterations

  11. 5.4 Calculating a Running Total A running total is a sum of number that accumulates with each iteration of a loop

  12. Sentinels A sentinel is a special value that marks the end of a list of values, used as stop values for loops How it can be done • Ask the user at the end of each loop iteration, if there is another value to process • Ask the user at the beginning of the loop, how many times the loop should process

  13. Sentinels – Controlled loop printf(“Enter first score (or %d to quit) “ ,SENTINEL); for (scanf(“%d”, &score); score != SENTINEL; scanf(“%d”, &score)) { sum += score; printf(“Enter next score (%d to quit) “, SENTINEL); } • Initialize sum to zero. • Get first Score • While score is not the sentinel • Add score to sum • Get the next score #define SENTINEL -99 printf(“Enter first score (or %d to quit) “ ,SENTINEL); scanf(“%d”, &score); while (score != SENTINEL){ sum += score; printf(“Enter next score (%d to quit) “, SENTINEL); scanf(“%d”, &score); } printf(“\nSum of exam scores is %d\n”, sum);

  14. Nested Loops Figure 5-21 Flowchart for a clock simulator All loops can be nested, that is, a loop inside of a loop

  15. Figure 5.1 Flow Diagram of Loop Choice Process

  16. Figure 5.2 Program Fragment with a Loop

  17. Figure 5.3 Flowchart for a while Loop

  18. Figure 5.4 Program to Compute Company Payroll

  19. Figure 5.4 Program to Compute Company Payroll

  20. Figure 5.5 Using a for Statement in a Counting Loop

  21. *Multiplication Table of 9*/ /* Displays the 9s Table */ #include <stdio.h> /* printf, scanf definitions */ #define MULT_NUM 9 int main(void) { int num, answer = 0; /* Display 9s Table */ printf("The 9's Multiplication Table \n\n"); for (num = 0; num < 10; ++num) { answer = num * MULT_NUM; printf("%d times %d = %d \n", num, MULT_NUM, answer); } printf(" \n"); return (0); }

  22. /*Multiplication Tables*/ /* Displays all the tables */ #include <stdio.h> /* printf, scanf definitions */ int main(void) { int num, mult_num, answer = 0; /* Display 9s Table */ printf("The Multiplication Tables \n\n"); for (num = 0; num < 10; ++num) { for(mult_num = 0; mult_num < 10; ++mult_num){ answer = num * mult_num; printf("%d times %d = %d \n", num, mult_num, answer); } printf(" \n"); } printf(" \n"); return (0); }

  23. Figure 5.6 Comparison of Prefix and Postfix Increments

  24. Figure 5.7 Function to Compute Factorial

  25. Figure 5.8 Displaying a Celsius-to-Fahrenheit Conversion Table

  26. Figure 5.9 Program to Monitor Gasoline Storage Tank

  27. Figure 5.9 Program to Monitor Gasoline Storage Tank

  28. Figure 5.9 Program to Monitor Gasoline Storage Tank

  29. Figure 5.10 Sentinel-Controlled while Loop

  30. Figure 5.11 Batch Version of Sum of Exam Scores Program

  31. Figure 5.12 Program to Process Bald Eagle Sightings for a Year

  32. Figure 5.12 Program to Process Bald Eagle Sightings for a Year

  33. Figure 5.13 Nested Counting Loop Program

  34. Figure 5.14 Validating Input Using do-while Statement

  35. Figure 5.15 Structure Chart for Computing Solar Collecting Area Size

  36. Figure 5.16 Program to Approximate Solar Collecting Area Size

  37. Figure 5.16 Program to Approximate Solar Collecting Area Size

  38. Figure 5.16 Program to Approximate Solar Collecting Area Size

  39. Figure 5.16 Program to Approximate Solar Collecting Area Size

More Related