ภาพนิ่ง 1

Download Report

Transcript ภาพนิ่ง 1

ภาษาคอมพิวเตอ
ร์
และการพัฒนา
โปรแกรม
ภาษาคอมพิวเตอร ์
คอมพิวเตอร ์จะสามารถ
ทางานได้จะต้องมีการเขียน
่ งให้
่
โปรแกรมหรือซอร ์ฟแวร ์ เพือสั
คอมพิวเตอร ์ทางาน โปรแกรมต่าง
่ ยนขึนมานั
้
้ จะต้องเขียนไป
ๆ ทีเขี
น
ตามกฎเกณฑ ์ของภาษาที่
คอมพิวเตอร ์เข้าใจ เรียกว่า
ภาษาคอมพิวเตอร ์
ภาษาคอมพิวเตอ
ร์
• สามารถแบ่งออกได้เป็ น 5 ยุคคือ
่ (Machine language)
1. ภาษาเครือง
2. ภาษาแอสเซมบลี (Assembly
language)
้ั ง (High-level
3. ภาษาชนสู
language) หรือ ภาษารุน
่ ที่ 3
(3GL:Third Generation
Language)
้ั งมาก (Very high-level
4. ภาษาชนสู
language)
่
1. ภาษาเครือง
(Machine language)
่
้
เป็ นภาษาพืนฐานที
คอมพิวเตอร ์สามารถ
่
้
เข้าใจได้ แต่ละคาสังประกอบขึ
น
จากกลุ่ม
่ น
ตัวเลข 0 และ 1 ซึงเป็
เลขฐานสอง
2. ภาษาแอสเซมบลี
(Assembly language)
• เ ป็ น ภ า ษ า ที่ ใ ช้ สั ญ ลั ก ษ ณ์
ข้ อ ค ว า ม แ ท น ก ลุ่ ม ข อ ง ต ั ว
เลขฐานสอง เพื่อให้ง่ ายต่ อ การ
้ การ
เขียนและการจดจามากขึน
ท างานของโปรแกรมจะต้อ งท า
การแปลภาษาแอสเซมบลีให้เป็ น
ภ า ษ า เ ค รื่อ ง โ ด ยใ ช้ต ัว แ ป ล ที่
้ั ง
3. ภาษาชนสู
(High-level language)
้
่อให้เ ขีย นโปรแกรมได้
• ถู ก สร า้ งขึนมาเพื
ง่ า ย ขึ ้ น โ ด ย มี ลั ก ษ ณ ะ เ ห มื อ น กั บ
่
ภาษาองั กฤษทัวไป
ผู เ้ ขียนไม่จาเป็ นต้องมี
่
ความรู เ้ กียวกั
บฮาร ์แวร ์แต่อย่างใด ภาษา
้ าเป็ นต้องมีตวั แปลภาษาเครืองเช่
่
นี จ
นกัน
เ รี ย ก ต ั ว แ ป ล นี ้ ว่ า ค อ มไ พ เ ล อ ร ์
(compiler) ห รื อ อิ น เ ต อ ร ์พ รี เ ต อ ร ์
(Interpreter) อย่างใดอย่างหนึ่ง
้ั ง เช่ น ภาษา
• ตว
ั อย่ า งของภาษาช นสู
้ั งมาก
4. ภาษาชนสู
(Very high-level
language)
่ ลก
• เป็ นภาษาทีมี
ั ษณะคล้ายภาษาพู ด
้
ตามปกติของมนุ ษย ์ ภาษานี จะช่
วยให้
้
การเขียนโปรแกรมเร็วมากขึนกว่
า
่
ภาษาในรุน
่ ที่ 3 เนื่ องจากมีเครืองมื
อที่
ช่วยในการสร ้างแบบฟอร ์มหน้าจอ
่ ดการกับข้อมู ลรวมไปถึงการออก
เพือจั
รายงาน เมนู ต่าง ๆ
้ั งมากได้แก่
• ตัวอย่างของภาษาชนสู
informix-4GL, MAGIC , Delphi ,
5. ภาษาธรรมชาติ
(Natural language)
่
่
• เป็ นภาษาทีสามารถสั
งงาน
คอมพิวเตอร ์โดยใช้รูปแบบของภาษา
่
่
มนุ ษย ์ได้เลย คาสังอยู
่ในรู ปแบบทีไม่
แน่ นอนตายตัว แต่คอมพิวเตอร ์จะทา
การแปลให้ออกมาในรู ปที่
้ กสร ้าง
คอมพิวเตอร ์เข้าใจได้ ภาษานี ถู
้
ขึนมาจากเทคโนโลยี
ทางด้านระบบ
่
ผู เ้ ชียวชาญ
(Expert System)
่
การพัฒนา
โปรแกรม
คอมพิวเตอร ์
การพั
ฒนาโปรแกรมคอมพิ
1) การก
าหนดและวิ
เคราะห ์ปั ญหา วเตอร
้
่ จะเป็
่
แบ่
เป็ น 5เคราะห
ขันตอนดั
ต่อหาในสิ
ไปนี ้ งที
เป็ งนการวิ
์ถึงปังญ
นส่วนที่
จะต้องนามาร่วมในการเขียนโปรแกรม สามารถแบ่ง
้
การทางานออกได้เป็ น 5 ขันตอน
ดงั นี ้
่ โจทย
่
(1) วิเคราะห ์สิงที
์ต้องการ
่ โจทย
่
หมายถึง การวิเคราะห ์จากโจทย ์ว่าสิงที
์
้ ออะไรสามารถแยกได้ออกมาเป็ น
ต้องการนันคื
่ ัดเจนได้
รายละเอียดทีช
่ องแสดง (Output)
(2) วิเคราะห ์ข้อมู ลทีต้
่ หรือผลลัพธ ์ทีต้
่ องการ
หมายถึง ผลลัพธ ์ทีได้
แสดงผล
่ องร ับ (Input)
(3) วิเคราะห ์ข้อมู ลทีต้
่
่ าการ
หมายถึง ข้อมู ลทีจะต้
องป้ อนเข้ามาเพือท
ประมวลผล
(4) วิเคราะห ์ค่าตัวแปร
่
หมายถึง ค่าทีจะน
ามาแทนในการทางาน แทน
ด้วย คาศ ัพท ์ภาษาอ ังกฤษ
ตัวอย่าง โจทย ์ แม่เด็กชายสมชาย ให้
เงิน 100 บาท ไปซือ้
้ ้ าปลา
น้ าตาล 1 กิโลกร ัม ๆ ละ 19 บาท ซือน
1 ขวด ๆ ละ 21 บาท และเด็กชายสมชายได้
้
ซือขนมให้
ก ับตัวเอง 32 บาท อยากทราบว่า
เด็กชายสมชายจะเหลือเงินไปให้แม่เป็ น
่
จานวนกีบาท
่
่ โจทย
์ต้องการ
(1) สิงที
เด็กชายสมชายจะเหลือเงินไปให้แม่
่
เป็ นจานวนกีบาท
่ องแสดง
(2) ข้อมู ลทีต้
่
ยอดเงินทีเหลื
อ
่ องร ับ
(3) ข้อมู ลทีต้
่ ให้ 100 บาท
ก. เงินทีแม่
ข. น้ าตาล 1 กิโลกร ัม 19 บาท
(4) ตัวแปร
ที่
1
2
3
4
5
6
ความหมาย
่ ให ้
เงินทีแม่
้ ้ำตำล
ซือน
้ ้ำปลำ
ซือน
้
ซือขนม
ยอดกำรซือ้
่ อ
เงินทีเหลื
ตัวแปร
money
sugar
fish_sauce
sweets
total
m_remain
(5) วิธก
ี ารคานวณ
ก. กาหนดให้ money = 100
Bath
ข. กาหนดให้ sugar = 19
Bath
ค. กาหนดให้ fish_sauce = 21
Bath
ง. กาหนดให้ sweets = 32
Bath
จ. การประมวลผล
total =
sugar+fish_sauce+sweets
m_remain = moneytotal
2) การพัฒนาอ ัลกอริทม
ึ
้
่ นลาดับเสมือนเป็ น
เป็ นขันตอนการท
างานทีเป็
่ องช ัดเจนเข้าใจง่ ายไม่กากวม
คู ม
่ อ
ื การแก้ปัญหาทีต้
่
และมีรายละเอียดพอทีจะท
างานต่อไปได้ โดยอ ัลกอริทม
ึ
้
นันอาจเขี
ยนอยู ่ในรู ปของซูโดโค้ด (Pseudo code)
หรือผังงาน (Flowchart) ก็ได้ ซูโดโค้ด (รหัสเทียม) มี
่
หน้าทีเหมื
อนโฟล ์วชาร ์ทแต่ ซูโดโค้ดมีลก
ั ษณะเป็ น
่ ามาเรียงต่อก ันให้สามารถ
คาศ ัพท ์ในภาษาอ ังกฤษซึงน
เข้าใจความหมายได้ โดยไม่มก
ี ฎเกณฑ ์ ไวยากรณ์ ที่
แน่ นอนตายตวั
้
ส่วนโฟล ์วชาร ์ทนันเป็
นการนาเอาสัญลักษณ์มา
แทนความหมายการทางานบางอย่าง แล้วนา
้ั
่
สัญลักษณ์นนมาเชื
อมโยงต่
อกน
ั ด้วยลู กศรแสดงทิศ
่
ทางการทางาน เพือให้
ได้ผลลัพธ ์ตามต้องการ การ
่ ควรจะสามารถนาไปแปลงเป็ น
เขียนอ ัลกอริทม
ึ ทีดี
การพัฒนาอ ัลกอริทม
ึ
ตัวอย่าง กำรวำงแผนไปโรงเรียนของ
นักเรียน
การจาลองความคิดด้วยรหัสเทียม
(Pseudo code)
่ น
เริมต้
่
ตืนนอน
้
อำบนำแต่
งตัว
ไปโรงเรียน
จบ
การพัฒนาอ ัลกอริทม
ึ
การจาลองความคิดเป็ นสัญลักษณ์
(Flowchart)
่ น
เริมต้
่
ตืนนอน
อาบน้ า
แต่งตัว
ไป
โรงเรียน
จบการ
ทางาน
3) การเขียนโปรแกรม
่ ให้เป็ น
เป็ นการแปลงอ ัลกอริทม
ึ ทีได้
่
่ เลือกไว้โดย
คาสังในภาษาคอมพิ
วเตอร ์ทีได้
่
ทีการเขี
ยนโปรแกรมจะต้องถูกต้องตาม
หลักไวยากรณ์ (Syntax) หรือกฎของ
้ ๆ ซึงตรวจสอบได้
่
ภาษานัน
โดยนา
โปรแกรมไปประมวลผลด้วยคอมพิวเตอร ์
4) การทดสอบโปรแกรม
เป็ นการทดสอบโดยผู ใ้ ช้ตอ
้ งสร ้าง
่
้
เพือทดสอบ
ตัวอย่างข้อมู ลนาเข้าขึนมา
่ นน
้ั
โปรแกรมให้แน่ ใจว่าโปรแกรมทีได้
ทางานได้อย่างถูกต้องแม่นยา ไม่วา
่ จะมี
5) เขียนเอกสารและบารุงร ักษา
โปรแกรม
เอกสารประกอบโปรแกรม จะต้อง
ประกอบด้วยวัตถุประสงค ์ของโปรแกรม
คาอธิบายถึงการแก้ปัญหาของโปรแกรม
และรายละเอียดของข้อมู ลนาเข้าและสิง่
่ องการ เอกสารประกอบโปรแกรมนี ้
ทีต้
้
้ นตอนการ
้
ต้องถูกพัฒนาขึนตลอดทั
งขั
พัฒนาโปรแกรมควบคูไ่ ปกับการเขียน
่ ส
่ าค ัญมาก
โปรแกรม เพราะเป็ นสิงที
สาหร ับเขียนโปรแกรมในกรณี ทต้
ี่ องการ
ปร ับปรุง