Unformatted text preview:

JavaScript VIIterationExamplesJavaScript constructswhileComparison of if and whileExampleWhile Loop ExampleWhile Loop PageCounter-Driven LoopsCounter + while loopSlide 12Counter-Driven Loops PageCommon ErrorsMore Common ErrorsAn Alternate FormulationSlide 17Countdown PageLoops Without CountersOther ExamplesFor loopsFor syntaxSpecial caseSlide 24JavaScript VILoops & Repetition StatementsIterationInstructions on a shampoo bottleput on hairlatherrinserepeatWe call this "iteration"executing some action repeatedlyusually not forever, but according to some algorithmExamplesRoll the dice until you make your roll doublesCalculate a grade for each student in the classScan each word in a document, looking for one that is misspelledCompute the monthly interest on the loan for each of the next 12 monthsJavaScript constructswhile loopUsed to repeatedly perform a sequence of statements as long as some condition holdsfor loopUsed to repeatedly perform a sequence of statements for a specified number of timeswhileSyntax… while (condition) {... body ...}…Meaning:Upon reaching the while, check the condition.Execute the body of the loop repeatedly as long as the condition remains true.If and when the condition becomes false, then exit the loop and continue with the rest of the programNote that the body of the loop must change the condition. Why?Comparison of if and whileAppearance is similarif (condition) {... body ...}while (condition) {... body ...}Meaning is similartrue condition means body is executedDifference is in repetitionbody in if statement is executed at most oncebody in while loop is repeatedly executed until condition is falseExampleGet a positive number N as value from user, compute and print the sum from 1 to NN = prompt(“Enter a number:”, “0”);N = parseInt(N);sum = 0;i = 1;while (i <= N) {sum = sum + ii = i + 1;}document.write(“Sum of numbers from 1 to “ + N + “ is: “ + sum + “.”);Exercise: modify this to compute the sum of all numbers between two user-specified number M and N, with M < N.What if we forgot this step?8While Loop Exampleexample: roll two dice repeatedly until doubles are obtainedsample output:note: even though while loops and if statements look similar, they are very different control statementsan if statement may execute its code 1 time or not at alla while loop may execute its code an arbitrary number of times (including not at all)9While Loop PageCounter-Driven LoopsThe Sum of 1 to N program was an example of a “counter-driven” loopOften we want to repeat an action some number of timesroll the dice 1000 timesprint out the first 10 lines of a filewe need a loop that executes some number of timesCounter + while loopGeneral form to execute body N timesvar counter = 0;while (count < N){bodycounter = counter + 1;}Notecounter is only used to keep track of the repetitionswhat happens if we don't increment the counter?why isn't the test count <= N or count == N?12Counter-Driven Loopsexamples:13Counter-Driven Loops PageCommon ErrorsBody of the code doesn't change the conditioni = 1;while (i <= N) { sum = sum + i}i = 0;while (i <= N) { sum = sum + i i = i + 1;}Wrong initializationi = 1;while (i <= N) { i = i + 1; sum = sum + i}Modification step is out of orderMore Common ErrorsWrong conditioni = 1;while (i < N) { sum = sum + i}// print odd numbers < 10x = 1;while (x != 10) { document.writeln(x); x = x + 2;}How about this?An Alternate FormulationCount down instead of upvar counter = N;while (count > 0){bodycounter = counter - 1;}Pointsis this the right test?Examplecount.htmlPurpose: Count down to 0Some new features:Continuous addition of text to text area document.CountForm.Output.value = document.CountForm.Output.value + count + "\n";document.CountForm.Output.value = document.CountForm.Output.value + count + "\n";Countdown PageLoops Without CountersLoop conditions can be based on any Boolean expressionNot just involving countersSuch as comparison of two variables or quantitiesExample: roll.htmlPurpose: keep rolling until doublesAgain using continuous addition of text to text area document.DiceForm.Output.value = document.DiceForm.Output.value + "You rolled: " + roll1 + " " + roll2 + "\n";document.DiceForm.Output.value = document.DiceForm.Output.value + "You rolled: " + roll1 + " " + roll2 + "\n";Other Examplesstats.htmlFor loopsSimplifies the counter-driven patternTo execute body N timesvar counter = 0;while (count < N){bodycounter = counter + 1;}For-loop versionfor (counter = 0; counter < N; counter = counter + 1){body}For syntaxfor (variable = initial value; exit condition; increment step)fairly flexiblebut almost always used for simple countingfor (i = 0; i < N; i++){body}Noterepeats the body N timesi is a conventional name for a loop counteri++ is the same as i = i + 1Special casethe for loop is a special case of the while loopyou can always rewrite a for loop as a while loopfor (variable = initial value; condition; increment step){body}Rewritten asvariable = initial value;while (condition){bodyincrement step;}Example“For” version of Sum-1-to-N programN = prompt(“Enter a number:”, “0”);N = parseInt(N);sum = 0;for (i = 1; i <= N; i++) {sum = sum + i;}document.write(“Sum of numbers from 1 to “ + N + “ is: “ + sum +


View Full Document

DePaul IT 130 - JavaScript VI

Download JavaScript VI
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view JavaScript VI and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view JavaScript VI 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?