1. ให้เขียนผังงานเพื่อแสดงการหาค่ารากที่สองของ 2 โดยการใช้เครื่องหมาย + - * / START INPUT R = 1 R = R + 0.1 Yes R*R <=2 No R = R - 0.1 PROCESS R = R + 0.01 Yes R*R <=2 No R = R - 0.01 OUTPUT R STOP
ประกอบด้วยเหรียญ 5, 1 บาทอย่างละกี่เหรียญ 2. ให้เขียนผังงานเพื่อแสดงการป้อนข้อมูลจำนวนเงินซึ่งเป็นเลขจำนวนเต็ม แล้วคำนวณหา ว่าจำนวนเงินดังกล่าวประกอบด้วย ธนบัตรใบละ 500, 100, 20 บาทอย่างละกี่ใบและ ประกอบด้วยเหรียญ 5, 1 บาทอย่างละกี่เหรียญ START คำนวณแบบ Integer = Integer / Integer INPUT MONEY B500 = MONEY / 500 B100 = (MONEY – B500 * 500)/ 100 PROCESS B20 = (MONEY - B500 * 500 - B100 * 100) / 20 B5 = (MONEY - B500 * 500 - B100 * 100 - B20 * 20) / 5 B1 = MONEY - B500 * 500 - B100 * 100 - B20 * 20 - B5 * 5 OUTPUT B20,B5,B1 B500,B100, STOP
3. ให้เขียนผังงานเพื่อแสดงการบวกเลขตั้งแต่ 1 - 99 คือ 1+2+3+4+5+…+99 = ? START S = 0 N = 0 N = N + 1 No S N <=99 Yes STOP S = S + N
4. ให้เขียนโปรแกรมและผังงานเพื่อแสดงการคำนวณหาค่า S = ? เมื่อกำหนด START S = 0 N = 1 S = S + N/(N+1) N = N + 1 No S N <=99 Yes STOP
5. ให้เขียนโปรแกรมและผังงานเพื่อแสดงการคำนวณหาค่า S = ? เมื่อกำหนด START S = 0 N = 1 T = 1 S = S + T*N/ (N+1) N = N + 1 T = -1*T No S N <=99 Yes STOP
ป้อนข้อมูล 5 , 2 , 3 ผลลัพธ์ที่แสดงออกมาเป็น 2 , 3 , 5 6. ให้เขียนผังงานเพื่อแสดงการพิมพ์ตัวเลข 3 ตัว โดยเรียงลำดับจากน้อยไปหามาก เช่น ป้อนข้อมูล 5 , 2 , 3 ผลลัพธ์ที่แสดงออกมาเป็น 2 , 3 , 5 START A,B,C Yes No A < B Yes No Yes No A < C B < C Yes No Yes No B < C C,A,B A < C C,B,A A,B,C A,C,B B,A,C B,C,A STOP
โดยกำหนด 1 ปี มี 12 เดือน และ 1 เดือน มี 30 วัน 7. ให้เขียนผังงานเพื่อแสดงการหาอายุคนว่าตั้งแต่เกิดจนถึงปัจจุบันมีอายุกี่ปีกี่เดือนกี่วัน โดยกำหนด 1 ปี มี 12 เดือน และ 1 เดือน มี 30 วัน START ตัวแปร TD,TM,TY เป็นวันเดือนปีปัจจุบัน BD,BM,BY เป็นวันเดือนปีเกิด TD,TM,TY, BD,BM,BY Yes No TD >=BD D = TD - BD D = TD + 30 - BD TM = TM - 1 Yes No TM >=BM M = TM + 12 - BM M = TM - BM TY = TY - 1 Y = TY - BY Y , M , D STOP
8. ให้เขียนผังงานเพื่อป้อนข้อมูลวันที่เดือนในปัจุบันแล้วคำนวณว่าวันดังกล่าวเป็นวันที่เท่าไร ของปี START D,M,Y SUMDAY = 0 I = 1 No I < M Yes SUMDAY = SUMDAY + D DAY SUMDAY SUMDAY = SUMDAY + DAY STOP I = I + 1
9. ให้เขียนผังงานแสดงตัวเลข Fibonacci number ที่มีค่า < 5000 ออกมาทุกค่า โดยค่าตัวเลข บวกกันเช่น 1,1,2,3,5,8,13,21,34,55,89,….. START START ใช้ Array A[0] = 1 A,B A[1] = 1 A,B I = 2 C = A + B A[0], A[1] No C < 5000 STOP Yes A[I] = A[I-1] + A[I-2] C No A[I] < 5000 STOP A = B Yes A[I] B = C I = I + 1
10. ให้เขียนผังงานและโปรแกรมเพื่อคำนวณหา ห.ร.ม. ของเลขจำนวนเต็ม 2 ตัว เช่น ตัวเลข 24, 40 ห.ร.ม. คือ 8 START A, B Yes No A < B N = A N = B I = 1 No Yes A – A / I * I = 0 No Yes B – B / I * I = 0 GCD = I I = I + 1 Yes No I < = N GCD STOP
11. ให้เขียนผังงานและโปรแกรมเพื่อคำนวณหา ห.ร.ม. ของเลขจำนวนเต็ม 2 ตัว โดยใช้ Euclid’s algorithm เช่น 24, 40 40 หาร 24 เศษ 16 24 หาร 16 เศษ 8 16 หาร 8 เศษ 0 คำตอบ ห.ร.ม. คือ 8 START A, B Yes No A > B N = A; A = B; B = N R = B % A Yes R == 0 GCD = A No B = A GCD A = R STOP
ตัวเลขเฉพาะ (Prime number) 12. ให้เขียนผังงานและโปรแกรมเพื่อหาว่าตัวเลขตั้งแต่ 100 ถึง 999 มีตัวเลขใดบ้างที่เป็น ตัวเลขเฉพาะ (Prime number) START NUM = 100 N = 2 I = NUM – NUM / N * N Yes I = 0 No N= N + 1 Yes N < NUM No “PRIME”, NUM NUM = NUM + 1 Yes No NUM<=999 STOP
13. ให้เขียนผังงานและโปรแกรมเพื่อคำนวณหาค่า n! เช่น 5! จะได้ค่า 1*2*3*4*5 = 120 START START FAC = 1 FAC = 1 N N A = 1 A = 0 FAC = FAC * A A = A + 1 No A = A + 1 A <=N FAC Yes Yes STOP A <=N FAC = FAC * A No FAC STOP
(Minimum) ในช่วง -4 <= x <=4 เมื่อกำหนดฟังก์ชันให้ดังนี้ 14. ให้เขียนผังงานเพื่อหาค่า x ที่ทำให้ฟังก์ชันมีค่าสูงสุด (Maximum) หรือมีค่าต่ำสุด (Minimum) ในช่วง -4 <= x <=4 เมื่อกำหนดฟังก์ชันให้ดังนี้ f = 2x3/3 + 5x2/2 – 3x + 8 START x = -4 f = 2x3/3 + 5x2/2 - 3x + 8 df = 2x2 + 5x - 3 dff = 4x + 5 Yes No df = 0 Yes No dff < 0 Yes No “Max”,x,f dff > 0 “Min”,x,f x = x + 0.1 Yes No x <= 4 STOP
ไปในเครื่องคอมพิวเตอร์ แล้วคำนวณหาค่าเฉลี่ยของวิชานี้ 15. ให้เขียนผังงานเพื่อป้อนข้อมูลคะแนนสอบของวิชาภาษาไทยของนักเรียนกลุ่มหนึ่งเข้า ไปในเครื่องคอมพิวเตอร์ แล้วคำนวณหาค่าเฉลี่ยของวิชานี้ START SUM = 0 N = 0 SCORE Yes SCORE < 0 AVE = SUM / N No SUM = SUM + SCORE AVE N = N + 1 STOP
ของนักศึกษาที่ได้คะแนนสูงสุดและต่ำสุดออกมาทางจอภาพ 16. ให้เขียนผังงานและโปรแกรมเพื่อป้อนข้อมูลชื่อและคะแนนสอบของนักศึกษากลุ่มหนึ่ง ที่ลงเรียนวิชาภาษาอังกฤษเข้าไปในเครื่องคอมพิวเตอร์ แล้วให้แสดงผลชื่อและคะแนน ของนักศึกษาที่ได้คะแนนสูงสุดและต่ำสุดออกมาทางจอภาพ START NAME, SCORE MAX = SCORE MAXNAME = NAME MIN = SCORE MINNAME = NAME NAME, SCORE Yes NAME[0] = ‘X’ STOP MINNAME, MIN MAXNAME, MAX, No Yes No SCORE > MAX MAX = SCORE Yes No SCORE < MIN MIN = SCORE MAXNAME = NAME MINNAME = NAME
17. ให้เขียนผังงานเพื่อคำนวณหาค่า SIN(X) จากอนุกรม SIN(X) = X – X3/3! + X5/5! – X7/7! + … โดยมีเงื่อนไขจะหยุดบวกเทอมในอนุกรมเมื่อ ค่าสัมบูรณ์ของเทอมนั้นมีค่าน้อยกว่า 0.00001 START X SUM = 0 N = 0 A = 1 T = X / A Yes | T | < 0.00001 SUM, N No SUM = SUM + T STOP T = T*(-1)*X*X/((A+1)*(A+2)) N = N + 1 A = A + 2
โดยใช้วิธีการของนิวตันในการแก้สมการซึ่งมีสูตรดังนี้ 18. ให้เขียนผังงานเพื่อแก้สมการหาค่า x ที่ทำให้ค่า f(x) = 0 เมื่อกำหนดสมการให้ดังนี้ f (x) = 3x + sin(x) - ex โดยใช้วิธีการของนิวตันในการแก้สมการซึ่งมีสูตรดังนี้ x1 = x0 – f (x0) / f ’(x0) ซึ่งมีเงื่อนไขในการหยุดการคำนวณเมื่อค่าสัมบูรณ์ของ |x1 – x0| < 0.00001 แต่ถ้า เงื่อนไขไม่จริงให้แทนค่า x0 ด้วย x1 แล้วคำนวณใหม่ไปเรื่อยๆ จนกว่าเงื่อนไขที่ กำหนดไว้เป็นจริง จะได้ x1 เป็นคำตอบ START X0 F = 3*X0 + SIN(X0) - EXP(X0) DF = 3 + COS(X0) - EXP(X0) X1 = X0 – F / DF Yes | X1-X0 | < 0.00001 X1 No X0 = X1 STOP