1 / 35

Chapter 6

Chapter 6. Repetition. Outline & Objectives. Loop Structure Elements of a Loop Structure Processing Lists of Data with Do Loops. Types of LOOP Structures. Do While ……. Loop Do Until …… Loop For …… Next loop. Basic Definition.

lidia
Télécharger la présentation

Chapter 6

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 6 Repetition Chapter 6 - Visual Basic Schneider

  2. Outline & Objectives • Loop Structure • Elements of a Loop Structure • Processing Lists of Data with Do Loops Chapter 6 - Visual Basic Schneider

  3. Types of LOOP Structures • Do While ……. Loop • Do Until …… Loop • For …… Next loop Chapter 6 - Visual Basic Schneider

  4. Basic Definition • Looping: the process of repeating a series of statements multiple times until a criteria is met Chapter 6 - Visual Basic Schneider

  5. Basic Components of Loops • Loop control variable: A variable used to determine whether a loop will be executed • Loop body: The statement (s) that are executed each time a loop repeats Chapter 6 - Visual Basic Schneider

  6. The Do While ……. Loop Do Whilecondition is true statement(s) Loop Chapter 6 - Visual Basic Schneider

  7. Flowchart for a Do While Loop Is the condition true No Yes Execute statements within the loop Execute statements that follow the loop Chapter 6 - Visual Basic Schneider

  8. Example (Displays the numbers from 1 through 10) Private Sub cmdDisplay_Click() Dim num As Integer ' Display the numbers from 1 to 10 num = 1 Do Whilenum <= 10 picNumbers.Print num; num = num + 1 Loop End Sub Chapter 6 - Visual Basic Schneider

  9. The Do While ……. Loop • Is executed as long as the condition is True. • If condition is False then the next statement after the Loop is executed. Chapter 6 - Visual Basic Schneider

  10. Controlling Loops • Methods of controlling loops: • Counter-controlled loops • repeat a specific number of times • Event-controlled loops • repeat until something happens in the loop body to change the value of loop control variable. Chapter 6 - Visual Basic Schneider

  11. Example of event-controlled loops passWord = "" Do While passWord <> "SHAZAM" passWord = UCase(InputBox("What is the password?")) Loop Chapter 6 - Visual Basic Schneider

  12. Counter-controlled Loops • Is useful when the programmer knows how many times the loop should be executed. • Initialize the counter by setting it to a beginning value before entering the loop. • The counter is incremented (or decremented) by the same value during each repetition. Chapter 6 - Visual Basic Schneider

  13. Example num = 1 Do While num <= 10 picOutput.Print num; num = num + 1 Loop Chapter 6 - Visual Basic Schneider

  14. Do Until ……. Loop • Is executed until the condition becomes True • Any Do While…. Loop can be rewritten as a Do Until ….. Loop Chapter 6 - Visual Basic Schneider

  15. Example (requires the user to give a password before opening a file) Private Sub cmdDisplay_Click() Dim passWord As String, info As String If UCase(txtName.Text) = "SECRET.TXT" Then Do passWord = UCase(InputBox("What is the password?")) Loop UntilpassWord = "SHAZAM" End If Open txtName.Text For Input As #1 Input #1, info picItem.Cls picItem.Print info Close #1 End Sub Chapter 6 - Visual Basic Schneider

  16. Example (years to deplete a saving account) Private Sub cmdEstimate_Click() Dim amt As Single, yrs As Integer ' Years to deplete savings account picResult.Cls amt = 15000 yrs = 0 Do amt = amt * 1.05 - 1000 yrs = yrs + 1 Loop Untilamt <= 0 picResult.Print "It takes"; yrs; "years to deplete the account." End Sub Chapter 6 - Visual Basic Schneider

  17. Comparing While… and Until Loops • The Do While … Loop executes while the condition is true • The Do Until….. Loop executes until the condition is true • Both can be used to create any type of loop Chapter 6 - Visual Basic Schneider

  18. EOF Function • EOF(n) is True if the end of the file having reference number n has been reached. Otherwise, it is False • Example: Open “PHONE.TXT” for Input As #1 Do While Not EOF(1) Input #1, nom, phoneNum picOutput.Print nom, phoneNum Loop Close #1 Chapter 6 - Visual Basic Schneider

  19. Counters and Accumulators • A counter is a numeric variable that keeps track of the number of items that have been processed in a loop. • An accumulator is a numeric variable that holds a sub-total during multiple passes through a loop. Chapter 6 - Visual Basic Schneider

  20. Example:Counter& Accumulator Private Sub cmdAnalyze_Click() Dim numCoins As Integer, sum As Single, value As Single Open "COINS.TXT" For Input As #1 numCoins = 0 sum = 0 Do While Not EOF(1) Input #1, value numCoins = numCoins + 1 sum = sum + value Loop picValue.Print "The value of the"; numCoins; "coins is"; sum; "cents." End Sub Chapter 6 - Visual Basic Schneider

  21. Compare • Do While ……. Loop • Do ……. Loop While • Do ……. Loop Until • Do Until ……. Loop Chapter 6 - Visual Basic Schneider

  22. Review How many times will the following loops execute? num = 11 Do While num <= 10 picOutput.Print num; num = num + 1 Loop num = 11 Do picOutput.Print num; num = num + 1 • Loop until num <= 10 Chapter 6 - Visual Basic Schneider

  23. Review Which loop is infinite? Do While i < 10 i = i + 1 Loop Do i = i + 1 Loop While i < 10 Do i = i + 10 Loop Until i < 10 Do Until i < 10 Loop Chapter 6 - Visual Basic Schneider

  24. For … Next Loop • A loop where the number of iterations is determined by a range of values for a numeric variable • Syntax: For controlVariable = initialToterminal statement(s) NextcontrolVariable Chapter 6 - Visual Basic Schneider

  25. Example Private Sub cmdDisplayTable_Click() Dim i As Integer ‘Display a table of the first 5 numbers and their squares For i = 1 To 5 picTable.Print i; i ^ 2 Next i End Sub Control variable Terminating value Initial Value Chapter 6 - Visual Basic Schneider

  26. Example Dim numVar As Integer FornumVar= 1 To 5 Step 2 picOutput.Print numVar; Next numVar Output: 1 3 5 Chapter 6 - Visual Basic Schneider

  27. When a For statement is encountered • The control variable is assigned the initial value. • After each loop iteration, the step value is added to the value of the control variable. (If there is no step value, 1 is added.) • Iteration continues until the terminating value is exceeded. Chapter 6 - Visual Basic Schneider

  28. Rules for Using For ... Next loop • You should never modify the value of the loop control variable in the loop body. • Each For loop must end with a Next statement. Chapter 6 - Visual Basic Schneider

  29. Example Private Sub cmdDisplay_Click() Dim i As Integer For i = 1 To 10 picOutput.Print "*"; Next i End Sub Output: ********** Chapter 6 - Visual Basic Schneider

  30. Example Private Sub cmdDisplay_Click() Dim i As Integer, stars As Integer stars = Val(InputBox("Row length (1-20) : ")) For i = 1 To stars picOutput.Print "*"; Next i End Sub Chapter 6 - Visual Basic Schneider

  31. Example Dim numVar As Integer For numVar = 8 To 1 Step -2 picOutput.Print numVar; Next numVar Output: 8 6 4 2 Chapter 6 - Visual Basic Schneider

  32. Nested Loops For outer = 1 To 4 Forinner = 1 To 2 .. .. Next inner Next outer Chapter 6 - Visual Basic Schneider

  33. Example: Display a 10x10 rectangle of stars Private Sub cmdDisplay_Click() Dim i As Integer, j As Integer For i = 1 To 10 For j = 1 To 10 picOutput.Print "*"; Next j picOutput.Print Next i End Sub Chapter 6 - Visual Basic Schneider

  34. Review Fori= -5 To -1 Step - 2 picOutput.Print i; Next i picOutput.Print i; Fori= 1 To 5 Step 2 i=i+1 picOutput.Printi; Next i picOutput.Printi; Chapter 6 - Visual Basic Schneider

  35. Review Private Sub cmdDisplay_Click() Dim i As Integer, j As Integer For i = 1 To 10 For j = i To 10 picOutput.Print "*"; Next j picOutput.Print Next i End Sub Private Sub cmdDisplay_Click() Dim i As Integer, j As Integer Fori = 1 To 10 For j = 1 Toi picOutput.Print "*"; Next j picOutput.Print Next i End Sub Chapter 6 - Visual Basic Schneider

More Related