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) เขียนเอกสารและบารุงร ักษา โปรแกรม เอกสารประกอบโปรแกรม จะต้อง ประกอบด้วยวัตถุประสงค ์ของโปรแกรม คาอธิบายถึงการแก้ปัญหาของโปรแกรม และรายละเอียดของข้อมู ลนาเข้าและสิง่ ่ องการ เอกสารประกอบโปรแกรมนี ้ ทีต้ ้ ้ นตอนการ ้ ต้องถูกพัฒนาขึนตลอดทั งขั พัฒนาโปรแกรมควบคูไ่ ปกับการเขียน ่ ส ่ าค ัญมาก โปรแกรม เพราะเป็ นสิงที สาหร ับเขียนโปรแกรมในกรณี ทต้ ี่ องการ ปร ับปรุง