360 likes | 736 Views
Iteration (Loop) part II. Thanachat Thanomkulabut. Outline. For statements Nested loops Break statements Continue statements. Iteration. (repeat). Looping or Iteration in C#. while. do…while. foreach. for. Kinds of Iteration statements. กำหนด จำนวนครั้งที่ทำซ้ำได้. for statement.
E N D
Iteration (Loop) part II Thanachat Thanomkulabut
Outline • For statements • Nested loops • Break statements • Continue statements
Iteration (repeat) Looping or Iteration in C# while do…while foreach for
Kinds of Iteration statements กำหนด จำนวนครั้งที่ทำซ้ำได้
for statement For Single Statement for ( [initializers]; [condition]; [runner] ) statement; For Multiple Statements for ( [initializers]; [condition]; [runner] ) { statement-1; statement-2; . . statement-N; }
for statement START 1 initializers 1 2 3 2 for ( [initializers]; [condition]; [runner] ) statement; condition false true Statement 3 runner END
for statement START i = 1 Example of for statement static void Main() { int i; for(i = 1; i <= 4; i++)Console.WriteLine(i); } i <= 4 false true FALSE TRUE WriteLine(i) Output 1 i++ 2 i 3 5 1 2 3 4 END 4
For Loop vs While Loop static void Main() { inti; for(i=1; i<=4; i++)Console.WriteLine(i); } inti=1; while (i<=4 ) { Console.WriteLine(i); i++; }
For statement example Output static void Main() { int k; for (k = 0; k <= 4; k++) Console.Write("A"); Console.Write(k); } 5 A A A AA
for statement example • Write the program to show even number 2,4,6,...,n static void Main() { int k,n; Console.Write(“Input n :”); n = int.Parse(Console.ReadLine()); for ( ; ; ) { } } k = 1 k <= n k++ if(k%2==0) Console.WriteLine(k);
IMPROVE • Write the program to show even number 2,4,6,...,n static void Main() { int k,n; Console.Write(“Input n :”); n = int.Parse(Console.ReadLine()); for ( ; ; ) { } } k = 2 k <= n k=k+2 Console.WriteLine(k);
x power n(คูณสะสม ) inti,n,x, product; Console.Write( “Enter value of x : “ ); x = int.Parse( Console.ReadLine( ) ); Console.Write( “Enter value of n : “ ); n = int.Parse( Console.ReadLine( ) ); product = 1; i=0; while (i < n) { product = product *x; i = i+1; } Console.WriteLine(“{0} power {1}={2}”, x,n, product); Product = 1 Product = 1*x Product= (1*x)*x Product= (1*x*x)*x
Find n factorial intn,x,fact; Console.Write( “Enter value of n : “ ); n = int.Parse( Console.ReadLine( ) ); fact = n; x = n-1; while (x >= 1) { fact = fact*x; x = x-1; } Console.WriteLine(“{0}! = {1}”, n, fact);
5 i2 i =1 Test I : Problem #1: Find = 1*1 + 2*2 + 3*3 + 4*4 + 5*5 static void Main() { int N=0, SUM=0, i=0; Console.Write(”Please input number: ”); N = int.Parse(Console.ReadLine()); for ( ??? ; ??? ; ??? ) SUM = SUM + ??? ; Console.WriteLine(”SUM = {0}”, SUM); }
Outline • For statements • Nested loops • Break statements • Continue statements
Nested Loops : Example for (int outer = 1; outer <= 4; outer++) { Console.WriteLine("Outer = {1} & Inner={0}”, 1, outer); Console.WriteLine("Outer = {1} & Inner={0}”, 2, outer); Console.WriteLine("Outer = {1} & Inner={0}”, 3, outer); }
Nested Loops : Example • Nested for loops • Do not use the same runner variable in the outer loop and the inner loop for (int outer = 1; outer <= 4; outer++) { for (int inner = 1; inner <=3; inner++) { Console.WriteLine("Outer = {1} & Inner={0}”, inner,outer); } }
Nested Loops : Example Output Outer = 1 & Inner = 1 for (int outer = 1; outer <= 4; outer++) { for (int inner = 1; inner <=3; inner++) { Console.WriteLine("Outer = {1} & Inner = {0}" , inner,outer); } } Outer = 1 & Inner = 2 Outer = 1 & Inner = 3 Outer = 2 & Inner = 1 Outer = 2 & Inner = 2 Outer = 2 & Inner = 3 Outer = 3 & Inner = 1 Outer = 3 & Inner = 2 Outer = 3 & Inner = 3 Outer = 4 & Inner = 1 Outer = 4 & Inner = 2 Outer = 4 & Inner = 3
Nested Loops : Example Nested while loops int outer = 1; while (outer <= 4) { int inner = 1 ; while (inner <= 3) { Console.WriteLine("Outer = {1} & Inner = {0}" , inner ,outer); inner = inner +1; } outer = outer +1; }
Nested Loops : Example Nested do...while loops int outer = 1; do { int inner = 1; do { Console.WriteLine("Outer = {1} & Inner = {0}", inner ,outer); inner = inner +1 } while (inner < 6); outer = outer + 1; inner = 1 }while (outer < 5);
Test II : Nested Loops : Example • Write the program to Show output 1 12 123 1234 12345 int i,j; for( ; ; ) { for( , , ) { } }
Break statement • The break statement terminates the closest enclosing loop or switch statement in which it appears
Break statement example int i,j; for(i=1;i<=10;i++) { Console.WriteLine(i); if(i==5)break; } Console.Write(“final i = {0}”,i); i 1 2 3 4 5 Output 1 2 3 4 5 final i = 5
Continue Statement i sum Output 0 1 2 3 0 +1 +3 +5 +7 +9 final sum = 25 int i=0,sum=0; do{ i++; if(i%2==0) continue; sum = sum+i; }while(i<10); Console.WriteLine("final sum={0}",sum);
Continue statement example int i=0,sum=0; for(i=1;i<=10;i++ ) { if(i%2==0) continue; sum = sum+i; } Console.WriteLine("final sum={0}",sum); When program control reaches a continue statement, it transfers to the third section within the for loop parentheses (i++). Once this is complete, control transfers to the boolean expression for evaluation in the next iteration.