การไหลของโปรแกรมแบบต่าง ๆ โปรแกรมอย่างง่ายมีการไหลจากบนลงล่าง โปรแกรมที่มีคำสั่งเดียว โปรแกรมที่มีหลายคำสั่ง START END Statement Statement 1 Statement 2 Statement n END START Statement 3
4.
การไหลของโปรแกรมแบบต่าง ๆ โปรแกรมแบบมีเงื่อนไขคำสั่ง if คำสั่ง if..else START END Statement condition true false Statement START END Statement f condition true false Statement t Statement t Statement f
ตัวอย่าง : หาผลรวมของตัวเลข 3 ตัว เกิดโจทย์เปลี่ยนเป็นหาผลรวมของเลข 100 ตัว ? หรือกี่ตัวก็ได้จนกว่าผู้ใช้จะป้อนเลขลบ using System; class Summing { static void Main() { int n, sum = 0; Console. Write ( "Enter a value: " ); n = int . Parse (Console. ReadLine ()); sum = sum + n; Console. Write ( "Enter a value: " ); n = int . Parse (Console. ReadLine ()); sum = sum + n; Console. Write ( "Enter a value: " ); n = int . Parse (Console. ReadLine ()); sum = sum + n; Console. WriteLine ( "The sum is {0}." , sum); } } 1 st number 2 nd number 3 rd number
8.
หาผลรวมตัวเลข : โฟลว์ชาร์ต i num Increment i by 1 Print sum on screen true Read a value, n Increment sum by n false END START Let sum = 0 and i = 1
หาผลรวมตัวเลข : โปรแกรม using System; class Summing { static void Main() { int i, n, sum = 0, num; Console. Write ( "How many values do you have: " ); num = int . Parse (Console. ReadLine ()); i = 1; while (i <= num) { Console. Write ( "Enter a value: " ); n = int . Parse (Console. ReadLine ()); sum = sum + n; i = i + 1; } Console. WriteLine ( "The sum is {0}." , sum); } }
11.
ลับสมอง เขียนโฟลว์ชาร์ตและโปรแกรมภาษา C# เพื่อคำนวณค่า sum โดยที่ sum นิยามจากสูตร โดยที่ค่า N รับมาจากผู้ใช้ เช่นถ้า N = 3 , sum = 1+4+9 = 14 ตัวอย่างผลลัพธ์ Enter N: 3 The sum is 14 using System; class Sum { static void Main() { int sum = 0, i = 1, N; Console. Write ( "Enter N: " ); N = int . Parse (Console. ReadLine ()); while ( i <= N ) { sum = sum + i*i; i = i+1; } Console. WriteLine ( "The sum is {0}." , sum); } } ??? ???
12.
ลูปแบบดักค่า ที่ผ่านมาเป็นตัวอย่างของ ลูปวนนับ ( counter loop ) จำนวนครั้งที่วนซ้ำขึ้นอยู่กับค่าที่กำหนดไว้แล้ว ทำอย่างไรหากเราไม่ทราบจำนวนล่วงหน้า ใช้ ลูปแบบดักค่า ( sentinel loop) นิยามค่าที่ใช้ดัก เพื่อให้โปรแกรมหลุดออกจากลูป ตัวอย่าง Enter a number, or -1 to quit: 3 Enter a number, or -1 to quit: 10 Enter a number, or -1 to quit: 15 Enter a number, or -1 to quit: -1 The sum is 28 ตัวดัก
13.
ตัวอย่าง : ลูปดักค่า using System; class Summing { static void Main() { int n, sum = 0; Console. Write ( "Enter a number, or -1 to quit: " ); n = int . Parse (Console. ReadLine ()); while (n != -1) { sum = sum + n; Console. Write ( "Enter a number, or -1 to quit: " ); n = int . Parse (Console. ReadLine ()); } Console. WriteLine ( "The sum is {0}." , sum); } }
14.
ลูปแบบ do...while ทำ stmt1...stmtN ตราบเท่าที่เงื่อนไขยังเป็นจริง stmt1...stmtN จะถูกทำงาน อย่างน้อยหนึ่งครั้ง END condition do { stmt1 ; stmt2 ; : stmtN ; } while ( condition ); false START Statement Statement true
15.
ลูปแบบดักค่าแบบ do...while using System; class Summing { static void Main() { int n, sum = 0; do { Console. Write ( "Enter a 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); } }