หลักการเขียนโปรแกรม€¦ · web viewหล กการเข...

43
หหหหหหหหหหหหหหหหหหห จจจจจจจจจจจจจจจจจ จจจจจจจจ 1. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ (Algorithm) จจจจจจจจจจจจจจจจจจจจจจ 2. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ 3. จจจจจจจจจจจจจจจจจจจจจจจ (Flow chart) 4. จจจจจจจจจจจจจจจจจจจจจจจจจจ (Pseudo Code) จจจจจจจจจ 5. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจ 6. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจ 1. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจ 2. จจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจ 3. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจ 4. จจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจ จจจจจจจจจจจจจจ จจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจ จจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจ จจจ จจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจ จจจจจจจจจจจจจจจจจจจจจจจจจจ 1 1. จจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจจ Solving Problem by Computer

Upload: others

Post on 05-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

จุดประสงค์รายวชิา เพื่อให้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

Page 2: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

เน้ือหาการเรยีนรูห้น่วยท่ี 2 2. การเขยีนผังงาน Flowchart

สญัลักษณ์สำาหรบัการเขยีนผังงาน Symbol for Flowchartการเขยีนซูโดโค้ด Pseudo Code เน้ือหาการเรยีนรูห้น่วยท่ี 3

3. ลักษณะโครงสรา้งของผังงาน Type of Flowchartโครงสรา้งแบบลำาดับโครงสรา้งแบบเลือกทำาโครงสรา้งแบบทำาซำ้าเน้ือหาการเรยีนรูห้น่วยท่ี 4

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

สาระการเรยีนรู ้เรื่อง การนำาคอมพวิเตอรม์าใชใ้นการแก้ปัญหา1. ขัน้ตอนการวเิคราะหป์ัญหา2. Problem Statement3. Input / Output Description4. Hand Example5. Algorithm Development 6. Testing

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

Page 3: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

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

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

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

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

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

Page 4: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

ตัวดำาเนินการทางคณิตศาสตร์เครื่องหม

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

+ บวก 17+3 20- ลบ 17-3 14* คณู 17*3 51/ หาร 17/3 5.67% หารเอาเศษ 17%3 2

ลำาดับความสำาคัญการทำางานของโอเปอเรเตอร์1. ()2. ^ (ยกกำาลัง)3. – (เครื่องหมายติดลบ)4. *, /, %5. +, -

Page 5: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

สาระการเรยีนรู ้เรื่อง ผังงาน1. ผังงาน2. สญัลักษณ์สำาหรบัเขยีนผังงาน3. ลักษณะการเขยีนผังงาน

ผลการเรยีนรูท้ี่คาดหวงั1. สามารถอธบิายความหมายของผังงานได้2. สามารถบอกประโยชน์ของผังงานได้3. สามารถบอกสญัลักษณ์สำาหรบัเขยีนผังงานได้4. สามารถอธบิายความหมายของสญัลักษณ์ที่เขยีนผังงานได้5. สามารถอธบิายลักษณะการเขยีนผังงานที่ดีได้

Page 6: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

การเขยีนผังงาน Flowchart ผังงาน (Flowchart)ผังงาน (Flowchart) คือ การเขยีนอธบิายขัน้ตอนวธิกีารทำางานใน

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

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

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

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

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

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

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

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

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

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

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

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

Page 7: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

ของการตัดสนิใจ และสญัลักษณ์ของจุดเชื่อมต่อ3. ทิศทางของลำาดับขัน้ตอนการทำางานนิยมเขยีนจากบนลงล่าง จากซา้ยไป

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

จุดต่อแทน

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

Start

a , b

sum = a + b

“SUM =” sum

Stop

Page 8: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

สาระการเรยีนรู ้เรื่อง ลักษณะโครงสรา้งของผังงาน1. ลักษณะโครงสรา้งของผังงาน2. โครงสรา้งแบบลำาดับ3. โครงสรา้งแบบเลือกทำา4. โครงสรา้งแบบทำาซำ้า

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

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

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

ซำ้าได้

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

Page 9: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

ตัวดำาเนินการทางตรรกะและเปรยีบเทียบเครื่องหม

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

> มากกวา่ 3 > 5 เท็จ>= มากกวา่หรอื

เท่ากับ2 >= 2 จรงิ

< น้อยกวา่ 3 < 2 เท็จ<= น้อยกวา่หรอื

เท่ากับ1 <= 2 จรงิ

= = เท่ากับ 10 = = 10

จรงิ

Page 10: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

!= ไมเ่ท่ากับ 10 != 10 เท็จ&& และ (AND) 3>2 &&

2>1จรงิ

|| หรอื (OR) 5<10 || 5>10

จรงิ

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

A B A && B A || B !A !BT T T T F FT F F T F TF T F T T FF F F F T T

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

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

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

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

Page 11: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

ความกวา้ง = ………….ความยาว = ................พื้นท่ี = ………….

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

การทดลองแก้ไขปัญหาด้วยตนเอง Hand Exampleจากสตูร การคำานวณหาพื้นท่ีรูปสีเ่หล่ียม = กวา้ง X ยาว

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

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

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

1. เริม่ต้น

Page 12: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

2. รบัค่าความกวา้ง = 5 และ ความยาว = 8 ผ่านแป้นพมิพ์3. ตรวจสอบค่าความกวา้งและความยาวต้องมค่ีา > 0

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

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

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

การทดสอบขัน้ตอนวธิกีารแก้ปัญหา Testing ทดสอบขอ้มูลชุดแรก ทดสอบขอ้มูลชุดที่สองโดยใหค่้าความกวา้ง = 7.5 ความยาว = 12 โดยใหค่้าความกวา้ง = -2 ความยาว = 5

1. Strat 1. Strat2. 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 43.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 = ” area6. Stop 6. Stop

Page 13: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

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

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

Start

rec_wide,rec_long

area = rec_wide*rec_long

Print “Wide =”rec_widePrint “Long =”rec_longPrint “Area = “area

Stop

rec_wide&&rec_long

>0

N

Y

StartInput rec_wide, rec_longIf rec_wide && rec_long > 0

area = rec_wide*rec_long

Print “Wide =” rec_wide

Print “Long =” rec_long

Print “Area =”areaelse goto StopStop

10 Cls20 Input rec_wide, rec_long30 If rec_wide && rec_long > 0 Then area = rec_wide * rec_long Else goto end40 Print “Wide =” rec_wide50 Print “Long =”

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);

Page 14: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

ภาษาจาวา ภาษาซี

สาระการเรยีนรู ้เรื่อง การออกแบบและพฒันาโปรแกรมขนาดเล็กด้วยภาษาซี1. โครงสรา้งของภาษาซี2. กฎเกณฑ์การเขยีนโปรแกรมภาษาซี3. การแสดงผลขอ้มูล และการรบัค่าขอ้มูลผ่านแป้นพมิพ์

ผลการเรยีนรูท้ี่คาดหวงั1. สามารถเขยีนโปรแกรมโครงสรา้งของภาษาซไีด้2. สามารถเขยีนโปรแกรมภาษาซถีกูต้องตามกฎเกณฑ์ของภาษา3. สามารถใชค้ำาสัง่ในการรบัและแสดงผลขอ้มูลได้

#include<stdio.h>#include<conio.h>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;

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 =

Page 15: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

กฎเกณฑ์การเขยีนโปรแกรมภาษาซี- ต้องกำาหนดสว่นตัวประมวลผลก่อน- ตัวแปรที่ต้องใชง้านต้องประกาศชนิดของตัวแปรแต่ละประเภทให้

ถกูต้อง- ต้องมฟีงัก์ชัน่หลักเสมอ- ใชเ้ครื่องหมายปีกกา { } เป็นตัวขอบเขตของชุดคำาสัง่- ต้องจบประโยคด้วยเครื่องหมาย ;- นิยมใชอั้กษรตัวเล็กในการเขยีนโปรแกรม- ใชเ้ครื่องหมายคอมมา่ , เป็นตัวคัน่ระหวา่งตัวแปรหรอืค่า

พารามเิตอรต่์าง ๆ- การระบุหมายเหตใุหใ้ชเ้ครื่องหมาย /*…….*/ หรอื // ซึ่งตัวคอมไพ

เลอรจ์ะไมส่นใจในขณะทำาการคอมไพล์โปรแกรม

# include<stdio.h> //การเรยีกชำ้าลบรารฟีงัก์ชัน่# include<conio.h>main ( ) { clrscr( ); // ฟงัก์ชัน่เคลียรจ์อภาพ int a, b, sum; // ประกาศชนิดตัวแปรท่ีใชใ้นโปรแกรม a = 5; b = 3;

Page 16: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

การแสดงผลขอ้มูล และการรบัค่าขอ้มูลผ่านแป้นพมิพ์การแสดงผลขอ้มูลและการรบัค่าขอ้มูลในภาษาซจีะต้องมรูีปแบบถกูต้อง

ตามชนิดของตัวแปรท่ีนำามาใช ้โดยมชีนิดของตัวแปรดังนี้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 (“รูปแบบท่ีใชใ้นการรบัค่า”,ตัวแปรที่รบัค่า);

Page 17: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

เครื่องหมาย & นำาหน้าตัวแปรเสมอscanf (“%s”,name);

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

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

# include <stdio.h># include <conio.h>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 oldNext 5 Years I am 22 years old

Page 18: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

# include <stdio.h># include <conio.h>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 oldNext 5 Years I am 22 years old

Page 19: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

ก. การศึกษาและทำาความเขา้ใจกับปัญหาข. การพจิารณาลักษณะของขอ้มูลนำาเขา้และการแสดงผลขอ้มูลค. การทดลองแก้ไขปัญหาของขอ้มูลนำาเขา้และการแสดงผลขอ้มูลง. การทดสอบขัน้ตอนวธิกีารแก้ปัญหา

2. ขอ้ใดเป็นขัน้ตอนสดุท้ายของขัน้ตอนการวเิคราะหปั์ญหาก. การทดลองแก้ไขปัญหาด้วยตนเองข. การเขยีนลำาดับขัน้ตอนวธิกีารแก้ปัญหาค. การทดสอบลำาดับขัน้ตอนวธิกีารแก้ปัญหาง. การพจิารณาลักษณะขอ้มูลนำาเขา้และการแสดงผลขอ้มูล

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

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

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

4. ขอ้ใดคือความหมายของคำาวา่ ขัน้ตอนวธิ ี(Algorithm)ก. การทำาความเขา้ใจกับปัญหาที่เกิดขึ้นข. การอธบิายลำาดับขัน้ตอนการทำางานเป็นขอ้ ๆ ตัง้แต่แรกจนถึงขัน้

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

Page 20: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

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

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

7. จากขอ้ 6 ขอ้มูลท่ีต้องสง่กลับคืนคือขอ้มูลในขอ้ใด ก. พื้นท่ีของสามเหล่ียม ข. ความสงู ค. ความยาวฐาน ง. ความยาวฐาน, ความสงู

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

9. โปรแกรมภาษาคอมพวิเตอร ์ถกูพฒันามาจากสว่นใดก. รหสัเทียม (Pseudo Code) ข. การอธบิายขัน้ตอนการทำางานอยา่งละเอียดค. การทดสอบลำาดับขัน้ตอนวธิกีารแก้ปัญหาง. การทดลองแก้ปัญหาด้วยตนเอง

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

ก. การพจิารณาลักษณะขอ้มูลนำาเขา้และการแสดงผลขอ้มูลข. การทดลองแก้ไขปัญหาด้วยตนเองค. การเขยีนขัน้ตอนวธิกีารแก้ปัญหาง. การทำาความเขา้ใจกับปัญหา

Page 21: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

ก. ทำาใหส้ะดวกสำาหรบัการหาขัน้ตอนวธิสีำาหรบัการทำางานข. สามารถเหน็ลำาดับขัน้ตอนการทำางานชดัเจนขึ้นค. สามารถอธบิายการทำางานได้ดีกวา่การเขยีนอธบิายขัน้ตอนวธิกีาร

ทำางานลักษณะขอ้ความง. ถกูทกุขอ้

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

14. ขอ้ใดอธบิายโครงสรา้งผังงานการทำางานแบบลำาดับได้ถกูต้องก. ประกอบไปด้วยสญัลักษณ์การตัดสนิใจ 1 สญัลักษณ์ข. การทำางานจะทำาทีละขัน้ตอน ตัง้แต่ขัน้ตอนแรกจนถึงขัน้ตอน

สดุท้ายค. มกีารตรวจสอบเง่ือนไขวา่เป็นจรงิ หรอืเป็นเท็จง. ถกูทกุขอ้

15. โครงสรา้งผังงานใดต้องประกอบไปด้วยสญัลักษณ์การตัดสนิใจ ก. โครงสรา้งการทำางานแบบลำาดับ ข. โครงสรา้งการเลือกทำา ค. โครงสรา้งการทำาซำ้า ง. ถกูทัง้ขอ้ ข. และขอ้ ค.

ภาคผนวก ก.

Page 22: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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 ถึง 127Unsigned character

Unsigned char

1 0 ถึง 255

Integer Int 2 -32,768 ถึง 32,767Short integer Short 2 -32,768 ถึง 32,767Long integer Long 4 -2,147,482,648 ถึง

2,147,482,648Unsigned integer

Unsigned int

2 0 ถึง 65,535

Unsigned long integer

Unsigned long

4 0 ถึง 4,294,967,295

Page 23: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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 และ Compiler11.พยายามทำาตามกฎ แต่ถ้ามขีอ้ยกเวน้ ต้องมอียา่งหลีกเล่ียงไมไ่ด้ แล้วประกาศและตะโกนใหด้ังที่สดุ

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

Page 24: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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 และถ้าไมจ่ำาเป็น อยา่ optimize26.ยิง่ประสทิธภิาพเพิม่ ความเขา้ใจง่ายจะลดลง

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

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

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

Page 25: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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 ต้องกระทำาเมื่อทำางานกับ Database40.ระวงัอยา่ให ้logic if then else ซอ้นกันมากมาก เพราะสมองคนไมใ่ช ่CPU จนิตนาการไมอ่อกหรอกวา่มนัอยูต่รงไหนเวลา Debug (ถ้ามากกวา่สามชัน้ก็ลองคิดใหมด่วูา่เขยีนแบบอ่ืนได้ มัย้)41.ระวงัอยา่ใหล้ปูซอ้นกันมากมาก ไมใ่ชแ่ค่เรื่องความเรว็อยา่งเดียว เวลา Debug เราคิดตามมนัไมไ่ด้ (ถ้าเกินสามชัน้ก็ไมไ่หวแล้ว)42. อยา่ใช ้Magic Number ใน Code เชน่ if( controlingValue == 4 ) เปล่ียนไปใช ้Enum ดีกวา่ เป็น if( controlingValue == ControllingState.NORMAL ) เขา้ใจง่ายกวา่มัย้

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

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

Page 26: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

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

Page 27: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

โจทยปั์ญหาวเิคราะห์และเขยีนผังงานกรณีเมื่อทราบค่าของขอ้มูล

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

2. หาผลบวกของเลขสองจำานวนเมื่อกำาหนดให ้a = 5 , b= 33. คำานวณหาพื้นที่ของรูปสามเหล่ียม เมื่อมขีนาดฐาน 7 สงู 124. คำานวณหาพื้นที่ของรูปสีเ่หล่ียมใดๆ เมื่อด้านคู่ขนานยาว 3 และ 5 สงู 65. คำานวณหาพื้นที่ของรูปวงกลม เสน้รอบวง และเสน้ผ่านศูนยก์ลาง เมื่อ

รศัมเีท่ากับ 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. คำานวณหาปีคศ. ของปี พ.ศ. 255012. คำานวณหาเงินบาท เมื่อต้องการแลกเงิน 4,300 ดอลล่าร ์อัตรา

แลกเปล่ียน 36.75 บาท/ดอลล่าร์13. คำานวณหาจำานวนวนั จำานวนชัว่โมง จำานวนนาที เมื่อกำาหนดใหน้าทีมี

ค่าเท่ากับ 4,000 นาที

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

Page 28: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

14. แปลงค่าเซนติเมตรเป็น ฟุต และเมตร15. คำานวณหาปรมิาตรของลกูบาศก์16. คำานวณหาปรมิาตรทรงกระบอก17. แปลงค่าอุณหภมูจิากองศาเซลเซยีสเป็นองศาฟาเรนไฮต์ โดยใช้

สตูร F = [(CX9)/5]+3218. คำานวณหารายได้สทุธขิองพนักงานขายซึ่งรายได้เกิดจาก เงินเดือน

ประจำา ค่าคอมมชิชัน่ รายจา่ยเกิดจาก ภาษีหกั ณ ที่จา่ย เงินประกันสงัคม เงินออมรายเดือน

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

Page 29: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

ถ้ารายได้รวมมากกวา่หรอืเท่ากับ 100,000 บาท เสยีภาษี 10%ถ้ารายได้รวมมากกวา่หรอืเท่ากับ 70,000 บาท เสยีภาษี 7%ถ้ารายได้รวมมากกวา่หรอืเท่ากับ 50,000 บาท เสยีภาษี 5%ถ้ารายได้รวมมากกวา่หรอืเท่ากับ 30,000 บาท เสยีภาษี 3%ถ้ารายได้รวมน้อยกวา่ 30,000 เสยีภาษี 1%

กรณีทำาซำ้า26. พมิพตั์วเลข 1 – 1027. หาผลรวมของเลข 1 – 1028. พมิพเ์ลข ค่ี 0 – 5029. พมิพเ์ลขคู่ 0-5030. รบัตัวเลข 10 จำานวน แล้วนำามาหาค่าเฉล่ีย 31. รบัตัวเลข 10 จำานวน แล้วหาค่าสงูสดุ ค่าตำ่าสดุ32. รบัตัวเลขแล้วนำามาพมิพเ์ป็นแมส่ตูรคณู33. รบัตัวเลขแล้วพมิพ ์*ตามจนวนค่าตัวเลข34. รบัตัวเลขแล้วนำามาหาค่า Factorial35. สรา้งเมนูเพื่อคำานวณค่าต่าง ๆ MENU

1. พื้นท่ีรูปสามเหล่ียม2. พื้นท่ีรูปสีเ่หล่ียม3. พื้นท่ีรูปวงกลม4. ออกจากโปรแกรม

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

ต้องการทำางานต่อหรอืไม ่Y/N ถ้า Y ใหแ้สดง MENU ถ้า N ใหจ้บการทำางาน แบบทดสอบ การออกแบบและพฒันาโปรแกรมขนาดเล็กด้วยภาษาซี

1.ภาษาซจีดัเป็นโปรแกรมประเภทใดก. ภาษาระดับตำ่า ข. ภาษาระดับสงู ค. ภาษาเครื่อง ง. โปรแกรมเชงิวตัถุ2.โปรแกรมภาษาซเีริม่ทำางานจากฟงัก์ชนัใด

Page 30: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

ก. main ข. include ค. libraryง. clrscr3.Source Code ของภาษาซมีนีามสกลุอะไรก. .LIB ข. .EXE ค. .CPP ง. .OBJ4.ประโยคคำาสัง่ต่าง ๆ ในภาษาซต้ีองปิดท้ายด้วยเครื่องหมายใดก. เครื่องหมาย . ข.เครื่องหมาย , ค. เครื่องหมาย : ง. เครื่องหมาย ;5. ตัวแปรขอ้ใดถกูต้องก. 3sum ข. sum-sc ค. main ง. mean_x6. ถ้าตัวแปรจำานวนเต็ม x,y,z มค่ีา 8,3,-5 ค่า ans=(x*z)%y ตัวแปร ans จะมค่ีาเท่าใดก. -1 ข. 1 ค. -13 ง. 137. ถ้าประกาศ int a=5;แล้ว a++ จะมค่ีาใดก. 4 ข. 5 ค. 6 ง. 78. ฟงัก์ชนัใดสามารถแสดงผลได้ทกุรูปแบบก. scanf() ข. puts() ค. putchar() ง. printf()9. รหสัรูปแบบใดใชก้ับขอ้มูลอักขระ 1 ตัวก. %d ข. %c ค. %f ง. %s10. รหสัรูปแบบใดใชก้ับขอ้มูลจำานวนเต็มก. %d ข. %c ค. %f ง. %s11. รหสัรูปแบบใดใชก้ับขอ้มูลทศนิยมก. %d ข. %c ค. %f ง. %s12. รหสัรูปแบบใดใชก้ับขอ้มูลตัวอักษรก. %d ข. %c ค. %f ง. %s13. ในฟงัก์ชนั printf( ) รหสัควบคมุการแสดงผลใหข้ึ้นบรรทัดใหม ่คือขอ้ใดก. \t ข. \b ค. \n ง. \a14. ในฟงัก์ชนั printf( ) รหสัควบคมุการแสดงผลใหเ้วน้ระยะตัวอักษร คือขอ้ใดก. \t ข. \b ค. \n ง. \a

Page 31: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

แบบฟอรม์การวเิคราะหง์านโจทย์ปัญหา...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................1. สิง่ที่โจทย์ต้องการ...........................................................................................................................................................................................................................................................................................................................................2. การออกแบบ Output........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................3. ขอ้มูลท่ีเป็น Input………………………………………………………………………………………………….............................................................................................................................................................................................................................................................................................................................................................................

Page 32: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

4. ตัวแปรที่ใช.้.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5. Process & Flow Chart

6. Pseudo Code

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

รายรบั .................................. บาทรายจา่ย .................................. บาทเงินคงเหลือ .................................. บาท

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

Page 33: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

start

income,expense

“Income =” income“Expense =” expense“Balance =” balance

balance = income-expense

stop

4. ตัวแปรที่ใช้ 4.1 รายรบั income4.2 รายจา่ย expense4.3 เงินคงเหลือ balance

5. Process & Flow Chart 6. Pseudo Code5.1 รบัขอ้มูลรายรบั และรายจา่ย start5.2 คำานวณหาเงินคงเหลือ = รายรบั – รายจา่ย input income, expense5.3 แสดงขอ้มูลตาม Output balance = income - expense

print “Income =”,income

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

stop

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

Page 34: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

1. สิง่ที่โจทยต้์องการ คือ.................................................................................................................................................................................................................................................................................................................................2. การออกแบบ Output……………………………………………………………………………………………..………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………3. ขอ้มูลนำาเขา้ Input .....................................................................................................................................................................................................................................................................................................................................4. ตัวแปรที่ใช.้.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................5. Process & Flow Chart 6. Pseudo Code

Page 35: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

ลองทำาด ู จงวเิคราะหแ์ละเขยีนผังงานเพื่อคำานวณหาราคาขายสนิค้าท่ีรวมภาษีมูลค่าเพิม่จากราคาสนิค้าต้นทนุ โดยคิดกำาไรเพิม่อีก 15% ก่อนทำาการคิดภาษีมูลค่าเพิม่คิดในอัตรา 7 % เชน่ ราคาสนิค้ามต้ีนทนุ 350 บาท ราคาขาย คือ (350*1.15)*1.07 = 430.675 บาท 1. สิง่ที่โจทยต้์องการ คือ.................................................................................................................................................................................................................................................................................................................................2. การออกแบบ Output……………………………………………………………………………………………..………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………3. ขอ้มูลนำาเขา้ Input .....................................................................................................................................................................................................................................................................................................................................4. ตัวแปรที่ใช.้.................................................................................................................................................................................................................................................................................................................................................

Page 36: หลักการเขียนโปรแกรม€¦ · Web viewหล กการเข ยนโปรแกรม จ ดประสงค รายว ชา เพ

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

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

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

......................................................................................5. Process & Flow Chart 6. Pseudo Code