260 likes | 282 Views
Iteration (Loop) partII. Thanachat Thanomkulabut. review. Switch-case example. <expression> must be int, char, string. 2. char version. int version. char op ; Console . Write ( "Select + - / * :" ); op = char . Parse ( Console . ReadLine ()); switch ( op ) { case '+' :
E N D
Iteration (Loop) partII Thanachat Thanomkulabut
review Switch-case example <expression> must be int, char, string 2 char version int version char op; Console.Write("Select + - / * :"); op=char.Parse(Console.ReadLine()); switch(op) { case '+': Console.Write("{0}+{1}={2}", x,y,x+y); break; case '-': Console.Write("{0}-{1}={2}", x,y,x-y); break; : default: Console.Write("Try again"); break; } int day_num; day_num= int.Parse(Console.ReadLine()); switch(day_num ) { case 1: Console.Write ("Sunday"); break; case 2: console.Write("Monday"); break; : default : Console.Write(“Try again"); break; } <expression>
review Switch-case example (continue) <expression> must be int, char, string string version string op; Console.Write("Select + - / * :"); op=Console.ReadLine(); switch(op) { case “+”: Console.Write("{0}+{1}={2}", x,y,x+y); break; case “-”: Console.Write("{0}-{1}={2}", x,y,x-y); break; : default: Console.Write("Try again"); break; } <expression>
review Flowchart of Switch-case (1/2) int day_num; day_num= int.Parse(Console.ReadLine()); switch(day_num) { case 1: Console.Write ("Sunday"); break; case 2: console.Write("Monday"); break; : default : Console.Write(“Try again"); break; } label (day_num) label=1 statement1 (day_num=1) label=2 statement2 (day_num=2) label=3 statement3 (day_num=3) : : default statement n
review Flowchart of Switch-case (2/2) 5 int month; Console.Write("Input Month"); month = int.Parse(Console.ReadLine()); switch(month) {case1: case3: case5: : Console.Write("This month = 31days"); break; case4: case6: : Console.Write(" This month = 30days"); break; default : Console.Write ("Input again"); break; } label (month) label=1,3,5,… statement1 (month=1,3,5,…) label=4,6,… Statement2 (month=4,6,…) : : default statement n
Outline • For statements • Nested loops • Break statements • Continue statements
Iteration (repeat) Looping or Iteration in C# while do…while foreach for
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 for ( [initializers]; [condition]; [runner] ) statement; initializers Example of for statement static void Main() { int i; for(i = 1; i <= 4; i++)Console.WriteLine(i); } condition false true FALSE TRUE Statement Output 1 runner 2 i 3 5 1 2 3 4 END 4
for statement example static void Main() { int k; for (k = 0; k <= 4; k++) Console.Write("A "); Console.Write(k); } Output A A A A A 5
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);
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 = 2 k <= n k = k+2 Console.WriteLine(k);
Test I : Find n factorial int n,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 II : 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 • 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 III : 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);