การทำซ้ำ Pisit Nakjai.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โปรแกรมการคำนวณค่า sin รายชื่อผู้เสนอโครงงาน
Advertisements

สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
อัลกอริทึ่มทำงานวนซ้ำ
คำสั่ง while และ คำสั่ง do..while
ครั้งที่ 8 Function.
การเขียนโปรแกรม แบบมีโครงสร้าง (ต่อ)
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
Control Statement if..else switch..case for while do-while.
การรับค่าและแสดงผล.
Control Statement for while do-while.
ตัวอย่าง Flowchart.
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 4.
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
CE 112 บทที่ 5 การทำซ้ำในภาษา C
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
วิชา การออกแบบและพัฒนาซอฟต์แวร์
อ.อรวรรณ เชาวลิต For คำสั่งวนซ้ำ อ.อรวรรณ เชาวลิต
คำสั่งวนซ้ำ (Looping)
คำสั่งควบคุมการทำงาน
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
WHILE..DO คำสั่งควบคุมให้ทำงานซ้ำ โดยที่ต้องตรวจสอบเงื่อนไขก่อนที่จะทำ
Looping การวนรอบ บทที่ 4.
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
Lecture 4 องค์ประกอบภาษา C To do: Hand back assignments
การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
ตัวแปรกับชนิดของข้อมูล
โครงงานคอมพิวเตอร์ โปรแกรมการคำนวณพื้นที่วงกลม
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
คำสั่ง while และ do…while
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การเขียนผังงาน.
C language W.lilakiatsakun.
การเขียนโปรแกรมแสดงผลข้อมูล
การเขียนผังงานแบบทำซ้ำ
Week 10 การเขียนโปรแกรมเบื้องต้น #2
Week 2 Variables.
Week 5 การทำซ้ำโดย while loop และ do while loop
Chapter 5 การทำซ้ำโดย while loop และ do while loop
Week 5 การทำซ้ำโดย while loop และ do while loop
Recursion การเรียกซ้ำ
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
LOOPLOOP. LOOP คืออะไร ? - วงรอบการทำงาน - ทำงานแบบซ้ำๆ ไปเรื่อยๆตามเงื่อนไข เช่น - การแพ๊คของ 50 ชิ้นใส่กล่อง ทำไปเรื่อยๆ จนกว่า ของจะหมด - ตีดอทไปเรื่อยๆ.
อัลกอริทึ่มทำงานวนซ้ำ
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
อ. วชิระ หล่อประดิษฐ์. ตัว ดำเนินกา ร ศัพท์เฉพาะตัวอย่ าง ผลลัพธ์ ให้ a=3; b=2; Greater thana > b;True
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
การเขียน แบบวนซ้ำ , วนลูป
การเขียนโปรแกรม (ภาษาซี)
C-Programming บทที่ 8 การทำซ้ำ C Programming.
การเขียนโปรแกรมบนเว็บ (Web Programming) บทที่ 2: ทบทวนการเขียน ภาษา Java ใช้ร่วมกับ Html และการรับข้อมูลจาก Form.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
การทำซ้ำ (for).
introduction to Computer Programming
บทที่ 3 โครงสร้างภาษาซีเบื้องต้น
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
ใบสำเนางานนำเสนอ:

การทำซ้ำ Pisit Nakjai

สาเหตุที่ต้องมีการทำซ้ำ เหตุการณ์ที่เกิดขึ้นหลายรอบ เช่น โปรแกรมแสดง ชื่อ 20 ครั้ง เหตุการณ์ที่เกิดขึ้นหลายรอบ โดยมีการเปลี่ยนแปลงค่า หรือมีเงื่อนไข เช่น แสดงผลเลข 0, 1, 2, … , 10 แสดงผลรวมของ 1,3,5,7, … , 99 แสดง ชื่อ ไปเรื่อย ๆ จนกว่าค่า X จะมากกว่า 30

ทดลองเขียนโปรแกรม จงเขียนผังงานและโปรแกรมเพื่อแสดงตัวเลข 0 - 10 ออกทางหน้าจอ Output Analysis แสดงผลเลข 0, 1, 2, … , 10 Input Analysis ไม่มี Process Analysis โปรแกรมแสดงผลเลข 0, 1, 2, … ,10 Variable Define ไม่ใช้ (หรือใช้ count เพื่อเพิ่มค่า)

#include<stdio.h> #include<conio.h> int main() { printf ("0\t"); printf ("1\t"); printf ("2\t"); printf ("3\t"); printf ("4\t"); ... printf ("10\t"); return 0; } #include<stdio.h> #include<conio.h> int main() { int count = 0; printf ("%d\t",count++); ... return 0; }

#include<stdio. h> #include<conio #include<stdio.h> #include<conio.h> int main() { int count = 0; while (count <= 10) printf ("%d\t",count++); } return 0;

คำสั่งในการวนซ้ำในภาษาซี For While Do while

โปรแกรม แสดงผลตัวเลข 1 ถึงค่าที่กำหนด | while Output Analysis ผลลัพธ์การบวกเลขจำนวนเต็ม ตั้งแต่ 1 ถึงค่าที่ผู้ใช้กำหนด Input Analysis ค่าที่ผู้ใช้งานป้อนเข้ามา

โปรแกรม แสดงผลตัวเลข 1 ถึงค่าที่กำหนด | while Process Analysis โปรแกรมถามว่าผู้ใช้งานต้องการบวกเลขตั้งแต่ 1 ถึงเลขใด วนรอบแบบ while เพื่อบวกค่า แสดงผลลัพธ์ที่ได้ Variable Define sum = 0 ผลรวมของการบวก โดยเริ่มต้นมีค่าเท่ากับ 0 i = 1 ค่าที่นำเข้าไปบวกกับ sum ในแต่ละรอบ โดยรอบแรกค่า i มีค่าเท่ากับ 1 และมีค่าเพิ่มขึ้นรอบละ 1 final เพื่อรับค่าจากผู้ใช้ และกำหนดจุดสิ้นสุดของค่า i

START i=1,final,sum=0 final i<=final True sum = sum + i False i++ sum END

โปรแกรมแสดงผลตัวเลข 1 ถึงค่าที่กำหนด | while int main() { int i = 1, final, sum=0; printf ("Enter final number : "); scanf ("%d",&final); while (i<=final) sum = sum + i; i++; } printf ("Sum = %d",sum); return 0;

5.3 คำสั่ง do-while do statement-1.1; while (expression); do { ... statement-1.n; } while (expression);

โปรแกรม หาผลรวม 1 ถึง 100 | do-while จงเขียนผังงานและโปรแกรมสำหรับรวมเลขจำนวนเต็ม ตั้งแต่ 1 – 100 โดยใช้คำสั่ง do-while Output Analysis ผลรวมของเลขจำนวนเต็ม ตั้งแต่ 1 - 100 Input Analysis ไม่มี

โปรแกรม หาผลรวม 1 ถึง 100 | do-while Process Analysis โปรแกรมทำการบวกค่าเก็บไว้ในตัวแปรผลลัพธ์ แล้วเพิ่มค่าจนถึง 100 Variable Define count เป็นตัวแปรชนิดจำนวนเต็มเพื่อนับจำนวน sum เป็นจำนวนเต็มเพื่อเก็บค่าผลรวม

START count=1, sum=0 sum=sum+count count++ True count<=100 False sum END

โปรแกรม หาผลรวม 1 ถึง 100 | do-while int main() { int count=1,sum=0; do sum = sum + count; count++; } while(count<=100); printf ("Summation of 1 to 100 = %d",sum); return 0;

5.4 คำสั่ง for initial เป็นส่วนที่ใช้กำหนดค่าเริ่มต้นให้กับตัวแปร for (initial; expression; change) { statement-1.1; statement-1.2; ... statement-1.n; } initial เป็นส่วนที่ใช้กำหนดค่าเริ่มต้นให้กับตัวแปร condition เป็นเงื่อนไขเพื่อพิจารณา change เป็นส่วนที่เปลี่ยนแปลงค่าตัวแปร statement-1, 2, ... , n เป็นคำสั่งที่จะทำงานเมื่อเงื่อนไขเป็นจริง

รูปแบบการใช้คำสั่ง for

โปรแกรม หาผลรวม 1 ถึง 100 | for (2) Process Analysis โปรแกรมทำการบวกค่าเก็บไว้ในตัวแปรผลลัพธ์ แล้วเพิ่มค่าจนถึง 100 Variable Define count เป็นตัวแปรชนิดจำนวนเต็มเพื่อนับจำนวน sum เป็นจำนวนเต็มเพื่อเก็บค่าผลรวม 18

START sum=0 count=1 False count<=100 True sum=sum+count count++ sum END 19

โปรแกรม หาผลรวม 1 ถึง 100 | for #include<stdio.h> int main() { int sum=0, count; for (count=1; count<=100; count++) sum = sum + count ; } printf ("Summation of 1 to 100 = %d",sum); return 0; 20

โปรแกรม แสดงผล a – z | for Output Analysis แสดงผล a – z ทางจอภาพ Input Analysis ไม่มี a b c d e f g h i j k l m n o p q r s t u v w x y z

โปรแกรม5.5 แสดงผล a – z | for (2) Process Analysis โปรแกรมทำการวนรอบเพื่อแสดงผลอักษรตั้งแต่ a – z โดยการเพิ่มค่าตัวแปรขึ้นครั้งละ 1 (ดูตาราง ASCII Code) Variable Define letter เป็นตัวแปรชนิดอักขระ printf ("%c\n",'a'); // printf ("%c\n",97); a printf ("%c\n",'a'+1); // printf ("%c\n",98); b printf ("%c\n",'a'+2); // printf ("%c\n",98); c

START letter letter='a' letter<='z' True letter False letter++ END

โปรแกรม แสดงผล a – z | for (4) #include<stdio.h> int main() { char letter; for (letter='a'; letter<='z'; letter++) printf ("%c ",letter); } return 0;

โปรแกรม แสดงผลรูปสี่เหลี่ยม | for (1) จงเขียนผังงานและโปรแกรมแสดงผลรูปสี่เหลี่ยมขนาด n x n โดยโปรแกรมจะรอรับจำนวนเต็มจากผู้ใช้งาน ดังตัวอย่าง Please enter number : 4 Output **** Please enter number : 9 Output ********* 25

โปรแกรม แสดงผลรูปสี่เหลี่ยม | for (2) Output Analysis ผลตัวเลข เป็นรูปสี่เหลี่ยมจัตุรัสขนาดเท่ากับจำนวนตัวเลขที่รับเข้ามา Input Analysis เลขจำนวนเต็มที่ผู้ใช้ป้อนเข้ามา Process Analysis โปรแกรมรอรับค่าจำนวนเต็มจากผู้ใช้งาน โปรแกรมวนรอบเพื่อทำการแสดง '*' เป็นรูปสี่เหลี่ยมจัตุรัส 26

โปรแกรม แสดงผลรูปสี่เหลี่ยม | for (3) บรรทัดที่ 1 แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา บรรทัดที่ 2 แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา … บรรทัดที่ n แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา Variable Define num เป็นจำนวนเต็มเพื่อใช้เก็บค่าตัวเลขที่ผู้ใช้ป้อน i เป็นจำนวนเต็มเพื่อใช้นับจำนวนบรรทัด j เป็นจำนวนเต็มเพื่อใช้นับจำนวน '*' 27

START num, i, j num i=1 i++ True i<=num '\n' False True j<=num '*' False j=1 END j++ 28

โปรแกรมแสดงผลรูปสี่เหลี่ยม | for () int main() { int num,i,j; printf ("Enter number : "); scanf ("%d",&num); for (i=1; i<=num; i++) printf ("\n"); for (j=1; j<=num; j++) printf ("*"); } return 0; 29

โจทย์ : โปรแกรมคิดดอกเบี้ย จงเขียนผังงาน และโปรแกรมคำนวณดอกเบี้ย โดยโปรแกรมรับ เงินต้น (บาท) และดอกเบี้ยต่อปี (%) จำนวนเงินที่ผ่อนชำระต่อเดือน แล้วแสดงผลว่าต้องใช้เวลากี่ปีในการผ่อนชำระ และจ่ายดอกเบี้ยทั้งหมดคิดเป็นเท่าใด

5.4 คำถามท้ายบท จงเขียนโปรแกรมแสดงรหัสแอสกี ตั้งแต่ 33 ถึง 55 Decimal ASCII 33 ! 34 “ 35 # . . . 55 7

คำถามท้ายบท 2. จงเขียนโปรแกรมรับตัวเลขเพื่อมาคำนวณหาผลบวกกำลังสอง จนกระทั่งตัวเลขที่รับเข้ามามีค่าเป็น 0 Enter a number : 2 Enter a number : -5 Enter a number : 0 Result : 29

คำถามท้ายบท ข้อใดเป็นโปรแกรมที่รันไม่รู้จบ (Infinite loop) เมื่อกำหนด int i=0; 3.1 for(i=0; i>0; i++) printf("%d",i); 3.2 for(i=0; i%2!=0; i += 2) puts("a"); 3.3 while(i<7) printf("%d",i--); 3.4 do { i+=3; } while(i%3==0);

Quiz