SlideShare a Scribd company logo
การเขียนโปรแกรมทำซ้ำ  (Loop, Iteration, Repetition)
การเขียนโปรแกรมทำซ้ำ  ( Loop, Iteration, Repetition) คือ  การเขียนโปรแกรมทำคำสั่งเดิมซ้ำเกินกว่า  1  ครั้ง  โดยจำนวนครั้งของการทำงานจะเป็นไปตามเงื่อนไขที่กำหนดไว้
สิ่งที่ต้องทราบเมื่อเขียนโปรแกรมทำซ้ำ คำสั่งอะไรบ้างที่ต้องการให้ทำซ้ำ เงื่อนไขในการตรวจสอบเพื่อทำซ้ำ คืออะไร
การสร้างเงื่อนไขในการตรวจสอบ ทำได้  2  วิธีคือ สร้างเงื่อนไขโดยการเปรียบเทียบ สร้างเงื่อนไขโดยการหาค่าลอจิก
สร้างเงื่อนไขโดยการเปรียบเทียบ คือเอาค่าที่อยู่ทางด้านซ้ายมือของเครื่องหมายเปรียบเทียบกับค่าที่อยู่ทางขวามือของเครื่องหมาย ว่าเป็นจริงหรือเท็จ เช่น   i < 3  ดังนั้น ถ้า  i  มีค่า  0, 1, 2  ผลลัพธ์ที่ได้หลังเปรียบเทียบคือ จริง แต่ถ้า  i  มีค่า  3, 4, 5  ผลลัพธ์ที่ได้หลังเปรียบเทียบคือ เท็จ
สร้างเงื่อนไขโดยการเปรียบเทียบ  ( ต่อ ) เครื่องหมายที่ใช้ในการเปรียบเทียบได้แก่ >  มากกว่า <  น้อยกว่า ==  เท่ากับ !=  ไม่เท่ากับ >=  มากกว่าเท่ากับ <=  น้อยกว่าเท่ากับ
การหาค่าลอจิก คือ การหาค่าจริง หรือ เท็จ จากโอเปอเรเตอร์ชนิดลอจิก  เครื่องหมายลอจิคอลโอเปอเรเตอร์ คือ &&  และ  AND ||   หรือ   OR !   ไม่   NOT
การหาค่าลอจิก  ( ต่อ ) ตัวอย่างการหาค่าความจริง เท็จ เท็จ จริง เท็จ เท็จ จริง เท็จ เท็จ จริง เท็จ จริง เท็จ จริง เท็จ จริง จริง จริง เท็จ จริง จริง A || B A && B !B B A
คำสั่งในการเขียนโปรแกรมทำซ้ำ มี  3  แบบ คือ คำสั่งลูป  for คำสั่งลูป  while คำสั่งลูป  do while
คำสั่งลูป  for โครงสร้างของคำสั่งประกอบด้วย for ( int  ตัวแปร   =  ค่าเริ่มต้น ;  ตัวแปร   เครื่องหมายเปรียบเทียบ ค่าสูงสุด หรือต่ำสุด ;   เพิ่ม / ลด ค่าตัวแปร ) { คำสั่งที่ต้องการทำซ้ำ ; } >, <, ==, <=, >=, !=
for (int i=0;  i<5; i++) “ I love C++”; จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการพิมพ์ข้อความ  I love C++  จำนวน  5  ครั้ง กำหนดค่าเริ่มต้นคือ  int i = 0; ตรวจสอบเงื่อนไข คือ  i<5;    หมายความว่าถ้า  i  มีค่าน้อยกว่า    ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้   ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้  i++    เพิ่มค่า  i  ขึ้น  1  ค่า
แบบฝึกหัด :  ให้นักศึกษาเขียน  Flowchart  เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย  *  จำนวน  10  ครั้ง ต้องการทำคำสั่ง  result = result + 1;  จำนวน  100  ครั้ง
for (int i=0;  i<10; i++) “ *”; จริง เท็จ เฉลยการเขียน  Flowchart ต้องการพิมพ์เครื่องหมาย  *  จำนวน  10  ครั้ง กำหนดค่าเริ่มต้นคือ  int i = 0; ตรวจสอบเงื่อนไข คือ  i<10;    หมายความว่าถ้า  i  มีค่าน้อยกว่า    ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้   ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้  i++    เพิ่มค่า  i  ขึ้น  1  ค่า
for (int i=0;  i<100; i++) จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการทำคำสั่ง  result = result + 1;  จำนวน  100  ครั้ง กำหนดค่าเริ่มต้นคือ  int i = 0; ตรวจสอบเงื่อนไข คือ  i<100;    หมายความว่าถ้า  i  มีค่าน้อยกว่า    ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้   ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้  i++    เพิ่มค่า  i  ขึ้น  1  ค่า result = result +1;
ตัวอย่างการเขียนคำสั่งลูป  for
โจทย์ :  ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
ปัญหาคืออะไร  ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ  ตามจำนวนที่ผู้ใช้ระบุ
รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร  ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ  **** เป็นตัวอย่างเครื่องหมาย  ในที่นี้คือ ดาว  ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ  ? เครื่องหมาย ที่ผู้ใช้กำหนด  จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
ตัวแปรที่นำมาใช้เก็บข้อมูล  ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย ,  จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร  symbol  เป็นชนิด  char จำนวนเครื่องหมาย   แทนด้วยตัวแปร  value  เป็นชนิด  int
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย ,  จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ   “ The result is”
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? ( ต่อ ) ประมวลผลโดยการสร้างลูป  for  เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย สร้างตัวแปร  int i  และกำหนดค่าเริ่มต้นเป็น  0 เงื่อนไขคือ  i  ต้องมีค่าน้อยกว่า  value   จึงจะทำการพิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ให้เพิ่มค่า  i  ขึ้น  1  ค่า
start char symbol = ‘ ’; int value = 0; “The result is ” for (int i=0; i < value; i++) symbol stop เท็จ จริง Preprocessor Function symbol, value
ก่อนเขียน  Preprocessor  ลองถามตัวเองว่า ..... 1.  โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่  ? ตอบ  มี ต้องใส่  preprocessor  ว่า  #include<iostream> 2.  โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ  string  หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<string> 3.  โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<math.h> สรุปต้องถามตัวเองว่า  header file  อะไรบ้างที่จำเป็นต้องใช้
Preprocessor  ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h>  เป็น  preprocessor  ตัวเดียวเท่านั้น  เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว  ไม่มีการใช้ตัวแปรแบบ  string  และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
การเขียน  main function void main() { } } ขั้นที่  1  เขียน  void main() { }
การเขียน  main function void main() { } ขั้นที่  2  เขียน  คำสั่งที่อยู่ภายในฟังก์ชัน  main
char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง  cin   และเครื่องหมาย  >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร  symbol รับค่าสองมาเก็บไว้ในตัวแปร   value
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง  cout   และเครื่องหมาย  << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการสร้างลูป  for  เป็นดังนี้ for (int i=0; i<value; i++) {   cout<<symbol; }
ผลลัพธ์สุดท้าย
การเขียนโปรแกรมด้วยคำสั่งลูป  while รูปแบบคำสั่ง คือ while ( เงื่อนไขเปรียบเทียบ ) { คำสั่งที่ต้องการให้ทำงานซ้ำ ; .... คำสั่งเพิ่มหรือลดค่าของตัวแปรในการเปรียบเทียบ ; }
“ I love C++”; จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการพิมพ์ข้อความ  I love C++  ไม่เกิน  5 ตรวจสอบเงื่อนไขถ้า  value    มีค่าน้อยกว่า  5    ให้พิมพ์ข้อความ  “ I love C++” แล้วเพิ่มค่า  value  ขึ้น  1  ค่า *  วนลูปจนกว่า  value  จะเท่ากับ   หรือมากกว่า  5  จะหลุดจากลูป value < 5; value++;
แบบฝึกหัด :  ให้นักศึกษาเขียน  Flowchart  เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย  *  ไม่เกิน  X  ครั้ง ต้องการทำคำสั่ง  result = result + 1;  ไม่เกิน  J  ครั้ง
“ *”; จริง เท็จ เฉลยการเขียน  Flowchart ต้องการพิมพ์เครื่องหมาย  *  ไม่เกิน  x  ครั้ง ตรวจสอบเงื่อนไขถ้า  value    มีค่าน้อยกว่า  x    ให้พิมพ์ข้อความ  “ *” แล้วเพิ่มค่า  value  ขึ้น  1  ค่า *  วนลูปจนกว่า  value  จะเท่ากับ   หรือมากกว่า  x  จะหลุดจากลูป value < x; value++;
จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการทำคำสั่ง  result = result + 1;  ไม่เกิน  J   ครั้ง ตรวจสอบเงื่อนไขถ้า  value    มีค่าน้อยกว่า  J   คำนวณ  result = result +1; แล้วเพิ่มค่า  value  ขึ้น  1  ค่า *  วนลูปจนกว่า  value  จะเท่ากับ   หรือมากกว่า  J  จะหลุดจากลูป value < j; value++; result = result +1;
โจทย์ :  ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
ปัญหาคืออะไร  ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ  ตามจำนวนที่ผู้ใช้ระบุ
รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร  ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ  **** เป็นตัวอย่างเครื่องหมาย  ในที่นี้คือ ดาว  ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ  ? เครื่องหมาย ที่ผู้ใช้กำหนด  จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
ตัวแปรที่นำมาใช้เก็บข้อมูล  ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย ,  จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร  symbol  เป็นชนิด  char จำนวนเครื่องหมาย   แทนด้วยตัวแปร  value  เป็นชนิด  int
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย ,  จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ   “ The result is”
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? ( ต่อ ) ประมวลผลโดยการสร้างลูป  while  เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย เงื่อนไขคือ  ถ้า  value   มีค่ามากกว่า  0  จึงจะทำการพิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ลดค่า  value  ลง  1  ค่า
start char symbol = ‘ ’; int value = 0; “The result is ” symbol stop เท็จ จริง Preprocessor Function symbol, value value>0 value--;
ก่อนเขียน  Preprocessor  ลองถามตัวเองว่า ..... 1.  โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่  ? ตอบ  มี ต้องใส่  preprocessor  ว่า  #include<iostream> 2.  โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ  string  หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<string> 3.  โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<math.h> สรุปต้องถามตัวเองว่า  header file  อะไรบ้างที่จำเป็นต้องใช้
Preprocessor  ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h>  เป็น  preprocessor  ตัวเดียวเท่านั้น  เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว  ไม่มีการใช้ตัวแปรแบบ  string  และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
การเขียน  main function void main() { } } ขั้นที่  1  เขียน  void main() { }
การเขียน  main function void main() { } ขั้นที่  2  เขียน  คำสั่งที่อยู่ภายในฟังก์ชัน  main
char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง  cin   และเครื่องหมาย  >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร  symbol รับค่าสองมาเก็บไว้ในตัวแปร   value
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง  cout   และเครื่องหมาย  << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการสร้างลูป  while  เป็นดังนี้ while (value >0) { cout<<symbol; value--; }
ผลลัพธ์ในการเขียนโปรแกรม
การเขียนโปรแกรมทำซ้ำแบบ  do while รูปแบบคำสั่ง คือ do { คำสั่งที่ต้องการทำซ้ำ ;   ….. คำสั่งเพิ่ม , ลด เปลี่ยนแปลงค่าของตัวแปรที่ใช้ตรวจสอบเงื่อนไข ; } while ( เงื่อนไขที่ต้องการทดสอบ ) ;
“ I love C++”; จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการพิมพ์ข้อความ  I love C++  ไม่เกิน  5 พิมพ์ข้อความ  “ I love C++” แล้วเพิ่มค่า  value  ขึ้น  1  ค่า ตรวจสอบเงื่อนไข ถ้า  value  ยังคง   น้อยกว่า  5  ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่   ให้หลุดออกจากลูป value < 5; value++;
แบบฝึกหัด :  ให้นักศึกษาเขียน  Flowchart  เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย  *  ไม่เกิน  X  ครั้ง ต้องการทำคำสั่ง  result = result + 1;  ไม่เกิน  J  ครั้ง
“ *”; จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการพิมพ์เครื่องหมาย  *  ไม่เกิน  X  ครั้ง พิมพ์ข้อความ  “ *” แล้วเพิ่มค่า  value  ขึ้น  1  ค่า ตรวจสอบเงื่อนไข ถ้า  value  ยังคง   น้อยกว่า  x  ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่   ให้หลุดออกจากลูป value < x; value++;
จริง เท็จ ตัวอย่างการเขียน  Flowchart ต้องการทำคำสั่ง  result = result + 1;  ไม่เกิน  J  ครั้ง คำนวณ  result = result +1; แล้วเพิ่มค่า  value  ขึ้น  1  ค่า ตรวจสอบเงื่อนไข ถ้า  value  ยังคง   น้อยกว่า  J  ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่   ให้หลุดออกจากลูป value < J; value++; result = result +1;
ตัวอย่างการเขียนโปรแกรมทำซ้ำแบบ  do while
โจทย์ :  ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
ปัญหาคืออะไร  ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ  ตามจำนวนที่ผู้ใช้ระบุ
รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร  ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ  **** เป็นตัวอย่างเครื่องหมาย  ในที่นี้คือ ดาว  ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ  ? เครื่องหมาย ที่ผู้ใช้กำหนด  จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
ตัวแปรที่นำมาใช้เก็บข้อมูล  ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย ,  จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร  symbol  เป็นชนิด  char จำนวนเครื่องหมาย   แทนด้วยตัวแปร  value  เป็นชนิด  int
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย ,  จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ   “ The result is”
หาขั้นตอนวิธีการทำงานของโปรแกรม  ? ( ต่อ ) ประมวลผลโดยการสร้างลูป  do while  เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย พิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ลดค่า  value  ลง  1  ค่า ตรวจสอบว่า  value  มากกว่า  0  หรือไม่ ถ้ามากกว่า  0  ให้วนลูปอีกครั้ง แต่ถ้าเท่ากับหรือน้อยกว่า ให้หยุด
start char symbol = ‘ ’; int value = 0; “The result is ” symbol stop เท็จ จริง Preprocessor Function symbol, value value>0 value--;
ก่อนเขียน  Preprocessor  ลองถามตัวเองว่า ..... 1.  โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่  ? ตอบ  มี ต้องใส่  preprocessor  ว่า  #include<iostream> 2.  โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ  string  หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<string> 3.  โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่  ? ตอบ มี ต้องใส่  preprocessor  ว่า  #include<math.h> สรุปต้องถามตัวเองว่า  header file  อะไรบ้างที่จำเป็นต้องใช้
Preprocessor  ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h>  เป็น  preprocessor  ตัวเดียวเท่านั้น  เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว  ไม่มีการใช้ตัวแปรแบบ  string  และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
การเขียน  main function void main() { } } ขั้นที่  1  เขียน  void main() { }
การเขียน  main function void main() { } ขั้นที่  2  เขียน  คำสั่งที่อยู่ภายในฟังก์ชัน  main
char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง  cin   และเครื่องหมาย  >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร  value รับค่าสองมาเก็บไว้ในตัวแปร  symbol
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง  cout   และเครื่องหมาย  << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
จากสัญลักษณ์แปลงเป็น  code  ภาษา  C++  ได้ดังนี้ คำสั่งในการสร้างลูป  do while  เป็นดังนี้ do { cout<<symbol; value--; }  while (value >0);
ผลลัพธ์ในการเขียนโปรแกรม

More Related Content

PDF
การเขียนฟังก์ชั่นในภาษา C
PPTX
บทที่4การกำหนดและวิเคราะห์ปัญหา
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
DOC
3 software deverlop
PPT
ขั้นตอนการเขียนโปรแกรม
PPT
Programmer1
PPT
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม
การเขียนฟังก์ชั่นในภาษา C
บทที่4การกำหนดและวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
3 software deverlop
ขั้นตอนการเขียนโปรแกรม
Programmer1
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม

What's hot (20)

PDF
สัญลักษณ์ผังงาน
PDF
1 3สัญลักษณ์ผังงาน
PDF
การเขียนผังงาน (Flowchart)
PPTX
รหัสเทียม Psuedo code
PDF
หลักการเขียนผังงาน(Flow chart)
PPT
PDF
ภาษา C#
DOC
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
PPTX
Ppt 02-flowchart
PPT
อัลกอริทึมและการวิเคราะห์ปัญหา
PPT
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
PDF
เครื่องหมายและการดำเนินการในภาษาซี
PDF
3.7 การเขียนผังงาน
PPT
Doc 40720.914467592650
PPT
การเขียนผังงาน
PDF
capture แต่ล่ะ week 59170060 group1
PDF
แคปเจอร์ คอม 59170031 group1
PDF
การเขียนผังงาน(Flowchart)
PPT
flowchart
สัญลักษณ์ผังงาน
1 3สัญลักษณ์ผังงาน
การเขียนผังงาน (Flowchart)
รหัสเทียม Psuedo code
หลักการเขียนผังงาน(Flow chart)
ภาษา C#
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Ppt 02-flowchart
อัลกอริทึมและการวิเคราะห์ปัญหา
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
เครื่องหมายและการดำเนินการในภาษาซี
3.7 การเขียนผังงาน
Doc 40720.914467592650
การเขียนผังงาน
capture แต่ล่ะ week 59170060 group1
แคปเจอร์ คอม 59170031 group1
การเขียนผังงาน(Flowchart)
flowchart
Ad

Viewers also liked (20)

PPT
The Socializers - A Thousand True Fans - IMH Communications 2011 Cyprus
PPTX
Star Chart Presentation
PPT
Bullfighting
PPT
Fixing Tajikistan’s DV Law
PDF
Value the future. How do you create value, to grow a sustainable business?
PPTX
Web 2.0 What It Means
DOC
451 Lesson Plan 1
DOC
zJOS Workloads Scheduler Users Guide
PPS
Reviewer For Computer 6 Jhf
PPTX
Ingles Oral Presentation
PPT
The Texas S Ta R Chart
PPTX
Opsporing 2.0 - van crowdsourcing naar cocreatie #burgerparticipatie
 
PPTX
infosystemron8zo
DOCX
Made in america terrorist
PPT
Group project
PPT
Polygonspowerpoint
PPT
путь клиента
 
PPT
Italy-visit to recycling centre
PPT
Портрет сотрудника
 
The Socializers - A Thousand True Fans - IMH Communications 2011 Cyprus
Star Chart Presentation
Bullfighting
Fixing Tajikistan’s DV Law
Value the future. How do you create value, to grow a sustainable business?
Web 2.0 What It Means
451 Lesson Plan 1
zJOS Workloads Scheduler Users Guide
Reviewer For Computer 6 Jhf
Ingles Oral Presentation
The Texas S Ta R Chart
Opsporing 2.0 - van crowdsourcing naar cocreatie #burgerparticipatie
 
infosystemron8zo
Made in america terrorist
Group project
Polygonspowerpoint
путь клиента
 
Italy-visit to recycling centre
Портрет сотрудника
 
Ad

Similar to Chapter 05 Loop (20)

PDF
3.8 การทำงานตามลำดับ
PPT
C language
PPT
C language
PDF
หลักการเขียนโปรแกรม
PPT
การเขียนผังงาน (280653)
PPT
05 loops
PPT
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
PPT
Vb 6.0
PPT
2. โครงสร้างภาษาซี
PDF
Programming
 
PDF
ภาษา C
PPT
05 Loops
PPTX
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
DOC
ความหมายของโปรแกรมคอมพิวเตอร์
PPT
C slide
PPT
ภาษาซี
PDF
PPTX
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
PDF
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
C language
C language
หลักการเขียนโปรแกรม
การเขียนผังงาน (280653)
05 loops
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Vb 6.0
2. โครงสร้างภาษาซี
Programming
 
ภาษา C
05 Loops
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
ความหมายของโปรแกรมคอมพิวเตอร์
C slide
ภาษาซี
โครงสร้างการเขียนโปรแกรมภาษาไพธอน
3.8 การทำงานตามลำดับ

Chapter 05 Loop

  • 2. การเขียนโปรแกรมทำซ้ำ ( Loop, Iteration, Repetition) คือ การเขียนโปรแกรมทำคำสั่งเดิมซ้ำเกินกว่า 1 ครั้ง โดยจำนวนครั้งของการทำงานจะเป็นไปตามเงื่อนไขที่กำหนดไว้
  • 4. การสร้างเงื่อนไขในการตรวจสอบ ทำได้ 2 วิธีคือ สร้างเงื่อนไขโดยการเปรียบเทียบ สร้างเงื่อนไขโดยการหาค่าลอจิก
  • 5. สร้างเงื่อนไขโดยการเปรียบเทียบ คือเอาค่าที่อยู่ทางด้านซ้ายมือของเครื่องหมายเปรียบเทียบกับค่าที่อยู่ทางขวามือของเครื่องหมาย ว่าเป็นจริงหรือเท็จ เช่น i < 3 ดังนั้น ถ้า i มีค่า 0, 1, 2 ผลลัพธ์ที่ได้หลังเปรียบเทียบคือ จริง แต่ถ้า i มีค่า 3, 4, 5 ผลลัพธ์ที่ได้หลังเปรียบเทียบคือ เท็จ
  • 6. สร้างเงื่อนไขโดยการเปรียบเทียบ ( ต่อ ) เครื่องหมายที่ใช้ในการเปรียบเทียบได้แก่ > มากกว่า < น้อยกว่า == เท่ากับ != ไม่เท่ากับ >= มากกว่าเท่ากับ <= น้อยกว่าเท่ากับ
  • 7. การหาค่าลอจิก คือ การหาค่าจริง หรือ เท็จ จากโอเปอเรเตอร์ชนิดลอจิก เครื่องหมายลอจิคอลโอเปอเรเตอร์ คือ && และ AND || หรือ OR ! ไม่ NOT
  • 8. การหาค่าลอจิก ( ต่อ ) ตัวอย่างการหาค่าความจริง เท็จ เท็จ จริง เท็จ เท็จ จริง เท็จ เท็จ จริง เท็จ จริง เท็จ จริง เท็จ จริง จริง จริง เท็จ จริง จริง A || B A && B !B B A
  • 9. คำสั่งในการเขียนโปรแกรมทำซ้ำ มี 3 แบบ คือ คำสั่งลูป for คำสั่งลูป while คำสั่งลูป do while
  • 10. คำสั่งลูป for โครงสร้างของคำสั่งประกอบด้วย for ( int ตัวแปร = ค่าเริ่มต้น ; ตัวแปร เครื่องหมายเปรียบเทียบ ค่าสูงสุด หรือต่ำสุด ; เพิ่ม / ลด ค่าตัวแปร ) { คำสั่งที่ต้องการทำซ้ำ ; } >, <, ==, <=, >=, !=
  • 11. for (int i=0; i<5; i++) “ I love C++”; จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการพิมพ์ข้อความ I love C++ จำนวน 5 ครั้ง กำหนดค่าเริ่มต้นคือ int i = 0; ตรวจสอบเงื่อนไข คือ i<5; หมายความว่าถ้า i มีค่าน้อยกว่า ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้ ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้ i++ เพิ่มค่า i ขึ้น 1 ค่า
  • 12. แบบฝึกหัด : ให้นักศึกษาเขียน Flowchart เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย * จำนวน 10 ครั้ง ต้องการทำคำสั่ง result = result + 1; จำนวน 100 ครั้ง
  • 13. for (int i=0; i<10; i++) “ *”; จริง เท็จ เฉลยการเขียน Flowchart ต้องการพิมพ์เครื่องหมาย * จำนวน 10 ครั้ง กำหนดค่าเริ่มต้นคือ int i = 0; ตรวจสอบเงื่อนไข คือ i<10; หมายความว่าถ้า i มีค่าน้อยกว่า ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้ ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้ i++ เพิ่มค่า i ขึ้น 1 ค่า
  • 14. for (int i=0; i<100; i++) จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการทำคำสั่ง result = result + 1; จำนวน 100 ครั้ง กำหนดค่าเริ่มต้นคือ int i = 0; ตรวจสอบเงื่อนไข คือ i<100; หมายความว่าถ้า i มีค่าน้อยกว่า ให้วนลูปทำคำสั่งด้านใน ถ้าเท็จให้ ออกจากลูป หลังจากทำคำสั่งเสร็จแล้วให้ i++ เพิ่มค่า i ขึ้น 1 ค่า result = result +1;
  • 16. โจทย์ : ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
  • 17. ปัญหาคืออะไร ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ตามจำนวนที่ผู้ใช้ระบุ
  • 18. รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ **** เป็นตัวอย่างเครื่องหมาย ในที่นี้คือ ดาว ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
  • 19. ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ ? เครื่องหมาย ที่ผู้ใช้กำหนด จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
  • 20. ตัวแปรที่นำมาใช้เก็บข้อมูล ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย , จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร symbol เป็นชนิด char จำนวนเครื่องหมาย แทนด้วยตัวแปร value เป็นชนิด int
  • 21. หาขั้นตอนวิธีการทำงานของโปรแกรม ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย , จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ “ The result is”
  • 22. หาขั้นตอนวิธีการทำงานของโปรแกรม ? ( ต่อ ) ประมวลผลโดยการสร้างลูป for เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย สร้างตัวแปร int i และกำหนดค่าเริ่มต้นเป็น 0 เงื่อนไขคือ i ต้องมีค่าน้อยกว่า value จึงจะทำการพิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ให้เพิ่มค่า i ขึ้น 1 ค่า
  • 23. start char symbol = ‘ ’; int value = 0; “The result is ” for (int i=0; i < value; i++) symbol stop เท็จ จริง Preprocessor Function symbol, value
  • 24. ก่อนเขียน Preprocessor ลองถามตัวเองว่า ..... 1. โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<iostream> 2. โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ string หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<string> 3. โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<math.h> สรุปต้องถามตัวเองว่า header file อะไรบ้างที่จำเป็นต้องใช้
  • 25. Preprocessor ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h> เป็น preprocessor ตัวเดียวเท่านั้น เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว ไม่มีการใช้ตัวแปรแบบ string และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
  • 26. การเขียน main function void main() { } } ขั้นที่ 1 เขียน void main() { }
  • 27. การเขียน main function void main() { } ขั้นที่ 2 เขียน คำสั่งที่อยู่ภายในฟังก์ชัน main
  • 28. char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้
  • 29. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง cin และเครื่องหมาย >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร symbol รับค่าสองมาเก็บไว้ในตัวแปร value
  • 30. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง cout และเครื่องหมาย << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
  • 31. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการสร้างลูป for เป็นดังนี้ for (int i=0; i<value; i++) { cout<<symbol; }
  • 33. การเขียนโปรแกรมด้วยคำสั่งลูป while รูปแบบคำสั่ง คือ while ( เงื่อนไขเปรียบเทียบ ) { คำสั่งที่ต้องการให้ทำงานซ้ำ ; .... คำสั่งเพิ่มหรือลดค่าของตัวแปรในการเปรียบเทียบ ; }
  • 34. “ I love C++”; จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการพิมพ์ข้อความ I love C++ ไม่เกิน 5 ตรวจสอบเงื่อนไขถ้า value มีค่าน้อยกว่า 5 ให้พิมพ์ข้อความ “ I love C++” แล้วเพิ่มค่า value ขึ้น 1 ค่า * วนลูปจนกว่า value จะเท่ากับ หรือมากกว่า 5 จะหลุดจากลูป value < 5; value++;
  • 35. แบบฝึกหัด : ให้นักศึกษาเขียน Flowchart เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย * ไม่เกิน X ครั้ง ต้องการทำคำสั่ง result = result + 1; ไม่เกิน J ครั้ง
  • 36. “ *”; จริง เท็จ เฉลยการเขียน Flowchart ต้องการพิมพ์เครื่องหมาย * ไม่เกิน x ครั้ง ตรวจสอบเงื่อนไขถ้า value มีค่าน้อยกว่า x ให้พิมพ์ข้อความ “ *” แล้วเพิ่มค่า value ขึ้น 1 ค่า * วนลูปจนกว่า value จะเท่ากับ หรือมากกว่า x จะหลุดจากลูป value < x; value++;
  • 37. จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการทำคำสั่ง result = result + 1; ไม่เกิน J ครั้ง ตรวจสอบเงื่อนไขถ้า value มีค่าน้อยกว่า J คำนวณ result = result +1; แล้วเพิ่มค่า value ขึ้น 1 ค่า * วนลูปจนกว่า value จะเท่ากับ หรือมากกว่า J จะหลุดจากลูป value < j; value++; result = result +1;
  • 38. โจทย์ : ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
  • 39. ปัญหาคืออะไร ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ตามจำนวนที่ผู้ใช้ระบุ
  • 40. รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ **** เป็นตัวอย่างเครื่องหมาย ในที่นี้คือ ดาว ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
  • 41. ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ ? เครื่องหมาย ที่ผู้ใช้กำหนด จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
  • 42. ตัวแปรที่นำมาใช้เก็บข้อมูล ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย , จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร symbol เป็นชนิด char จำนวนเครื่องหมาย แทนด้วยตัวแปร value เป็นชนิด int
  • 43. หาขั้นตอนวิธีการทำงานของโปรแกรม ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย , จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ “ The result is”
  • 44. หาขั้นตอนวิธีการทำงานของโปรแกรม ? ( ต่อ ) ประมวลผลโดยการสร้างลูป while เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย เงื่อนไขคือ ถ้า value มีค่ามากกว่า 0 จึงจะทำการพิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ลดค่า value ลง 1 ค่า
  • 45. start char symbol = ‘ ’; int value = 0; “The result is ” symbol stop เท็จ จริง Preprocessor Function symbol, value value>0 value--;
  • 46. ก่อนเขียน Preprocessor ลองถามตัวเองว่า ..... 1. โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<iostream> 2. โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ string หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<string> 3. โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<math.h> สรุปต้องถามตัวเองว่า header file อะไรบ้างที่จำเป็นต้องใช้
  • 47. Preprocessor ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h> เป็น preprocessor ตัวเดียวเท่านั้น เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว ไม่มีการใช้ตัวแปรแบบ string และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
  • 48. การเขียน main function void main() { } } ขั้นที่ 1 เขียน void main() { }
  • 49. การเขียน main function void main() { } ขั้นที่ 2 เขียน คำสั่งที่อยู่ภายในฟังก์ชัน main
  • 50. char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้
  • 51. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง cin และเครื่องหมาย >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร symbol รับค่าสองมาเก็บไว้ในตัวแปร value
  • 52. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง cout และเครื่องหมาย << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
  • 53. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการสร้างลูป while เป็นดังนี้ while (value >0) { cout<<symbol; value--; }
  • 55. การเขียนโปรแกรมทำซ้ำแบบ do while รูปแบบคำสั่ง คือ do { คำสั่งที่ต้องการทำซ้ำ ; ….. คำสั่งเพิ่ม , ลด เปลี่ยนแปลงค่าของตัวแปรที่ใช้ตรวจสอบเงื่อนไข ; } while ( เงื่อนไขที่ต้องการทดสอบ ) ;
  • 56. “ I love C++”; จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการพิมพ์ข้อความ I love C++ ไม่เกิน 5 พิมพ์ข้อความ “ I love C++” แล้วเพิ่มค่า value ขึ้น 1 ค่า ตรวจสอบเงื่อนไข ถ้า value ยังคง น้อยกว่า 5 ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่ ให้หลุดออกจากลูป value < 5; value++;
  • 57. แบบฝึกหัด : ให้นักศึกษาเขียน Flowchart เพื่อทำงานต่อไปนี้ ต้องการพิมพ์เครื่องหมาย * ไม่เกิน X ครั้ง ต้องการทำคำสั่ง result = result + 1; ไม่เกิน J ครั้ง
  • 58. “ *”; จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการพิมพ์เครื่องหมาย * ไม่เกิน X ครั้ง พิมพ์ข้อความ “ *” แล้วเพิ่มค่า value ขึ้น 1 ค่า ตรวจสอบเงื่อนไข ถ้า value ยังคง น้อยกว่า x ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่ ให้หลุดออกจากลูป value < x; value++;
  • 59. จริง เท็จ ตัวอย่างการเขียน Flowchart ต้องการทำคำสั่ง result = result + 1; ไม่เกิน J ครั้ง คำนวณ result = result +1; แล้วเพิ่มค่า value ขึ้น 1 ค่า ตรวจสอบเงื่อนไข ถ้า value ยังคง น้อยกว่า J ให้วนลูปทำต่อไป แต่ถ้าไม่ใช่ ให้หลุดออกจากลูป value < J; value++; result = result +1;
  • 61. โจทย์ : ต้องการพิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ? โดยมีเงื่อนไขคือ ผู้ใช้สามารถกำหนดเครื่องหมายที่ต้องการพิมพ์ ผู้ใช้สามารถกำหนดจำนวนที่ต้องการให้พิมพ์ได้
  • 62. ปัญหาคืออะไร ? พิมพ์เครื่องหมายใดๆ ออกทางจอภาพ ตามจำนวนที่ผู้ใช้ระบุ
  • 63. รูปแบบของผลลัพธ์ที่จะแสดงคืออะไร ? ต้องการแสดงข้อความว่า “ The result is” ************************** หมายเหตุ **** เป็นตัวอย่างเครื่องหมาย ในที่นี้คือ ดาว ( เปลี่ยนแปลงตามที่ผู้ใช้ระบุ )
  • 64. ข้อมูลอะไรบ้าง ที่ต้องใช้ในการคำนวณ ? เครื่องหมาย ที่ผู้ใช้กำหนด จำนวนเครื่องหมาย ที่ผู้ใช้ต้องการพิมพ์
  • 65. ตัวแปรที่นำมาใช้เก็บข้อมูล ? ตัวแปรสำหรับเก็บข้อมูลเข้ามีอะไรบ้าง ( เครื่องหมาย , จำนวนเครื่องหมาย ) โดยกำหนดให้ เครื่องหมาย แทนด้วยตัวแปร symbol เป็นชนิด char จำนวนเครื่องหมาย แทนด้วยตัวแปร value เป็นชนิด int
  • 66. หาขั้นตอนวิธีการทำงานของโปรแกรม ? สร้างตัวแปรสำหรับเก็บข้อมูลเครื่องหมาย , จำนวนเครื่องหมาย และกำหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด รับข้อมูลเครื่องหมาย และจำนวน จากผู้ใช้ พิมพ์ข้อความ “ The result is”
  • 67. หาขั้นตอนวิธีการทำงานของโปรแกรม ? ( ต่อ ) ประมวลผลโดยการสร้างลูป do while เพื่อทำการพิมพ์เครื่องหมายตามจำนวนที่ผู้ใช้ระบุ โดย พิมพ์เครื่องหมาย หลังจากพิมพ์เครื่องหมายแล้ว ลดค่า value ลง 1 ค่า ตรวจสอบว่า value มากกว่า 0 หรือไม่ ถ้ามากกว่า 0 ให้วนลูปอีกครั้ง แต่ถ้าเท่ากับหรือน้อยกว่า ให้หยุด
  • 68. start char symbol = ‘ ’; int value = 0; “The result is ” symbol stop เท็จ จริง Preprocessor Function symbol, value value>0 value--;
  • 69. ก่อนเขียน Preprocessor ลองถามตัวเองว่า ..... 1. โปรแกรมที่จะเขียนมีการรับข้อมูลและแสดงผลข้อมูลหรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<iostream> 2. โปรแกรมที่จะเขียนมีการใช้งานตัวแปรแบบ string หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<string> 3. โปรแกรมที่จะเขียนมีการเรียกใช้ฟังก์ชันทางคณิตศาสตร์หรือไม่ ? ตอบ มี ต้องใส่ preprocessor ว่า #include<math.h> สรุปต้องถามตัวเองว่า header file อะไรบ้างที่จำเป็นต้องใช้
  • 70. Preprocessor ที่ต้องใช้ในโปรแกรมนี้คือ #include<iostream.h> #include<iostream.h> เป็น preprocessor ตัวเดียวเท่านั้น เนื่องจากโปรแกรมนี้มีการรับและแสดงข้อมูลอย่างเดียว ไม่มีการใช้ตัวแปรแบบ string และไม่มีการใช้ฟังก์ชันทางคณิตศาสตร์ start
  • 71. การเขียน main function void main() { } } ขั้นที่ 1 เขียน void main() { }
  • 72. การเขียน main function void main() { } ขั้นที่ 2 เขียน คำสั่งที่อยู่ภายในฟังก์ชัน main
  • 73. char symbol = ‘ ’; int value = 0; จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้
  • 74. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการรับข้อมูลคือคำสั่ง cin และเครื่องหมาย >> ดังนั้นจึงเขียนได้ว่า cin>>symbol>>value; รับค่าแรกมาเก็บไว้ในตัวแปร value รับค่าสองมาเก็บไว้ในตัวแปร symbol
  • 75. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการแสดงข้อมูลคือคำสั่ง cout และเครื่องหมาย << ดังนั้นจึงเขียนได้ว่า cout<<“The result is”;
  • 76. จากสัญลักษณ์แปลงเป็น code ภาษา C++ ได้ดังนี้ คำสั่งในการสร้างลูป do while เป็นดังนี้ do { cout<<symbol; value--; } while (value >0);