หลักการเขียนโปรแกรม



หลักการเขียนโปรแกรม

จุดประสงค์รายวิชา เพื่อให้

1. มีทักษะในการวิเคราะห์ขั้นตอนวิธี (Algorithm) เพื่อแก้ปัญหาอย่างง่าย

2. รู้ขั้นตอนวิธีการเขียนโปรแกรมเพื่อแก้ปัญหา

3. มีทักษะในการเขียนผังงาน (Flow chart)

4. มีทักษะในการเขียนรหัสเทียม (Pseudo Code) จากผังงาน

5. ออกแบบและพัฒนาโปรแกรมขนาดเล็ก

6. มีกิจนิสัยการทำงานอย่างมีระเบียบ

มาตรฐานรายวิชา

1. อธิบายความหมายและความสำคัญของหลักการเขียนโปรแกรม

2. วิเคราะห์ขั้นตอน วิธีการแก้ปัญหาด้วยคอมพิวเตอร์

3. ประยุกต์ใช้ผังงานและรหัสเทียมช่วยการเขียนโปรแกรม

4. ออกแบบโปรแกรมขนาดเล็ก

คำอธิบายรายวิชา

ศึกษาและปฏิบัติเกี่ยวกับหลักการ ขั้นตอนวิธี วิเคราะห์ปัญหา เขียนโปรแกรม กระบวนการทำงานในหน่วยความจำของคอมพิวเตอร์ ตรรกะกับเซต ตรรกะกับการแก้โจทย์ปัญหาด้วยคอมพิวเตอร์ การเขียนผังงาน การเขียนรหัสเทียม การออกแบบและพัฒนาโปรแกรมขนาดเล็ก

การแบ่งหน่วยการเรียนรู้

เนื้อหาการเรียนรู้หน่วยที่ 1

1. การนำคอมพิวเตอร์มาใช้ในการแก้ปัญหา Solving Problem by Computer

การศึกษาและทำความเข้าใจกับปัญหา Problem Statement

การพิจารณาลักษณะข้อมูลนำเข้าและแสดงผลข้อมูล Input / Output Description

การทดลองแก้ไขปัญหาด้วยตนเอง Hand Example

การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา Algorithm Development

การทดสอบขั้นตอนวิธีการแก้ปัญหา Testing

เนื้อหาการเรียนรู้หน่วยที่ 2

2. การเขียนผังงาน Flowchart

สัญลักษณ์สำหรับการเขียนผังงาน Symbol for Flowchart

การเขียนซูโดโค้ด Pseudo Code

เนื้อหาการเรียนรู้หน่วยที่ 3

3. ลักษณะโครงสร้างของผังงาน Type of Flowchart

โครงสร้างแบบลำดับ

โครงสร้างแบบเลือกทำ

โครงสร้างแบบทำซ้ำ

เนื้อหาการเรียนรู้หน่วยที่ 4

4. การออกแบบและพัฒนาโปรแกรมขนาดเล็กด้วยภาษาซี

ผังงานกับการเขียนโปรแกรม

ความรู้เบื้องต้นเกี่ยวกับภาษาซี

สาระการเรียนรู้ เรื่อง การนำคอมพิวเตอร์มาใช้ในการแก้ปัญหา

1. ขั้นตอนการวิเคราะห์ปัญหา

2. Problem Statement

3. Input / Output Description

4. Hand Example

5. Algorithm Development

6. Testing

ผลการเรียนรู้ที่คาดหวัง

1. สามารถอธิบายขั้นตอนการนำคอมพิวเตอร์เข้ามาช่วยในการแก้ปัญหาได้

2. สามารถวิเคราะห์สิ่งที่โจทย์ต้องการได้

3. สามารถแยกแยะข้อมูลที่เป็นข้อมูลนำเข้าและข้อมูลที่ต้องการแสดงผลได้

4. สามารถเขียนรหัสเทียมได้

5. สามารถทดสอบลำดับขั้นตอนวิธีการทำงานได้

การนำคอมพิวเตอร์มาใช้ในการแก้ปัญหา Solving Problem by Computer

การศึกษาและทำความเข้าใจกับปัญหา Problem Statement เป็นขั้นตอนแรกในกระบวนการวิเคราะห์งานเพื่อให้ได้มาซึ่งข้อสรุปของปัญหา หรือสิ่งที่โจทย์ต้องการ เพื่อนำไปค้นหาคำตอบและวิธีการต่าง ๆ ให้ได้มาซึ่งคำตอบที่จะนำไปแก้ปัญหานั้น ๆ โดยต้องทำการวิเคราะห์ปัญหาให้ละเอียดทุกขั้นตอน แยกแยะปัญหาออกมาเป็นข้อ ๆ เมื่อสามรถทำความเข้าใจกับปัญหาได้แล้ว จึงนำไปสู่กระบวนการในขั้นตอนต่อไป

การพิจารณาลักษณะข้อมูลนำเข้าและแสดงผลข้อมูล Input / Output Description เมื่อเสร็จจาก

การศึกษาและทำความเข้าใจกับปัญหาที่เกิดขึ้นแล้ว ทำให้ทราบว่าจะใช้เครื่องคอมพิวเตอร์เข้ามาช่วยในการแก้ไขปัญหาอย่างไร ขั้นตอนต่อไปคือ การพิจารณาลักษณะข้อมูลนำเข้าและการแสดงผลลัพธ์ของข้อมูล สำหรับรูปแบบของผลลัพธ์จะมีลักษณะของรายงานซึ่งจะมีรายละเอียดมากน้อยเพียงใดนั้นขึ้นอยู่กับคำตอบของปัญหา ในส่วนของข้อมูลนำเข้าจะต้องพิจารณาว่าข้อมูลที่ต้องป้อนเข้าสู่เครื่องคอมพิวเตอร์เพื่อนำไปประมวลผลนั้น ควรมีคุณสมบัติ รูปแบบของข้อมูล ประเภทของข้อมูล หรือแหล่งที่มาของข้อมูลอย่างไร นอกจากนี้ควรตั้งค่าของตัวแปรที่จะมารองรับค่าต่าง ๆ ให้สื่อความหมาย เพื่อสะดวกและง่ายต่อการจดจำ และเขียนโปรแกรมภาษาคอมพิวเตอร์

การทดลองแก้ไขปัญหาด้วยตนเอง Hand Example เนื่องจากการทำงานของเครื่องคอมพิวเตอร์นั้นจะมี

ประสิทธิภาพมากเพียงใดย่อมขึ้นอยู่กับคำสั่งต่าง ๆ ที่โปรแกรมเมอร์เขียนขึ้นเพราะเครื่องคอมพิวเตอร์ไม่สามารถคิดค้นคำสั่งหรือวิธีการใหม่ ๆ ขึ้นมาเองได้ ดังนั้นก่อนที่จะเขียนเป็นโปรแกรมเพื่อให้เครื่องคอมพิวเตอร์ทำตามคำสั่งได้นั้นจำเป็นต้องมีการทดลองแก้ไขปัญหา โดยการสมมติข้อมูลขึ้นมาทดลองกับวิธีที่คิดค้นขึ้น ถ้าสามารถแก้ไขปัญหานั้น ๆ ได้ ก็จะเริ่มขั้นตอนของการพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหาโดยการเขียนเป็นอัลกอริทึมต่อไป ส่วนใหญ่การแก้ไขปัญหามักจะนิยมนำเรื่องของคณิตศาสตร์เข้ามาช่วยในการทำงานเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์ดังนั้นจึงต้องมีความรู้เบื้องต้นเกี่ยวกับโอเปอเรเตอร์ (Operator) ซึ่งเป็นตัวดำเนินการทางคณิตศาสตร์ ตรรกศาสตร์ มักจะเป็นเครื่องหมายหรือสัญลักษณ์ต่าง ๆ เช่น เครื่องหมายในการคำนวณ เครื่องหมายในการเปรียบเทียบ และนิพจน์ (Expression) ซึ่งเป็นการนำเอาโอเปอเรเตอร์หลาย ๆ ตัวมารวมกัน

ตัวดำเนินการทางคณิตศาสตร์

|เครื่องหมาย |ความหมาย |ตัวอย่าง |ผลลัพธ์ |

|+ |บวก |17+3 |20 |

|- |ลบ |17-3 |14 |

|* |คูณ |17*3 |51 |

|/ |หาร |17/3 |5.67 |

|% |หารเอาเศษ |17%3 |2 |

ลำดับความสำคัญการทำงานของโอเปอเรเตอร์

1. ()

2. ^ (ยกกำลัง)

3. – (เครื่องหมายติดลบ)

4. *, /, %

5. +, -

การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา Algorithm Development เป็นขั้นตอนที่มีความสำคัญเพราะต้องนำไปใช้พัฒนาให้เป็นโปรแกรมภาษาคอมพิวเตอร์ต่อไป ขั้นตอนนี้เป็นการนำเอาขั้นตอนของการทดลองแก้ไขปัญหาด้วยตนเองมาเรียงเป็นลำดับขั้นการทำงานเป็นข้อ ๆ ว่าจะทำงานใดก่อนหลัง เพื่อนำไปสั่งงานให้เครื่องคอมพิวเตอร์ทำงาน ซึ่งอัลกอริทึม นั้น คือการอธิบายถึงลำดับขั้นตอนการทำงานในลักษณะของข้อความตั้งแต่ตอนแรกจนถึงขั้นตอนสุดท้ายของการแก้ปัญหา และจากนั้นจึงนำไปเขียนเป็น Pseudo Code ต่อไป

การทดสอบขั้นตอนวิธีการแก้ปัญหา Testing เป็นขั้นตอนสุดท้ายหลังจากพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหาเสร็จสิ้นแล้ว มีความจำเป็นอย่างยิ่งที่จะต้องทำการทดสอบเพื่อหาข้อผิดพลาดที่อาจเกิดขึ้นได้ โดยการทดสอบนั้นจะต้องใช้ข้อมูลหลาย ๆ ชุดในการทดสอบเพื่อให้ครอบคลุมการทำงานทั้งหมด

สาระการเรียนรู้ เรื่อง ผังงาน

1. ผังงาน

2. สัญลักษณ์สำหรับเขียนผังงาน

3. ลักษณะการเขียนผังงาน

ผลการเรียนรู้ที่คาดหวัง

1. สามารถอธิบายความหมายของผังงานได้

2. สามารถบอกประโยชน์ของผังงานได้

3. สามารถบอกสัญลักษณ์สำหรับเขียนผังงานได้

4. สามารถอธิบายความหมายของสัญลักษณ์ที่เขียนผังงานได้

5. สามารถอธิบายลักษณะการเขียนผังงานที่ดีได้

การเขียนผังงาน Flowchart

ผังงาน (Flowchart)

ผังงาน (Flowchart) คือ การเขียนอธิบายขั้นตอนวิธีการทำงานในลักษณะของรูปภาพสัญลักษณ์ เนื่องจากทำให้สามารถมองเห็นลำดับขั้นตอนการทำงานได้ชัดเจนกว่าการอธิบายในลักษณะของข้อความ

สัญลักษณ์สำหรับการเขียนผังงาน Symbol for Flowchart

1. จุดเริ่มต้นและจุดสิ้นสุดของผังงาน

2. การประมวลผล

3. การนำเข้าข้อมูล การแสดงผลข้อมูลโดยไม่ระบุสื่อ

4. การนำเข้าข้อมูลผ่านทางแป้นพิมพ์ keyboard

5. การแสดงผลข้อมูลทางจอภาพ

6. การแสดงผลข้อมูลทางเครื่องพิมพ์

7. การตัดสินใจเลือกทำ

8. จุดเชื่อมต่อภายในหน้าเดียวกัน

9. จุดเชื่อมต่อหน้าอื่นๆ

10. ทิศทางการทำงานของผังงาน

ลักษณะการเขียนผังงาน

ลักษณะของผังงานที่ดี มีดังนี้

1. ทุกผังงานต้องมีจุดเริ่มต้นและจุดสิ้นสุดอย่างละหนึ่งแห่งเท่านั้น

2. ทุกสัญลักษณ์ต้องมีลูกศรชี้ทิศทางอย่างละ 1 ลูกศร ยกเว้นสัญลักษณ์ของการตัดสินใจ และสัญลักษณ์ของจุดเชื่อมต่อ

3. ทิศทางของลำดับขั้นตอนการทำงานนิยมเขียนจากบนลงล่าง จากซ้ายไปขวา

4. ไม่ควรเขียนเส้นของลูกศรบอกทิศทางตัดกันหรือทับกัน หากจำเป็นควรใช้จุดต่อแทน

ตัวอย่างการเขียนผังงาน

Start

a , b

sum = a + b

“SUM =” sum

Stop

สาระการเรียนรู้ เรื่อง ลักษณะโครงสร้างของผังงาน

1. ลักษณะโครงสร้างของผังงาน

2. โครงสร้างแบบลำดับ

3. โครงสร้างแบบเลือกทำ

4. โครงสร้างแบบทำซ้ำ

ผลการเรียนรู้ที่คาดหวัง

1. สามารถบอกลักษณะโครงสร้างผังงานได้

2. สามารถอธิบายลักษณะโครงสร้างและการทำงานโครงสร้างผังงานแบบลำดับได้

3. สามารถอธิบายลักษณะโครงสร้างและการทำงานโครงสร้างผังงานแบบเลือกทำได้

4. สามารถอธิบายลักษณะโครงสร้างและการทำงานโครงสร้างผังงานแบบทำซ้ำได้

ลักษณะโครงสร้างของผังงาน Type of Flowchart

โครงสร้างของผังงานโดยพื้นฐานสามารถแบ่งได้ออกเป็น 3 รูปแบบดังนี้

1. โครงสร้างผังงานแบบลำดับ ซึ่งจัดเป็นโครงสร้างของผังงานที่ง่ายที่สุด เป็นการเรียงลำดับการทำงานจากบนลงล่างอย่างเป็นลำดับขั้นตอน โดยจะใช้สัญลักษณ์แบบใดก็ได้ ยกเว้นการตัดสินใจเลือกทำ

2. โครงสร้างผังงานแบบตัดสินใจเลือกทำ เป็นโครงสร้างของผังงานที่มีทางเลือกให้กระทำอย่างใดอย่างหนึ่ง ซึ่งสามารถแยกได้เป็น 3 รูปแบบ ดังนี้

2.1 เงื่อนไขจริงหรือเท็จ 2.2 เงื่อนไขจริงหรือเท็จ 2.3 เงื่อนไขที่มีให้เลือกมากกว่า 2 ทาง

จึงกระทำอย่างใดอย่างหนึ่ง ต่างก็ต้องกระทำ

ตัวดำเนินการทางตรรกะและเปรียบเทียบ

|เครื่องหมาย |ความหมาย |ตัวอย่าง |ผลลัพธ์ |

|> |มากกว่า |3 > 5 |เท็จ |

|>= |มากกว่าหรือเท่ากับ |2 >= 2 |จริง |

|< |น้อยกว่า |3 < 2 |เท็จ |

|1 |จริง |

||| |หรือ (OR) |510 |จริง |

|! |นิเสธ (NOT) |A= 0 !A |จริง |

|A |B |A && B |A || B |!A |!B |

|T |T |T |T |F |F |

|T |F |F |T |F |T |

|F |T |F |T |T |F |

|F |F |F |F |T |T |

หมายเหตุ T แทน ประพจน์ที่มีค่าความจริงเป็นจริง F แทน ประพจน์ที่มีค่าความจริงเป็นเท็จ

3. โครงสร้างผังงานแบบทำซ้ำ เป็นโครงสร้างของผังงานที่มีลักษณะการทำงานเป็นรอบ โดย

ทำงานกี่รอบนั้นย่อมขึ้นอยู่กับเงื่อนไขของแต่ละผังงาน

ตัวอย่าง การวิเคราะห์งานเมื่อนำคอมพิวเตอร์เข้ามาใช้ในการแก้ปัญหาเรื่องการคำนวณหาพื้นที่รูปสี่เหลี่ยมโดยการรับข้อมูลผ่านเข้ามาทางแป้นพิมพ์

การศึกษาและทำความเข้าใจกับปัญหา Problem Statement

จากโจทย์เมื่อทำการศึกษาและทำความเข้าใจกับปัญหาแล้ว สิ่งที่โจทย์ต้องการคือ พื้นที่ของรูปสี่เหลี่ยม โดยมีการรับข้อมูลผ่านแป้นพิมพ์ ซึ่งสามารถกำหนดขนาดของรูปให้ความกว้าง และ ความยาว เป็นเท่าไรก็ได้ เนื่องจากการคำนวณหาพื้นที่รูปสี่เหลี่ยมนั้นมีสูตรในการคำนวณดังนี้ ขนาดของพื้นที่ = ความกว้าง X ความยาว

การพิจารณาลักษณะข้อมูลนำเข้าและแสดงผลข้อมูล Input / Output Description

การแสดงผลข้อมูลในรูปแบบของรายงานมีรูปแบบดังนี้

ความกว้าง = ………….

ความยาว = ................

พื้นที่ = ………….

ข้อมูลนำเข้าได้แก่ ความกว้าง และความยาว ซึ่งเป็นข้อมูลประเภท ตัวเลขจำนวนจริง เพราะความกว้างและความยาวของรูปสี่เหลี่ยมนั้นไม่จำเป็นต้องมีขนาดเป็นจำนวนเต็มเสมอไป อาจเป็นไปได้ที่มีกรณีของเลขจุดทศนิยม ดังนั้นเพื่อให้ลักษณะของข้อมูลครอบคลุมทั้งจำนวนเต็มและจำนวนทศนิยม จึงกำหนดให้ลักษณะของข้อมูลดังกล่าวเป็นเลขจำนวนจริง (หมายเหตุ ประเภทของข้อมูลที่ใช้ในคอมพิวเตอร์ ดูที่ภาคผนวก ก.)

การทดลองแก้ไขปัญหาด้วยตนเอง Hand Example

จากสูตร การคำนวณหาพื้นที่รูปสี่เหลี่ยม = กว้าง X ยาว

พื้นที่รูปสี่เหลี่ยม = 5 X 8

เพราะฉะนั้น พื้นที่รูปสี่เหลี่ยม = 40

จากการทดลองแก้ไขปัญหาด้วยตนเองนั้นทำให้ทราบว่าขนาดของความกว้างและความยาวนั้นต้องมีค่า > 0 เสมอ จึงจะทำให้สามารถคำนวณหาขนาดของพื้นที่รูปสี่เหลี่ยมได้

การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา Algorithm Development

การเขียนอธิบายขั้นตอนวิธีการแก้ปัญหาจากโจทย์การคำนวณหาพื้นที่รูปสี่เหลี่ยม

1. เริ่มต้น

2. รับค่าความกว้าง = 5 และ ความยาว = 8 ผ่านแป้นพิมพ์

3. ตรวจสอบค่าความกว้างและความยาวต้องมีค่า > 0

ถ้า ความกว้างและความยาว > 0 ให้คำนวณหาพื้นที่

ถ้า ความกว้างและความยาวไม่ > 0 ให้จบการทำงาน

4. คำนวณหาพื้นที่โดยใช้สูตร พื้นที่รูปสี่เหลี่ยม = ความกว้าง X ความยาว

5. แสดงผลลัพธ์ตามรูปแบบของรายงานที่ได้ออกแบบไว้

6. จบการทำงาน

การทดสอบขั้นตอนวิธีการแก้ปัญหา Testing

ทดสอบข้อมูลชุดแรก ทดสอบข้อมูลชุดที่สอง

โดยให้ค่าความกว้าง = 7.5 ความยาว = 12 โดยให้ค่าความกว้าง = -2 ความยาว = 5

1. Strat 1. Strat

2. Input rec_wide = 7.5 2. Input rec_wide = -2

rec_ long = 12 rec_ long = 5

3. rec_wide (7.5) && rec_long (12) > 0 3. rec_wide (-2) && rec_long (5) > 0

3.1 Yes goto 4 3.1 Yes goto 4

3.2 No goto 6 3.2 No goto 6

4. area (90) = rec_wide (7.5) * rec_long (12) 4. area = rec_wide * rec_long

5. Print “Wide = ” rec_wide (7.5) 5. Print “Wide =” rec_wide

Print “Long = ” rec_long (12) Print “Long = ” rec_long

Print “Area = ” area (90) Print “Area = ” area

6. Stop 6. Stop

หมายเหตุ ตัวเลขที่อยู่ในเครื่องหมายวงเล็บเป็นการแทนค่าและผลของการคำนวณจากการทดสอบข้อมูล

การเขียนผังงาน Flowchart การเขียน Pseudo Code

ตัวอย่างการนำ Pseudo Code มาเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์

ภาษาเบสิค ภาษาปาสคาล

ภาษาจาวา

ภาษาซี

สาระการเรียนรู้ เรื่อง การออกแบบและพัฒนาโปรแกรมขนาดเล็กด้วยภาษาซี

1. โครงสร้างของภาษาซี

2. กฎเกณฑ์การเขียนโปรแกรมภาษาซี

3. การแสดงผลข้อมูล และการรับค่าข้อมูลผ่านแป้นพิมพ์

ผลการเรียนรู้ที่คาดหวัง

1. สามารถเขียนโปรแกรมโครงสร้างของภาษาซีได้

2. สามารถเขียนโปรแกรมภาษาซีถูกต้องตามกฎเกณฑ์ของภาษา

3. สามารถใช้คำสั่งในการรับและแสดงผลข้อมูลได้

การออกแบบและพัฒนาโปรแกรมขนาดเล็กด้วยภาษาซี

โครงสร้างของภาษาซี

ภาษาซีเป็นภาษาที่ประกอบไปด้วยฟังก์ชั่น โดยในการเขียนโปรแกรมจะต้องมีอย่างน้อย 1 ฟังก์ชั่นเสมอ นั่นก็คือ ฟังก์ชั่น main () ซึ่งถือว่าเป็นฟังก์ชั่นหลักของภาษาซี ซึ่งในโครงสร้างมีส่วนประกอบดังนี้

กฎเกณฑ์การเขียนโปรแกรมภาษาซี

- ต้องกำหนดส่วนตัวประมวลผลก่อน

- ตัวแปรที่ต้องใช้งานต้องประกาศชนิดของตัวแปรแต่ละประเภทให้ถูกต้อง

- ต้องมีฟังก์ชั่นหลักเสมอ

- ใช้เครื่องหมายปีกกา { } เป็นตัวขอบเขตของชุดคำสั่ง

- ต้องจบประโยคด้วยเครื่องหมาย ;

- นิยมใช้อักษรตัวเล็กในการเขียนโปรแกรม

- ใช้เครื่องหมายคอมม่า , เป็นตัวคั่นระหว่างตัวแปรหรือค่าพารามิเตอร์ต่าง ๆ

- การระบุหมายเหตุให้ใช้เครื่องหมาย /*…….*/ หรือ // ซึ่งตัวคอมไพเลอร์จะไม่สนใจในขณะทำการคอมไพล์โปรแกรม

การแสดงผลข้อมูล และการรับค่าข้อมูลผ่านแป้นพิมพ์

การแสดงผลข้อมูลและการรับค่าข้อมูลในภาษาซีจะต้องมีรูปแบบถูกต้องตามชนิดของตัวแปรที่นำมาใช้ โดยมีชนิดของตัวแปรดังนี้

integer เป็นชนิดที่เก็บข้อมูลจำนวนเต็ม

floating point เป็นชนิดที่เก็บข้อมูลจำนวนทศนิยม

character เป็นชนิดที่เก็บตัวอักขระ จำนวน 1 ตัว

string เป็นชนิดที่เก็บตัวอักขระมากกว่า 1 ตัว หรือข้อความ โดยใช้วิธีประกาศค่าเป็น

character ที่มีอาเรย์ เช่น ต้องการใช้ตัวแปร name เก็บชื่อพนักงาน ให้ประกาศ

char name[20] หมายความว่าตัวแปรนี้เก็บค่าชื่อพนักงานได้จำนวน 20 ตัวอักขระ

รูปแบบที่ใช้ในการกำหนดการแสดงค่าและการรับค่าข้อมูล และรหัสการจัดรูปแบบการพิมพ์

% d แสดงหรือรับข้อมูลตัวเลขจำนวนเต็ม

% f แสดงหรือรับข้อมูลตัวเลขทศนิยม

% c แสดงหรือรับข้อมูลตัวอักขระ 1 ตัว

% s แสดงหรือรับข้อมูลตัวอักขระมากกว่า 1 ตัว

\n ขึ้นบรรทัดใหม่

\t เว้นระยะแท็บแนวนอน

\a มีเสียงสัญญาณดัง beep

คำสั่งที่ใช้ในการแสดงผลข้อมูล ได้แก่ คำสั่ง printf( );

printf (“คำอธิบาย รูปแบบที่ใช้ในการแสดงค่าและรหัสการจัดรูปแบบการพิมพ์” , ตัวแปรที่แสดงค่า);

ตัวอย่าง

printf (“Hello Computer”);

printf (“Sum = %d\n”,sum);

คำสั่งที่ใช้ในการรับข้อมูล ได้แก่ คำสั่ง scanf ( );

scanf (“รูปแบบที่ใช้ในการรับค่า”,ตัวแปรที่รับค่า);

ตัวอย่าง

scanf (“%d”,&number); ถ้าเป็นตัวแปรชนิดตัวเลขต้องมีเครื่องหมาย & นำหน้าตัวแปรเสมอ

scanf (“%s”,name);

ในกรณีที่มีการรับค่า แสดงค่า หลายจำนวนให้คั่นตัวแปรด้วยเครื่องหมาย ,

ตัวอย่าง จงเขียนโปรแกรมภาษาซีเพื่อทำการคำนวณหาอายุของตัวเองในอีก 5 ปี ข้างหน้า

# include

# include

main()

{

clrscr();

int age , next5y;

age = 17;

next5y = age + 5;

printf(“Now I an %d years old”);

printf(“Next 5 Years I am %d years old”,age);

}

ผล RUN

Now I am 17 years old

Next 5 Years I am 22 years old

ตัวอย่าง จงเขียนโปรแกรมภาษาซีเพื่อทำการรับค่าปี พ.ศ. แล้วนำมาเปลี่ยนเป็นปี ค.ศ.

# include

# include

main()

{

clrscr();

int age , next5y;

printf(“How old are you?”);

scanf(“%d”,&age);

next5y = age + 5;

printf(“Now I an %d years old”);

printf(“Next 5 Years I am %d years old”,age);

}

ผล RUN

Now I am 17 years old

Next 5 Years I am 22 years old

แบบทดสอบก่อนเรียน หลักการเขียนโปรแกรม

1. ขั้นตอนใดของการวิเคราะห์ปัญหาที่ต้องทำการศึกษาถึงลักษณะของปัญหาที่ต้องการจะนำมาแก้ไข

1. การศึกษาและทำความเข้าใจกับปัญหา

2. การพิจารณาลักษณะของข้อมูลนำเข้าและการแสดงผลข้อมูล

3. การทดลองแก้ไขปัญหาของข้อมูลนำเข้าและการแสดงผลข้อมูล

4. การทดสอบขั้นตอนวิธีการแก้ปัญหา

2. ข้อใดเป็นขั้นตอนสุดท้ายของขั้นตอนการวิเคราะห์ปัญหา

1. การทดลองแก้ไขปัญหาด้วยตนเอง

2. การเขียนลำดับขั้นตอนวิธีการแก้ปัญหา

3. การทดสอบลำดับขั้นตอนวิธีการแก้ปัญหา

4. การพิจารณาลักษณะข้อมูลนำเข้าและการแสดงผลข้อมูล

3. ข้อใดเป็นวิธีการที่ไม่ถูกต้อง สำหรับการนำคอมพิวเตอร์มาช่วยสำหรับการแก้ปัญหา

1. อยู่หน้าเครื่องแล้วทดลองเขียนโปรแกรม

2. หาวิธีการแก้ไขปัญหาก่อน

3. เขียนเอกสารที่เป็นลำดับขั้นตอนการทำงาน เพื่อความสะดวกในภายหลัง

4. เรียบเรียงลำดับการทำงานทั้งหมด

4. ข้อใดคือความหมายของคำว่า ขั้นตอนวิธี (Algorithm)

1. การทำความเข้าใจกับปัญหาที่เกิดขึ้น

2. การอธิบายลำดับขั้นตอนการทำงานเป็นข้อ ๆ ตั้งแต่แรกจนถึงขั้นตอนสุดท้าย

3. การหาวิธีการที่ถูกต้องในการแก้ไขปัญหา

4. การทดสอบลำดับขั้นตอนของวิธีการที่ใช้ในการแก้ปัญหา

5. จาก Statement ต่อไปนี้ answer = 2.5 * 2 ลักษณะข้อมูลของ answer ควรเป็นประเภทใด

ก. ตัวเลขจำนวนเต็ม ข. ตัวเลขทศนิยม ค. ค่าทางตรรกศาสตร์ ง. ตัวอักษร

6. ถ้าต้องการนำเครื่องคอมพิวเตอร์มาช่วยในการคำนวณหาค่าของพื้นที่สามเหลี่ยม จากสูตรพื้นที่สามเหลี่ยม = ½ * ความยาวฐาน * ความสูง ข้อมูลนำเข้าเพื่อใช้ในการแก้ปัญหา คือข้อมูลในข้อใด

1. พื้นที่ของสามเหลี่ยม, ความยาวฐาน ข. พื้นที่ของสามเหลี่ยม, ความสูง

ค. ความยาวฐาน, ความสูง ง. พื้นที่ของสามเหลี่ยม, ความยาวฐาน, ความสูง

7. จากข้อ 6 ข้อมูลที่ต้องส่งกลับคืนคือข้อมูลในข้อใด

ก. พื้นที่ของสามเหลี่ยม ข. ความสูง

ค. ความยาวฐาน ง. ความยาวฐาน, ความสูง

8. จากข้อวิธีการคำนวณหาพื้นที่สามเหลี่ยมในข้อ 6 ชนิดของข้อมูลที่คำนวณควรเป็นชนิดใด

ก. ตัวเลขจำนวนเต็ม ข. ตัวเลขทศนิยม ค. ค่าทางตรรกศาสตร์ ง. ตัวอักษร

9. โปรแกรมภาษาคอมพิวเตอร์ ถูกพัฒนามาจากส่วนใด

1. รหัสเทียม (Pseudo Code)

2. การอธิบายขั้นตอนการทำงานอย่างละเอียด

3. การทดสอบลำดับขั้นตอนวิธีการแก้ปัญหา

4. การทดลองแก้ปัญหาด้วยตนเอง

10. เมื่อทำการทดสอบลำดับขั้นตอนวิธีการทำงานแล้วปรากฏว่ามีการทำงานที่ผิดพลาดจะต้องกลับไปแก้ไขในส่วนใดให้ถูกต้อง

1. การพิจารณาลักษณะข้อมูลนำเข้าและการแสดงผลข้อมูล

2. การทดลองแก้ไขปัญหาด้วยตนเอง

3. การเขียนขั้นตอนวิธีการแก้ปัญหา

4. การทำความเข้าใจกับปัญหา

11. การทดสอบลำดับขั้นตอนของข้อมูล จะต้องทำการทดสอบข้อมูลอย่างน้อยกี่ชุด

ก. อย่างน้อย 1 ชุด ข. อย่างน้อย 2 ชุด

ค. อย่างน้อย 3 ชุด ง. กี่ชุดก็ได้แต่ต้องครอบคลุมทุกกรณีที่ข้อมูลจริงสามารถเป็นไปได้

12. ข้อใดคือประโยชน์ของการนำผังงานเข้ามาช่วยสำหรับหาวิธีการแก้ปัญหา

1. ทำให้สะดวกสำหรับการหาขั้นตอนวิธีสำหรับการทำงาน

2. สามารถเห็นลำดับขั้นตอนการทำงานชัดเจนขึ้น

3. สามารถอธิบายการทำงานได้ดีกว่าการเขียนอธิบายขั้นตอนวิธีการทำงานลักษณะข้อความ

4. ถูกทุกข้อ

13. ข้อใดกล่าวถึงความหมายของผังงานได้ถูกต้องมากที่สุด

1. การเขียนขั้นตอนวิธีการทำงานในลักษณะของข้อความ

2. การเขียนขั้นตอนวิธีการทำงานในลักษณะของรูปภาพ

3. การอธิบายการทำงานของโปรแกรมคอมพิวเตอร์โดยการใช้รูปภาพ

4. ถูกทั้งข้อ ข. และข้อ ค.

14. ข้อใดอธิบายโครงสร้างผังงานการทำงานแบบลำดับได้ถูกต้อง

1. ประกอบไปด้วยสัญลักษณ์การตัดสินใจ 1 สัญลักษณ์

2. การทำงานจะทำทีละขั้นตอน ตั้งแต่ขั้นตอนแรกจนถึงขั้นตอนสุดท้าย

3. มีการตรวจสอบเงื่อนไขว่าเป็นจริง หรือเป็นเท็จ

4. ถูกทุกข้อ

15. โครงสร้างผังงานใดต้องประกอบไปด้วยสัญลักษณ์การตัดสินใจ

ก. โครงสร้างการทำงานแบบลำดับ ข. โครงสร้างการเลือกทำ

ค. โครงสร้างการทำซ้ำ ง. ถูกทั้งข้อ ข. และข้อ ค.

ภาคผนวก ก.

ในระบบคอมพิวเตอร์มีชนิดของข้อมูลให้ใช้งานหลายอย่างด้วยกัน ซึ่งในการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์มีความจำเป็นอย่างยิ่งที่ต้องเลือกใช้ข้อมูลให้เหมาะกับประเภทและการเลือกใช้งานก็ควรคำนึงถึงความจำเป็นด้วย สำหรับประเภทข้อมูลที่ใช้มีดังนี้ คือ

1. ข้อมูลชนิดตัวอักษร (Character) คือ ข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าตัวเลขที่ไม่ได้นำไปใช้ในการคำนวณ ได้แก่ ตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษ ใช้พื้นที่ในการเก็บข้อมูล 1 ไบต์

2. ข้อมูลชนิดจำนวนเต็ม (Integer) คือ ข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูลขนาด 2 ไบต์

3. ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer) คือ ข้อมูลที่เป็นจำนวนเต็ม พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต์

4. ข้อมูลชนิดเลขทศนิยม (Float) คือ ข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์

5. ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double) คือ ข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ Float คือ มีขนาด 8 ไบต์

|ลักษณะข้อมูล |ชนิดข้อมูล |ขนาด(ไบต์) |ช่วงข้อมูล |

|Single |Char |1 |-128 ถึง 127 |

|Unsigned character |Unsigned char |1 |0 ถึง 255 |

|Integer |Int |2 |-32,768 ถึง 32,767 |

|Short integer |Short |2 |-32,768 ถึง 32,767 |

|Long integer |Long |4 |-2,147,482,648 ถึง 2,147,482,648 |

|Unsigned integer |Unsigned int |2 |0 ถึง 65,535 |

|Unsigned long integer |Unsigned long |4 |0 ถึง 4,294,967,295 |

|Float |Float |4 |3.4x10-38 ถึง 3.4x1038 |

|Double |Double |8 |1.7x10-308 ถึง 1.7x10-308 |

|Long double |Long double |10 |3.4x10-4932 ถึง 1.1x104932 |

ภาคผนวก ข

1.โปรแกรมแบบพอเพียง(ทำอะไรให้เล็กที่สุดเท่าที่เป็น ไปได้)

2.ทำสิ่งธรรมดาให้ง่าย ทำสิ่งยากให้เป็นไปได้

3.จงโปรแกรมโดยนึกว่าจะมีคนมาทำต่ออย่างแน่นอน

4.ระเบียบ กฎข้อบังคับ เชื่อมั่นไม่ได้แล้ว ถ้ามีเพียงหนึ่งโมดูลไม่ปฏิบัติตาม

5.ตัดสินใจให้ดีระหว่างความชัดเจน(clearance) กับ การขยายได้(extensibility)

6.อย่าเชื่อมั่น output จากโมดูลอื่น ถึงแม้เราจะเป็นคนเขียนเอง

7.ถ้าคนเขียนยังเข้าใจได้ยาก แล้วคนอ่านจะเข้าใจได้ยากกว่าแค่ไหน

8.ค้นหาข้อมูลสามวันแล้วทำหนึ่งวัน หรือจะทำสามวันแล้วแก้บั๊กตลอดไป

9.จงสร้างเครื่องมือ ก่อนทำงาน

10.อย่าโทษโมดูลอื่นก่อน โดยเฉพาะถ้าโมดูลอื่นเป็น OS และ Compiler

11.พยายามทำตามกฎ แต่ถ้ามีข้อยกเว้น ต้องมีอย่างหลีกเลี่ยงไม่ได้ แล้วประกาศและตะโกนให้ดังที่สุด

12.High cohesion Loose coupling. (ยึดเกาะให้สูงสุดในโมดูล และ เกาะเกี่ยวกับโมดูลอื่นให้น้อยที่สุด)

13.ให้สิ่งที่เกี่ยวข้องกันยิ่งมากอยู่ใกล้กันมากที่ สุด

14.อย่าเชื่อโดยไม่พิสูจน์

15.อย่าลองทำแล้วคอมไพล์ดู ถ้าเราไม่ได้คาดหวังผลลัพธ์อะไรไว้ (อย่างเช่นปัญหา index off by one)

16.จงกระจายความรู้เพราะนั่นคือการทำ Unit Test ระดับล่างสุด(ระดับความคิด)

17.อย่าเอาทุกอย่างใส่ใน UI เพราะ UI คือส่วนที่ Unit Test ได้ยาก

18.ทั้งโปรเจคควรไปในทางเดียวกันมากที่สุด( Consistency )

19.ถ้ามีสิ่งที่ดีอยู่แล้วจงใช้มัน อย่าเขียนเอง ถ้าจำเป็นต้องเขียนเอง ให้ศึกษาจากข้อผิดพลาดในอดีตก่อน

20.อย่ามั่นใจเอาโค้ดไปใช้จนกว่าจะ test อย่างเพียงพอ

21.เอาโค้ดที่ test ไว้ที่เดียวกันกับโค้ดที่ถูก test เสมอ

22.ทุกครั้งที่แก้ไขโค้ดให้ run unit test ทุกครั้ง

23.จงใช้ Unit Test แต่อย่าเชื่อมั่นทุกอย่างใน Unit Test เพราะ Unit Test ก็ผิดได้

24.ถ้าต้องทำอะไรที่ซ้ำกันมากกว่าหนึ่งครั้ง ก็เพียงพอแล้วที่จะแยกโค้ดส่วนนั้นออก

25.ทำให้ใช้งานได้ก่อน แล้วค่อย optimize และถ้าไม่จำเป็น อย่าoptimize

26.ยิ่งประสิทธิภาพเพิ่ม ความเข้าใจง่ายจะลดลง

27.ใช้ Design Pattern ที่เป็นที่รู้จักจะได้คุยกับใครได้รู้เรื่อง

28.อย่าเก็บไว้ทำทีหลัง ถ้ายังไงก็ต้องทำ

29.MutiThreading ไม่ใช่แค่การเพิ่มประสิทธิภาพ แต่มันมาพร้อมกับ Concerency, Deadlock, IsolationLevel, Hard to debug, Unrterministic Errors.

30.จงทำอย่างโจ่งแจ้ง

31.อย่าเพิ่ม technology โดยไม่จำเป็น เพราะนั่นทำให้โปรแกรมเมอร์ต้องวุ่นวายมากขึ้น

32.จงทำโปรเจค โดยคิดว่าความเปลี่ยนแปลงเกิดขึ้นได้เสมอ

33.อย่าย่อชื่อตัวแปรถ้าไม่จำเป็น เดี๋ยวนี้ IDE มันช่วยขึ้นเยอะแล้วไม่ต้องพิมพ์เองแค่ dot มันก็ขึ้นมาให้เลือก

34.อย่าใช้ i, j , k , result, index , name, para เป็นชื่อตัวแปร

35.ทำโค้ดที่ต้องสื่อสารผ่านเครือข่ายให้คุยกันน้อย ที่สุด

36.แบ่งแยกดีดี ระหว่าง Exception message ในแต่ละเลเยอร์ ว่าต้องการบอกผู้ใช้ หรือ บอกโปรแกรมเมอร์

37.ที่ระดับ UI ต้องมี catch all exception เสมอเพื่อกรอง Exception ที่ลืมดักจับ

38.ระวัง คอลัมภ์ allow null ใน database ดีดี ค่า มัน convert ไม่ได้

39. อย่าลืมว่า Database เป็น global variable ประเภทหนึ่ง แต่ละโปรแกรมที่ติดต่อเปรียบเหมือน MultiThreading ดังนั้นกฎของ Multithreading ต้องกระทำเมื่อทำงานกับ Database

40.ระวังอย่าให้ logic if then else ซ้อนกันมากมาก เพราะสมองคนไม่ใช่ CPU จินตนาการไม่ออกหรอกว่ามันอยู่ตรงไหนเวลา Debug (ถ้ามากกว่าสามชั้นก็ลองคิดใหม่ดูว่าเขียนแบบอื่นได้ มั้ย)

41.ระวังอย่าให้ลูปซ้อนกันมากมาก ไม่ใช่แค่เรื่องความเร็วอย่างเดียว เวลา Debug เราคิดตามมันไม่ได้ (ถ้าเกินสามชั้นก็ไม่ไหวแล้ว)

42. อย่าใช้ Magic Number ใน Code เช่น if( controlingValue == 4 ) เปลี่ยนไปใช้ Enum ดีกว่า เป็น if( controlingValue == ControllingState.NORMAL ) เข้าใจง่ายกว่ามั้ย

43.ถ้าจะเปรียบเทียบ string Trim ซ้ายขวาก่อนเสมอ

44.คิดหลายๆ ครั้งก่อนใช้ Trigger

45.โปรแกรมเมอร์คือห่วงโซ่สุดท้ายของมลพิษทางความซับ ซ้อน ดังนั้นหา project leader ดีดีแล้วกัน

46. มนุษย์ฉลาดกว่าคอมพิวเตอร์ การเขียนโปรแกรมก็คือการสอนให้คอมพิวเตอร์ฉลาดได้เหม ือนเรา (มนุษย์ฉลาดกว่าคอมพิวเตอร์จริงๆนะ)

Reply With Quote

47. จงควบคุมคอม มิใช่ให้คอมควบคุมเรา เราต้องสั่งให้คอมทำงาน ไม่ใช่ให้เราทำงานตามคอมสั่ง

48. อย่าปล่อยให้ข้อจำกัดของคอม มาจำกัดความคิดของเรา [คอมไม่ดีเปลี่ยนเครื่องเลย 55+]

49. ยอมรับความคิดของผู้อื่น แต่อย่าออกจากกรอบของตนเอง

50. หมั่น Save โปรแกรมไว้อย่าสม่ำเสมอ ก่อนที่จะไม่มีโอกาส Save [จะให้ดี Save เป็นแต่ละ Version เลย]

โจทย์ปัญหาวิเคราะห์และเขียนผังงาน

กรณีเมื่อทราบค่าของข้อมูล

1. พิมพ์ข้อมูลประวัติส่วนตัวโดยประกอบด้วย รหัสนักศึกษา ชื่อ สกุล อายุ เพศ แผนกวิชา ส่วนสูง น้ำหนัก

2. หาผลบวกของเลขสองจำนวนเมื่อกำหนดให้ a = 5 , b= 3

3. คำนวณหาพื้นที่ของรูปสามเหลี่ยม เมื่อมีขนาดฐาน 7 สูง 12

4. คำนวณหาพื้นที่ของรูปสี่เหลี่ยมใดๆ เมื่อด้านคู่ขนานยาว 3และ 5 สูง 6

5. คำนวณหาพื้นที่ของรูปวงกลม เส้นรอบวง และเส้นผ่านศูนย์กลาง เมื่อรัศมีเท่ากับ 7

6. คำนวณหาเงินทอนเมื่อซื้อสินค้าราคา 15.25 บาทจำนวน 4 หน่วย ให้เงินไป 100 บาท

7. คำนวณหาราคารวมของสินค้าเมื่อซื้อสินค้าราคาหน่วยละ 58.50 บาท จำนวน 32 หน่วย VAT 7%

8. คำนวณหาราคาขายสินค้าที่มีราคาทุน 350 บาท โดยคิดกำไรเพิ่มขึ้น 15% และคิดภาษีมูลค่าเพิ่ม 7%

9. คำนวณหาเงินเดือนสุทธิเมื่อได้รับ 15,000 บาท หักภาษี ณ ที่จ่าย 3%

10. คำนวณหาเงินเดือนสุทธิเมื่อได้รับเงินเดือนประจำ 7800 บาท มียอดขาย 25,000 บาท ค่าคอมมิชชั่น 15%

11. คำนวณหาปีคศ. ของปี พ.ศ. 2550

12. คำนวณหาเงินบาท เมื่อต้องการแลกเงิน 4,300 ดอลล่าร์ อัตราแลกเปลี่ยน 36.75 บาท/ดอลล่าร์

13. คำนวณหาจำนวนวัน จำนวนชั่วโมง จำนวนนาที เมื่อกำหนดให้นาทีมีค่าเท่ากับ 4,000 นาที

กรณีไม่ทราบค่าของข้อมูล ใช้วิธีการรับค่าผ่านแป้นพิมพ์ โดยใช้โจทย์จากข้อ 1-13 แบบไม่ระบุค่า

14. แปลงค่าเซนติเมตรเป็น ฟุต และเมตร

15. คำนวณหาปริมาตรของลูกบาศก์

16. คำนวณหาปริมาตรทรงกระบอก

17. แปลงค่าอุณหภูมิจากองศาเซลเซียสเป็นองศาฟาเรนไฮต์ โดยใช้สูตร F = [(CX9)/5]+32

18. คำนวณหารายได้สุทธิของพนักงานขายซึ่งรายได้เกิดจาก เงินเดือนประจำ ค่าคอมมิชชั่น รายจ่ายเกิดจาก ภาษีหัก ณ ที่จ่าย เงินประกันสังคม เงินออมรายเดือน

กรณีมีทางเลือก

19. คำนวณหาผลการทดสอบ ถ้าได้คะแนนสอบตั้งแต่ 60 คะแนนขึ้นไป ถือว่าสอบผ่าน

20. รับค่าตัวเลข 2 จำนวน แล้วเปรียบเทียบค่าใดมากกว่าหรือน้อยกว่า

21. คำนวณหาเกรดของวิชาหลักการเขียนโปรแกรมโดยใช้หลักอิงเกณฑ์

22. คำนวณหาค่าน้ำของอพาร์ทเมนต์แห่งหนึ่ง โดยมีวิธีการคิดดังนี้

ถ้าใช้น้ำ 1- 10 หน่วย คิดหน่วยละ 3 บาท

ถ้าใช้น้ำ 11-20 หน่วย คิดหน่วยละ 3.25 บาท

ถ้าใช้น้ำ 21-30 หน่วย คิดหน่วยละ 3.50 บาท

ถ้าใช้มากกว่า 30 หน่วย คิดหน่วยละ 5 บาท

23. แสดงข้อความแจ้งระดับของเกรดที่ได้ ดังนี้

ถ้าได้เกรด A หรือ a ให้แสดงข้อความ Excellent

ถ้าได้เกรด B หรือ b ให้แสดงข้อความ Good

ถ้าได้เกรด C หรือ c ให้แสดงข้อความ O.K.

ถ้าได้เกรด D หรือ d ให้แสดงข้อความ Poor

ถ้าได้รับเป็นตัวอักษรอื่นนอกจากนี้ให้แสดงข้อความ Invalid Grade

24. ตรวจสอบปี พ.ศ.ว่าปีใดเป็นปีอธิกสุรทิน ซึ่งคือปีที่เดือนกุมภาพันธ์มี 29 วัน และเป็นปีที่หารด้วย 4 ลงตัวแต่หารด้วย 100 ไม่ลงตัว

25. รับข้อมูลซึ่งประกอบด้วย รหัส ชื่อ-สกุล เงินเดือน ค่าล่วงเวลา จากนั้นคำนวณหารายได้และภาษีที่ต้องชำระดังนี้

ถ้ารายได้รวมมากกว่าหรือเท่ากับ 100,000 บาท เสียภาษี 10%

ถ้ารายได้รวมมากกว่าหรือเท่ากับ 70,000 บาท เสียภาษี 7%

ถ้ารายได้รวมมากกว่าหรือเท่ากับ 50,000 บาท เสียภาษี 5%

ถ้ารายได้รวมมากกว่าหรือเท่ากับ 30,000 บาท เสียภาษี 3%

ถ้ารายได้รวมน้อยกว่า 30,000 เสียภาษี 1%

กรณีทำซ้ำ

26. พิมพ์ตัวเลข 1 – 10

27. หาผลรวมของเลข 1 – 10

28. พิมพ์เลข คี่ 0 – 50

29. พิมพ์เลขคู่ 0-50

30. รับตัวเลข 10 จำนวน แล้วนำมาหาค่าเฉลี่ย

31. รับตัวเลข 10 จำนวน แล้วหาค่าสูงสุด ค่าต่ำสุด

32. รับตัวเลขแล้วนำมาพิมพ์เป็นแม่สูตรคูณ

33. รับตัวเลขแล้วพิมพ์ *ตามจนวนค่าตัวเลข

34. รับตัวเลขแล้วนำมาหาค่า Factorial

35. สร้างเมนูเพื่อคำนวณค่าต่าง ๆ MENU

1. พื้นที่รูปสามเหลี่ยม

2. พื้นที่รูปสี่เหลี่ยม

3. พื้นที่รูปวงกลม

4. ออกจากโปรแกรม

กรุณาเลือกหัวข้อที่จะคำนวณ = => …….. (เมื่อเลือกแล้วให้ทำการคำนวณตามหัวข้อที่เลือก)

ต้องการทำงานต่อหรือไม่ Y/N ถ้า Y ให้แสดง MENU ถ้า N ให้จบการทำงาน

แบบทดสอบ การออกแบบและพัฒนาโปรแกรมขนาดเล็กด้วยภาษาซี

1.ภาษาซีจัดเป็นโปรแกรมประเภทใด

ก. ภาษาระดับต่ำ ข. ภาษาระดับสูง ค. ภาษาเครื่อง ง. โปรแกรมเชิงวัตถุ

2.โปรแกรมภาษาซีเริ่มทำงานจากฟังก์ชันใด

ก. main ข. include ค. library ง. clrscr

3.Source Codeของภาษาซีมีนามสกุลอะไร

ก. .LIB ข. .EXE ค. .CPP ง. .OBJ

4.ประโยคคำสั่งต่าง ๆ ในภาษาซีต้องปิดท้ายด้วยเครื่องหมายใด

ก. เครื่องหมาย . ข.เครื่องหมาย , ค. เครื่องหมาย : ง. เครื่องหมาย ;

5. ตัวแปรข้อใดถูกต้อง

ก. 3sum ข. sum-sc ค. main ง. mean_x

6. ถ้าตัวแปรจำนวนเต็ม x,y,z มีค่า 8,3,-5 ค่า ans=(x*z)%y ตัวแปร ans จะมีค่าเท่าใด

ก. -1 ข. 1 ค. -13 ง. 13

7. ถ้าประกาศ int a=5;แล้ว a++ จะมีค่าใด

ก. 4 ข. 5 ค. 6 ง. 7

8. ฟังก์ชันใดสามารถแสดงผลได้ทุกรูปแบบ

ก. scanf() ข. puts() ค. putchar() ง. printf()

9. รหัสรูปแบบใดใช้กับข้อมูลอักขระ 1 ตัว

ก. %d ข. %c ค. %f ง. %s

10. รหัสรูปแบบใดใช้กับข้อมูลจำนวนเต็ม

ก. %d ข. %c ค. %f ง. %s

11. รหัสรูปแบบใดใช้กับข้อมูลทศนิยม

ก. %d ข. %c ค. %f ง. %s

12. รหัสรูปแบบใดใช้กับข้อมูลตัวอักษร

ก. %d ข. %c ค. %f ง. %s

13. ในฟังก์ชัน printf( ) รหัสควบคุมการแสดงผลให้ขึ้นบรรทัดใหม่ คือข้อใด

ก. \t ข. \b ค. \n ง. \a

14. ในฟังก์ชัน printf( ) รหัสควบคุมการแสดงผลให้เว้นระยะตัวอักษร คือข้อใด

ก. \t ข. \b ค. \n ง. \a

15. ในฟังก์ชัน printf( ) รหัสควบคุมการแสดงผลให้มีเสียงดัง Beep คือข้อใด

ก. \t ข. \b ค. \n ง. \a

แบบฟอร์มการวิเคราะห์งาน

โจทย์ปัญหา...................................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

1. สิ่งที่โจทย์ต้องการ.....................................................................................................................................................

......................................................................................................................................................................................

2. การออกแบบ Output................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

3. ข้อมูลที่เป็น Input………………………………………………………………………………………………….

......................................................................................................................................................................................

......................................................................................................................................................................................

4. ตัวแปรที่ใช้..............................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

......................................................................................................................................................................................

5. Process & Flow Chart 6. Pseudo Code

จงวิเคราะห์และเขียนผังงานเพื่อทำการคำนวณหายอดเงินคงเหลือของรายรับรายจ่ายต่อเดือน

1. สิ่งที่โจทย์ต้องการ ยอดเงินคงเหลือ

2. การออกแบบ Output

รายรับ .................................. บาท

รายจ่าย .................................. บาท

เงินคงเหลือ .................................. บาท

3. ข้อมูลที่เป็น Input ได้แก่ 3.1 รายรับ 3.2 รายจ่าย

4. ตัวแปรที่ใช้ 4.1 รายรับ income

4.2 รายจ่าย expense

4.3 เงินคงเหลือ balance

5. Process & Flow Chart 6. Pseudo Code

5.1 รับข้อมูลรายรับ และรายจ่าย start

5.2 คำนวณหาเงินคงเหลือ = รายรับ – รายจ่าย input income, expense

5.3 แสดงข้อมูลตาม Output balance = income - expense

print “Income =”,income

“Expense =”,expense “Balance =”,balance

stop

ลองทำดู จงวิเคราะห์และเขียนผังงานเพื่อคำนวณการเปลี่ยนค่าของอุณหภูมิจากองศาเซลเซียส (Celsius) เป็นองศาฟาเรนไฮต์ (Fahrenheit) โดยมีสูตรดังนี้ F = [ (C*9)/5 ] +32

1. สิ่งที่โจทย์ต้องการ คือ.............................................................................................................................................

....................................................................................................................................................................................

2. การออกแบบ Output……………………………………………………………………………………………..

………………………………………………………………………………………………………………………

………………………………………………………………………………………………………………………

3. ข้อมูลนำเข้า Input .................................................................................................................................................

....................................................................................................................................................................................

4. ตัวแปรที่ใช้..............................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

5. Process & Flow Chart 6. Pseudo Code

ลองทำดู จงวิเคราะห์และเขียนผังงานเพื่อคำนวณหาราคาขายสินค้าที่รวมภาษีมูลค่าเพิ่มจากราคาสินค้าต้นทุน โดยคิดกำไรเพิ่มอีก 15% ก่อนทำการคิดภาษีมูลค่าเพิ่มคิดในอัตรา 7 % เช่น ราคาสินค้ามีต้นทุน 350 บาท

ราคาขาย คือ (350*1.15)*1.07 = 430.675 บาท

1. สิ่งที่โจทย์ต้องการ คือ.............................................................................................................................................

....................................................................................................................................................................................

2. การออกแบบ Output……………………………………………………………………………………………..

………………………………………………………………………………………………………………………

………………………………………………………………………………………………………………………

3. ข้อมูลนำเข้า Input .................................................................................................................................................

....................................................................................................................................................................................

4. ตัวแปรที่ใช้..............................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

....................................................................................................................................................................................

5. Process & Flow Chart 6. Pseudo Code

-----------------------

Start

rec_wide,rec_long

area = rec_wide*rec_long

Print “Wide =”rec_wide

Print “Long =”rec_long

Print “Area = “area

Stop

rec_wide

&&rec_long >0

N

Y

Start

Input rec_wide, rec_long

If rec_wide && rec_long > 0

area = rec_wide*rec_long

Print “Wide =” rec_wide

Print “Long =” rec_long

Print “Area =”area

else goto Stop

Stop

10 Cls

20 Input rec_wide, rec_long

30 If rec_wide && rec_long > 0 Then

area = rec_wide * rec_long

Else goto end

40 Print “Wide =” rec_wide

50 Print “Long =” rec_long

60 Print “Area =” area

70 End

Program Calculate Area;

VAR rec_wide, rec_long, area : Real;

Begin

Area := 0;

Readln (rec_wide);

Readln (rec_long);

If rec_wide && rec_long > 0 then

area := rec_wide*rec_long;

Writeln (“Wide =”,rec_wide :7:2);

Writeln (“Long =”,rec_long :7:2);

Writeln (“Area =”,area :7:2);

Else End;

End.

import java.util.Scanner

class Calculate_Rectangle

{ public static void main(String[ ] args)

throws IOException

{ double rec_wide, rec_long, area = 0;

System.out.print(“Input wide =>”);

System.out.print(“Input long =>”);

Scanner sc = new Scanner(System.in);

rec_wide = Sc.nextdouble();

rec_long = Sc.nextdouble();

if (rec_wide && rec_long >0)

area = rec_wide * rec_long;

System.out.println(“Wide = ” + rec_wide);

System.out.println(“Long= ” + rec_long);

System.out.println(“Area = ” + area); }

}

#include

#include

void main() {

float rec_wide, rec_long, area;

clrscr();

printf(“enter wide of rectangle”);

scanf(“%f”,&rec_wide);

printf(“enter long of rectangle”);

scanf(“%f”,&rec_long);

if (rec_wide && rec_long >0)

{ area = rec_wide*rec_long;

printf(“Wide = %.2f\n”,rec_wide);

printf(“Long = %.2f\n”,rec_long);

printf(“Area = %.2f\n”,area); }

getch(); }

# include //การเรียกช้ำลบรารีฟังก์ชั่น

# include

main ( )

{

clrscr( ); // ฟังก์ชั่นเคลียร์จอภาพ

int a, b, sum; // ประกาศชนิดตัวแปรที่ใช้ในโปรแกรม

a = 5;

b = 3;

sum = a + b; // การประมวลผล

printf(“sum of a and b = %d”,sum); // แสดงผลการคำนวณ

}

start

“Income =” income

“Expense =” expense

“Balance =” balance

stop

balance = income-expense

income,

expense

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches