Module5 Looping Techniques: Part 2 Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart University, Bangkok THAILAND
Switch-case example <expression> must be int, char, string review Switch-case example <expression> must be int, char, string 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); : default: Console.Write("Try again"); } int day_num; day_num= int.Parse(Console.ReadLine()); switch(day_num ) { case 1: Console.Write ("Sunday"); break; case 2: console.Write("Monday"); : default : Console.Write(“Try again"); } <expression>
Switch-case example (continue) 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); : default: Console.Write("Try again"); } <expression>
Flowchart of Switch-case review Flowchart of Switch-case int day_num; day_num= int.Parse(Console.ReadLine()); switch(day_num ) { case 1: Console.Write ("Sunday"); break; case 2: console.Write("Monday"); : default : Console.Write(“Try again"); } label (day_num) label=1 statement1 (day_num=1) label=2 statement2 (day_num=2) label=3 statement3 (day_num=3) : default statement n
Looping or Iteration in C# while Iteration for foreach do…while
Outline do…while statement for statement
while statement while (condition) statement;
do…while statement For Single Statement do { statement; } while (condition); For Multiple Statements do { statement-1; statement-2; . statement-N; } while (condition);
Sentinel Loops: example static void Main() { int N, SUM; SUM = 0; N = 0; Console.Write(”Enter number or -1 to quit”); N = int.Parse(Console.ReadLine()); while (N != -1) { SUM = SUM+N; } Console.WriteLine(“The sum is {0}.”, SUM); 1st Time (redundant part)
Sentinel Loops: do…while Version static void Main() { int N, SUM; SUM = 0; N = 0; do { Console.Write(”Enter number or -1 to quit”); N = int.Parse(Console.ReadLine()); if (N!= -1) SUM = SUM+N; } while (N != -1); Console.WriteLine(”The sum is {0}.”, SUM); }
Factorial Number: C# Program review Factorial Number: C# Program QUIZ1 N! = N * (N-1) * (N-2) * (N-3) *...* 1 Example 5! = 5*4*3*2*1 static void Main() { int N, FACT=1; FACT = 1; Console.Write(”Please input number: ”); N = int.Parse(Console.ReadLine()); while ( ?????? ) { FACT = ?????? ; ???? ; }; Console.WriteLine(”The factorial is {0}.”,FACT); } Find N! N > 0 FACT * N N--
Outline do…while statement for statement
for statement For Single Statement For Multiple Statements for ( [initializers]; [expression]; [iterators] ) statement; For Multiple Statements for ( [initializers]; [expression]; [iterators] ) { statement-1; statement-2; . statement-N; }
for statement k = ? for ( [initializers]; [expression]; [iterators] ) START END expression true false Statement iterators initializers for ( [initializers]; [expression]; [iterators] ) statement; static void Main() { int k; for (k = 0; k <= 3; k++) Console.Write("A "); Console.Write(k); } Example of for statement k = ? A A A A 4
Display 1 to 5 on screen while version for version static void Main() { int i; i = 1; while (i <= 5) { Console.WriteLine(“{0}”, i); i++; } while version static void Main() { int i; for (i=1; i<=5; i++) { Console.WriteLine(“{0}”, i); } for version
Problem #1 – Display 10 stars START END expression true false Statement iterators initializers ********** static void Main() { int i=0; for ( ; ; ) Console.Write(”*”); } i=0 i = 0 i < 10 i++ i<10 write(“*”) i++ How to display N stars?
Problem #1: Find QUIZ2 i2 static void Main() { int N=0, SUM=0, i=0; 5 i2 = 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); } i = 1 i <= N i++ i*i
Problem #3 – Display 4x3 stars **** static void Main() { int N=0, M=0; for ( ; ; ) { for ( ; ; ) { Console.Write(”*”); } Console.WriteLine(); M = 0 M < 3 M++ N = 0 N < 4 N++ How to display NxN stars?
Problem #4 – Triangle shape#1 *** ** * static void Main() { int N=0, M=0; for ( ; ; ) { for ( ; ; ) { Console.Write(”*”); } Console.WriteLine(); M = 3 M > 0 M-- N = 0 N < M N++
Problem #5: Find 2n QUIZ3 static void Main() { int N=0, SUM=1, i=1; Console.Write(”Please input number: ”); N = int.Parse(Console.ReadLine()); while (i<=N){ SUM = SUM*2; i++; } Console.WriteLine(”SUM = {0}”, SUM); for ( ; ; ) SUM = SUM * 2; i = 1 i <= N i++