Animal farm from phanumad
วันพุธที่ 11 ธันวาคม พ.ศ. 2556
วันพุธที่ 4 กันยายน พ.ศ. 2556
ความหมายของภาษาแอสแซมบลี
ความหมายของภาษาแอสแซมบลี
ความหมาย
หมายถึง ภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่งซึ่งจะตรงเข้าไปจัดการกับตัวไมโครโพรเซสเซอร์ หรือ "ตัวประมวลผล" ของเครื่องคอมพิวเตอร์ และจะทำการประมวลผลโดยตรงได้เลย โดยปกติ ภาษานี้จะเรียนยากและต้องเขียนยาวกว่าภาษา C หรือภาษา BASIC แต่จะทำให้ได้ผลลัพธ์ (result) เร็วกว่า และใช้เนื้อที่เก็บน้อยกว่าโปรแกรมภาษาอื่นมาก นิยมใช้ภาษานี้เมื่อต้องการประหยัดเวลาทำงานของเครื่องคอมพิวเตอร์ และเพิ่มประสิทธิภาพของโปรแกรม โดยไม่ต้องพะวงถึงความชัดเจนมากนัก และที่สำคัญก็คือ โปรแกรมภาษานี้จะเขียนขึ้นมาเพื่อใช้เฉพาะกับเครื่องใดเครื่องหนึ่ง หากจะนำไปใช้กับเครื่องคนละรุ่น ก็จะต้องมีการปรับแก้ก่อน (ขึ้นกับหน่วยประมวลผลหรือ CPU)
วันพุธที่ 7 สิงหาคม พ.ศ. 2556
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
คือ กลุ่มชุดคำสั่งที่ใช้อธิบายชิ้นงาน หรือกลุ่มงานที่จะประมวลผลโดยคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์อาจหมายถึง ซอฟต์แวร์ แอปพลิเคชัน หรือ โปรแกรม โปรแกรมคอมพิวเตอร์ส่วนใหญ่นั้นเป็นชุดคำสั่งที่ออกแบบตามอัลกอริทึม โดยปกติแล้วเขียนโดยโปรแกรมเมอร์ หรือไม่ก็สร้างโดยโปรแกรมอื่น โปรแกรมคอมพิวเตอร์ชุดหนึ่ง ๆ อาจเขียนขึ้นด้วยระบบรหัส หรือที่เรียกว่า ภาษาเครื่อง ซึ่งมักเขียนได้ยากและเหมาะกับช่างเทคนิคเฉพาะทาง ภายหลังจึงได้มีการสร้างภาษาโปรแกรมที่ใกล้เคียงภาษามนุษย์มากขึ้น เช่น ภาษาแอสเซมบลี (Assembly) ภาษาซี (C) ภาษาโคบอล (COBOL) ภาษาเบสิก (BASIC) ภาษา C# ภาษาจาวา เป็นต้น ผู้เขียนโปรแกรมคอมพิวเตอร์อาจเขียนโปรแกรมไว้ใช้ส่วนตัว หรือเพื่อให้ผู้อื่นใช้ต่อ ไม่ว่าจะเป็นโปรแกรมประยุกต์หรือไลบรารี เช่น โปรแกรมสำหรับวาดภาพ (graphics) โปรแกรมประมวลผลคำ (word processing) โปรแกรมตารางจัดการ (spread sheet) โปรแกรมระบบ (systems software) ซึ่งเป็นโปรแกรมที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ โดยมักติดตั้งมาจากโรงงานที่ผลิต และโปรแกรมระบบปฏิบัติการ (operating system) ที่จะทำหน้าที่เหมือนผู้จัดการคอยดูแลให้อุปกรณ์ต่าง ๆ ทำงานให้ประสานกัน ในการเขียนโปรแกรม ผู้เขียนจะต้องเข้าใจขั้นตอนวิธี (อัลกอริทึม) และภาษาที่จะใช้เป็นอย่างดี จึงจะสามารถเขียนโปรแกรมเพื่อควบคุมเครื่องให้ทำงานได้ตามความต้องการ
มี 6 ขั้นตอน
lการวิเคราะห์ปัญหา
การวิเคราะห์ปัญหา ประกอบด้วยขั้นตอนต่างๆ ดังนี้
- กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง
- พิจารณาข้อมูลนำเข้า เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติเป็นอย่างไร ตลอดจนถึงลักษณะและรูปแบบของข้อมูลที่จะนำเข้า
- พิจารณาการประมวลผล เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไปการประมวลผลอะไรบ้าง
- พิจารณาข้อสนเทศนำออก เพื่อให้ทราบว่ามีข้อสนเทศอะไรที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะใช้ในการแสดงผล
การออกแบบโปรแกรม
การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น
การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้ นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่างๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดและง่ายต่อการตรวจสอบและโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ
การทดสอบและแก้ไขโปรแกรม
การทดสอบโปรแกรมเป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษา และผลการทำงานของโปรแกรมนั้น ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้องต่อไป ขั้นตอนการทดสอบและแก้ไขโปรแกรม อาจแบ่งได้เป็น 3 ขั้น
- สร้างแฟ้มเก็บโปรแกรมซึ่งส่วนใหญ่นิยมนำโปรแกรมเข้าผ่านทางแป้นพิมพ์โดยใช้โปรแกรมประมวลคำ
- ใช้ตัวแปลภาษาคอมพิวเตอร์แปลโปรแกรมที่สร้างขึ้นเป็นภาษาเครื่อง โดยระหว่างการแปลจะมีการตรวจสอบความถูกต้องของรูปแบบและกฎเกณฑ์ในการใช้ภาษา ถ้าคำสั่งใดมีรูปแบบไม่ถูกต้องก็จะแสดงข้อผิดพลาดออกมาเพื่อให้ผู้เขียนนำไปแก้ไขต่อไป ถ้าไม่มีข้อผิดพลาด เราจะได้โปรแกรมภาษาเครื่องที่สามารถให้คอมพิวเตอร์ประมวลผลได้
- ตรวจสอบความถูกต้องของการประมวลผลของโปรแกรม โปรแกรมที่ถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษา แต่อาจให้ผลลัพธ์ของการประมวลผลไม่ถูกต้องก็ได้ ดังนั้นผู้เขียนโปรแกรมจำเป็นต้องตรวจสอบว่าโปรแกรมประมวลผลถูกต้องตามต้องการหรือไม่ วิธีการหนึ่งก็คือ สมมติข้อมูลตัวแทนจากข้อมูลจริงนำไปให้โปรแกรมประมวลผลแล้วตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่ ถ้าพบว่าไม่ถูกต้องก็ต้องดำเนินการแก้ไขโปรแกรมต่อไป การสมมติข้อมูลตัวแทนเพื่อการทดสอบเป็นสิ่งที่มีความสำคัญเป็นอย่างมาก ลักษณะของข้อมูลตัวแทนที่ดีควรจะสมมติทั้งข้อมูลที่ถูกต้องและข้อมูลที่ผิดพลาด เพื่อทดสอบว่าโปรแกรมที่พัฒนาขึ้นสามารถครอบคลุมการปฏิบัติงานในเงื่อนไขต่างๆ ได้ครบถ้วน นอกจากนี้อาจตรวจสอบการทำงานของโปรแกรมด้วยการสมมติตัวเองเป็นคอมพิวเตอร์ทีจะประมวลผล แล้วทำตามคำสั่งทีละคำสั่งของโปรแกรมนั้นๆ วิธีการนี้อาจทำได้ยากถ้าโปรแกรมมีขนาดใหญ่ หรือมีการประมวลผลที่ซับซ้อน
การทำเอกสารประกอบโปรแกรม
การทำเอกสารประกอบโปรแกรมเป็นงานที่สำคัญของการพัฒนาโปรแกรม เอกสารประกอบโปรแกรมช่วยให้ผู้ใช้โปรแกรมเข้าใจวัตถุประสงค์ ข้อมูลที่จะต้องใช้กับโปรแกรม ตลอดจนผลลัพธ์ที่จะได้จากโปรแกรม การทำโปรแกรมทุกโปรแกรมจึงควรต้องทำเอกสารกำกับ เพื่อใช้สำหรับการอ้างอิงเมื่อจะใช้งานโปรแกรมและเมื่อต้องการแก้ไขปรับปรุงโปรแกรม เอกสารประกอบโปรแกรมที่จัดทำ ควรประกอบด้วยหัวข้อต่อไปนี้
- วัตถุประสงค์
- ประเภทและชนิดของคอมพิวเตอร์และอุปกรณ์ที่ใช้ในโปรแกรม
- วิธีการใช้โปรแกรม
- แนวคิดเกี่ยวกับการออกแบบโปรแกรม
- รายละเอียดโปรแกรม
- ข้อมูลตัวแทนที่ใช้ทดสอบ
- ผลลัพธ์ของการทดสอบ
การบำรุงรักษาโปรแกรม
เมี่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรม และปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนานๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบงานเดิมเพื่อให้เหมาะกับเหตุการณ์ นักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั่นเอง

61.19.202.164/resource/courseware/problem/k02-02.html
guru.google.co.th/guru/thread?tid=4179694a56e21478
วันพุธที่ 31 กรกฎาคม พ.ศ. 2556
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆที่เป็นภาษาคอมพิวเตอร์เช่นกันยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็นภาษาโปรแกรม
ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็น 2 กลุ่ม คือ
- ภาษาระดับสูง (high level)
- ภาษาระดับต่ำ (low level)
ภาษาระดับสูงถูกออกถูกออกแบบมาเพื่อให้ใช้งานง่ายและสดกสบายกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (Compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำสั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (objet code) แล้วเปลี่ยนเป็นชุดคำสั่งในภาษาเครื่อง
ภาษาคอมพิวเตอร์หมายถึงอะไร ?
ภาษาคอมพิวเตอร์ (Computer Language) คือภาษาที่ใช้ หรือเกี่ยวข้องกับคอมพิวเตอร์ ซึ่งมักใช้ร่วมกับภาษาโปรแกรม แต่ภาษาคอมพิวเตอร์นั้นมีความหมายที่กว้างกว่า โดยไม่จำเป็นที่จะต้องเป็นภาษาโปรแกรม ซึ่งเป็นที่รู้กันว่าภาษาอย่าง HTML หรือ SQL ไม่ใช่ภาษาโปรแกรม แต่ถือว่าเป็นภาษาคอมพิวเตอร์ ภาษาโปรแกรม (Program Language) คือ วิธีการมาตรฐานในการสื่อสารสำหรับแสดงคำสั่งไปยังคอมพิวเตอร์ ภาษาโปรแกรมกำหนดไวยากรณ์และการตีความหมายจากโปรแกรมคอมพิวเตอร์ที่เขียนขึ้น ภาษาโปรแกรมทำให้โปรแกรมเมอร์สามารถระบุอย่างชัดเจนถึงข้อมูลที่คอมพิวเตอร์จะทำงาน และวิธีการที่คอมพิวเตอร์จะประมวลผลข้อมูลเหล่านั้น ภาษาคอมพิวเตอร์มีการพัฒนาหรือมีวิวัฒนาการมาโดยลำดับเช่นเดียวกับคอมพิวเตอร์ โดยจะสามารถแบ่งออกเป็นยุคหรือเป็นรุ่นของภาษา (Generation) ซึ่งในยุคหลังๆ จะมีการพัฒนาภาษาให้มีความสะดวกในการอ่านและเขียนง่ายขึ้นกว่าภาษาในยุคแรกๆ เนื่องจากจะมีโครงสร้างภาษาใกล้เคียงกับภาษาอังกฤษ เราสามารถแบ่งภาษาคอมพิวเตอร์ออกได้เป็น 5 ยุคดังนี้
1. ภาษาเครื่อง (Machine Language) เป็นภาษาที่เกิดขึ้นในยุคแรกสุด และเป็นภาษาเดียวที่เครื่องคอมพิวเตอร์จะสามารถเข้าใจคำสั่งได้ ภาษาเครื่องจะแทนข้อมูลหรือคำสั่งในโปรแกรมด้วยกลุ่มของตัวเลข 0 และ 1 หรือที่เรียกว่าเลขฐานสอง ซึ่งจะสัมพันธ์กับการเปิด (On) และการปิด (Off) ของสัญญาณไฟฟ้าภายในเครื่องคอมพิวเตอร์
2. ภาษาแอสแซมบลี (Assembly Language) เป็นภาษาที่มีการใช้สัญลักษณ์ข้อความ (Mnemonic codes) แทนกลุ่มของเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง แต่เนื่องจากคอมพิวเตอร์รู้จักเฉพาะภาษาเครื่องเท่านั้น ดังนั้นภาษาแอสแซมบลี จึงต้องใช้ตัวแปลภาษาที่เรียกว่า “แอสแซมเบลอร์ (Assembler)” เพื่อแปลคำสั่งภาษาแอสแซมบลีให้เป็นภาษาเครื่อง นอกจากนี้ผู้ที่จะเขียนโปรแกรมภาษาแอสแซมบลี ได้จะต้องมีความรู้ความเข้าใจในเรื่องของฮาร์ดแวร์เป็นอย่างดีเนื่องจากต้องยุ่งเกี่ยวกับการใช้งานหน่วยความจำที่เป็นรีจิสเตอร์ภายในตลอด ดังนั้นจึงเหมาะกับงานที่ต้องการความเร็วในการทำงานสูง ถึงแม้ว่าภาษานี้จะง่ายกว่าการเขียนภาษาเครื่อง แต่ก็ยังถือว่าเป็นภาษาชั้นต่ำที่ยังยากต่อการเขียนและการเรียนรู้มากสำหรับผู้ที่ไม่มีความรู้ด้านฮาร์ดแวร์นัก
3. ภาษาชั้นสูง (High-level Language) เรียกอีกอย่างว่าภาษารุ่นที่ 3 (3rd Generation Languages หรือ 3GLs) เป็นภาษาที่ถูกสร้างขึ้นมาเพื่อให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้น เนื่องจากมีลักษณะเหมือนภาษาอังกฤษทั่วๆ ไป และที่สำคัญคือ ผู้เขียนโปรแกรมไม่จำเป็นต้องมีความรู้เกี่ยวกับระบบฮาร์ดแวร์ ตัวอย่างของภาษาประเภทนี้ ได้แก่ ภาษาฟอร์แทน (FORTRAN) โคบอล (COBOL) เบสิก (BASIC) ปาสคาล (PASCAL) ซี (C) เอดา (ADA) เป็นต้น อย่างไรก็ตามโปรแกรมที่ถูกเขียนด้วยภาษาประเภทนี้จะทำงานได้ก็ต่อเมื่อมีการแปลงให้เป็นภาษาเครื่องเสียก่อน ซึ่งวิธีการแปลงภาษาชั้นสูงให้เป็นภาษาเครื่องนั้น จะทำได้โดยใช้โปรแกรมที่เรียกว่า “คอมไพล์เลอร์ (Compiler)” หรือ “อินเตอร์พรีเตอร์ (Interpreter)” อย่างใดอย่างหนึ่ง โดยภาษาชั้นสูงแต่ละภาษาจะมีตัวแปลภาษาเฉพาะเป็นของตนเองใช้แทนกันไม่ได้
3.1 คอมไพเลอร์ จะทำการแปลโปรแกรมทั้งโปรแกรมให้เป็นภาษาเครื่องทีเดียวการแปลนี้จะเป็นการตรวจสอบไวยากรณ์ของภาษา ถ้ามีข้อผิดพลาดทางไวยากรณ์ของภาษาเกิดขึ้น (Syntax error) ก็จะแจ้งให้ทราบ เป็นข้อความไดแอคนอสติค (Diagnostic Message) เพื่อให้ผู้เขียนโปรแกรมแก้ไขให้ถูกต้อง แล้วจึงค่อยแปลคำสั่งใหม่ โปรแกรมที่ยังไม่ผ่านการแปลจะเรียกว่า Source Program หรือ Source module แต่ถ้าผ่านการแปลเรียบร้อยแล้วและไม่มีข้อผิดพลาดใดๆ จะเรียกโปรแกรมส่วนนี้ว่า Object Program หรือ Object module ออปเจกต์โปรแกรมนี้จะยังไม่สามารถทำงานได้ จะต้องผ่านลิงค์ (Link) หรือรวมเข้ากับไลบรารี่ (Library) ของระบบก่อนจึงจะเป็นโปรแกรมที่สามารถทำงานได้หรือเป็นภาษาเครื่องที่เรียกว่า เอ็กซ์ซีคิวท์โปรแกรม (Execute Program) หรือ โหลดโมดูล (Load module) ซึ่งโดยทั่วไปแล้วจะเป็นไฟล์ที่มีนามสกุลเป็น .exe หรือ .com และสามารถนำโปรแกรมนี้ไปใช้งานได้ตลอดโดยไม่ต้องแปลใหม่อีก แต่ถ้ามีการแก้ไขโปรแกรมแม้เพียงเล็กน้อยก็จะต้องทำการแปลใหม่ตั้งแต่ต้น
3.2 อินเตอร์พรีเตอร์ เป็นตัวแปลภาษาที่จะทำการแปลโปรแกรมภาษาชั้นสูงทีละคำสั่งให้เป็นภาษาเครื่องและทำการ Execute หรือทำงานคำสั่งนั้นทันทีทันใดก่อนที่จะทำการแปลในบรรทัดถัดไป ถ้าในระหว่างการแปลเกิดพบข้อผิดพลาดที่บรรทัดใดก็จะฟ้อง ให้ทำการแก้ไขทีละบรรทัดนั้นทันที อินเตอร์พรีเตอร์นี้เมื่อโปรแกรมเสร็จแล้วจะไม่สามารถเก็บเป็น Execute Program ได้ซึ่งต่างกับคอมไพเลอร์ ดังนั้นเมื่อจะเรียกใช้งานหรือรันโปรแกรมก็จะต้องทำการแปลโปรแกรมใหม่ทุกครั้ง ดังนั้นเมื่อจะเรียกใช้งาน Execute Program คอมไพเลอร์ ย่อมจะทำงานได้เร็วกว่าการเรียกใช้งานโปรแกรมที่ต้องผ่านการแปลด้วยอินเตอร์พรีเตอร์แต่ประโยชน์ของภาษาที่ถูกแปลด้วย อินเตอร์พรีเตอร์คือโปรแกรมจะมีโครงสร้างที่ง่ายต่อการพัฒนาตัวอย่างของภาษาโปรแกรมที่มีการใช้อินเตอร์พรีเตอร์ เป็นตัวแปลภาษาได้แก่ ภาษาเบสิก ภาษาเพิร์ล เป็นต้น การเขียนโปรแกรมด้วยภาษาชั้นสูงนอกจากจะให้ความสะดวกแล้ว ผู้เขียนแทบจะไม่ต้องมีความรู้เกี่ยวกับการทำงานของฮาร์ดแวร์ก็สามารถเขียนโปรแกรมสั่งให้เครื่องคอมพิวเตอร์ทำงานได้ ข้อดีอีกอย่างคือสามารถนำโปรแกรมที่เขียนขึ้นไปใช้งานบนเครื่องใดก็ได้ คือมีลักษณะที่ไม่ขึ้นอยู่กับกับเครื่อง (Hardware Independent) เพียงแต่ต้องทำการการแปลโปรแกรมใหม่เท่านั้น แต่ภาษาเครื่องที่ได้จากการแปลภาษาชั้นสูงนี้อาจเยิ่นเย้อ และไม่มีประสิทธิภาพเท่ากับการเขียนด้วยภาษาเครื่องหรือแอสเซมบลีโดยตรง ภาษารุ่นที่ 3 นี้ส่วนใหญ่จะจัดอยู่ในกลุ่มของภาษาที่มีแบบแผน (Procedural language) เนื่องจากลักษณะการเขียนโปรแกรมจะมีโครงสร้างแบบแผนที่เป็นระเบียบ คือ งานทุกอย่างผู้เขียนโปรแกรมต้องเขียนโปรแกรมควบคุมการทำงานเองทั้งหมด และต้องเขียนคำสั่งการทำงานที่เป็นขั้นตอนทุกอย่าง ไม่ว่าจะเป็นการสร้างแบบฟอร์มกรอกข้อมูล การประมวลผล หรือการสร้างรายงาน ซึ่งโปรแกรมที่เขียนจะค่อนข้างซับซ้อนและใช้เวลาในการพัฒนาค่อนข้างยาก
4. ภาษาชั้นสูงมาก (Very high-level Language) เรียกได้อีกอย่างว่าภาษาในรุ่นที่ 4 (4GLs: Fourth Generation Languages) ภาษานี้เป็นภาษาที่อยู่ในระดับที่สูงกว่าภาษารุ่นที่ 3 มีลักษณะของภาษาในรุ่นที่เป็นธรรมชาติคล้ายๆ กับภาษาพูดของมนุษย์จะช่วย ในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase, InGres เป็นต้น
5. ภาษาธรรมชาติ (Natural Language) เป็นภาษาในยุคที่ 5 ที่มีรูปแบบเป็นแบบ Nonprocedural เช่นเดียวกับภาษารุ่นที่ 4 ภาษา ธรรมชาตินี้ ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert System) ซึ่งเป็นงานที่อยู่ในสาขาปัญญาประดิษฐ์ (Artificial Intelligence) ในการที่พยายามทำให้คอมพิวเตอร์เปรียบเสมือนกับเป็นผู้เชี่ยวชาญคนหนึ่ง ที่สามารถคิดและตัดสินใจได้เช่นเดียวกับมนุษย์ การที่เรียกว่าภาษาธรรมชาติ เพราะมนุษย์สามารถใช้ภาษาพูดป้อนเข้าไปในคอมพิวเตอร์ได้โดยตรง ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แล้วคอมพิวเตอร์ก็จะแปลคำสั่งเหล่านั้น ให้อยู่ในรูปแบบที่คอมพิวเตอร์เข้าใจ ถ้าคำถามใดไม่กระจ่างก็จะมีการถามกลับเพื่อให้เข้าใจคำถาม เมื่อเข้าใจคำถามแล้วคอมพิวเตอร์ก็จะสามารถตอบคำถามของมนุษย์ได้อย่างถูกต้อง พร้อมทั้งมีข้อแนะนำต่างๆ เพื่อช่วยในการตัดสินใจของมนุษย์ได้อีกด้วย
วันพุธที่ 10 กรกฎาคม พ.ศ. 2556
การถ่ายทอดความคิดในการแก้ปัญหาด้วย "ลอการิทึม"
การเขียนรหัสจำลอง
รหัสลำลองหรือ pseudocode เป็นคำบรรยายที่เขียนแสดงขั้นตอนวิธี(algorithm) ของการเขียนโปรแกรม โดยใช้ภาษาที่กะทัดรัด สื่อสารกับโปรแกรมเมอร์ผู้เขียนโปรแกรม โดยอาจใช้ภาษาที่ใช้ทั่วไปและอาจมีภาษาที่ใช้ในการเขียนโปรแกรมประกอบ แต่ไม่มีมาตรฐานแน่นอนในการเขียน pseudocode และไม่สามารถนำไปทำงานบนคอมพิวเตอร์โดยตรง(เพราะไม่ใช่คำสั่งในภาษาคอมพิวเตอร์) และไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
นิยมใช้ pseudocode แสดง algorithmมากกว่าใช้ผังงาน เพราะผังงานอาจไม่แสดงรายละเอียดมากนักและใช้สัญลักษณ์ซึ่งทำให้ไม่สะดวกในการเขียน เช่นโปรแกรมใหญ่ ๆ มักจะประกอบด้วยคำสั่งต่างๆที่ใกล้เคียงกับภาษาคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมจริงๆ เช่น begin…end, if…else, do…while, while, for, read และ print
การเขียนรหัสจำลองจะต้องมีการวางแผนสำหรับการอ้างอิงถึงข้อมูลต่างๆที่จะใช้ในโปรแกรมด้วยการสร้างตัวแปร โดยใช้เครื่องหมายเท่ากับ (=) แทนการกำหนดค่าให้กำหนดตัวแปรนั้นๆ
ตัวอย่างการเขียน Pseudocode
1 : การเขียน Pseudocode ในการหาค่าผลบวกเลข 3 จำนวน ที่รับเข้ามาทางแป้นพิมพ์
1. SUM = 0 2. INPUT (value1) 3. INPUT (value2) 4. INPUT (value3) 5. SUM = value1 + value2 + value3 6. OUTPUT (SUM) End.
2 : การเขียน Pseudocode ในการคำนวณหาพื้นที่สามเหลี่ยมAlgorithm Triangle area
1. area = 0 2. Read Base 3. Read Height 4. Compute area = 1/2 * Base * Height 5. Point areaEnd.
3 : การหาค่าเฉลี่ย Algorithm Avarage_Sum
1. count = 0 2. sum =0 3. INPUT (value) 4. IF value > 0 THEN count = count+1 sum = sum+value GOTO 3 ELSE GOTO 5 5. avarage = sum/count 6. OUTPUT (avarage) 7. END
การเขียนผังงาน (flowchart)
คือ แผนภาพซึ่งแสดงลำดับขั้นตอนของการทำงาน โดยแต่ละขั้นตอนจะถูกแสดงโดยใช้สัญลักษณ์ซึ่งมีความหมายบ่งบอกว่า ขั้นตอนนั้น ๆ มีลักษณะการทำงาน ทำให้ง่ายต่อความเข้าใจ ว่าในการทำงานนั้นมีขั้นตอนอะไรบ้าง และมีลำดับอย่างไร
กระบวนการเทคโนโลยีสารสนเทศ
กระบวนการเทคโนโลยีสารสนเทศ
การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา แต่ผู้แก้ปัญหามักจะมองข้ามความสำคัญของขั้นตอนนี้อยู่เสมอ จุดประสงค์ของขั้นตอนนี้ คือ การทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหาหรือเงื่อนไขของปัญหาคืออะไร และสิ่งที่ต้องการคืออะไร อีกทั้งวิธีการที่ใช้ประมวลผล ในการวิเคราะห์ปัญหาใด กล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ดังนี้
1.1 การระบุข้อมูลเข้า ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา
1.2 การระบุข้อมูลออก ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
1.3 การกำหนดวิธีประมวลผล ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบ หรือข้อมูลออก
1.2 การระบุข้อมูลออก ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
1.3 การกำหนดวิธีประมวลผล ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคำตอบ หรือข้อมูลออก
2.การเลือกเครื่องมือและออกแบบขั้นตอน
การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools and Algorithm development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาข้อมูลและเงื่อนไขที่มีอยู่ และสิ่งที่ต้องการหาในขั้นตอนที่ 1 แล้วเราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหา ขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลัก หากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา
ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่าง ๆ ของปัญหา ซึ่งหมายรวมถึง ความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าว และสิ่งที่สำคัญคือ ความคุ้นเคยในการใช้งานเครื่องมือนั้น ๆ ของผู้แก้ปัญหา
อีกสิ่งหนึ่งที่สำคัญในการแก้ปัญหา คือ ยุทธวิธีที่ใช้ในการแก้ปัญหาหรือที่เราเรียกว่า ขั้นตอนวิธี (algorithm) ในการแก้ปัญหา หลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้ว ผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องและดีที่สุด การออกแบบขั้นตอนวิธีในการแก้ปัญหา ผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (flowchart) ที่จำลองขั้นตอนวิธีการแก้ปัญหาในรูปของสัญลักษณ์ รหัสจำลอง (pseudo code) ซึ่งเป็นการจำลองขั้นตอนวิธีการแก้ปัญหาในรูปของคำบรรยาย การใช้เครื่องมือช่วยออกแบบดังกล่าว นอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่าย และแก้ไขได้อย่างรวดเร็ว
การดำเนินการแก้ปัญหา (Implementation) หลังจากที่ได้ออกแบบขั้นตอนวิธีเรียบร้อยแล้ว ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่ได้เลือกไว้ หากการแก้ปัญหาดังกล่าวใช้คอมพิวเตอร์เข้ามาช่วยงาน ขั้นตอนนี้ก็เป็นการใช้โปรแกรมสำเร็จ หรือใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ปัญหา ขั้นตอนนี้ต้องอาศัยความรู้เกี่ยวกับเครื่องมือที่เลือกใช้ ซึ่งผู้แก้ปัญหาต้องศึกษาให้เข้าใจและเชี่ยวชาญ ในขณะที่ดำเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ก็สามารถปรับเปลี่ยนได้
4) การตรวจสอบและปรับปรุง
การตรวจสอบและปรับปรุง (Refinement) หลังจากที่ลงมือแก้ปัญหาแล้ว ต้องตรวจสอบให้แน่ใจว่าวิธีการนี้ให้ผลลัพธ์ที่ถูกต้อง โดยผู้แก้ปัญหาต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้นสอดคล้องกับรายละเอียดของปัญหา ซึ่งได้แก่ ข้อมูลเข้า และข้อมูลออก เพื่อให้มั่นใจว่าสามารถรองรับข้อมูลเข้าได้ในทุกกรณีอย่างถูกต้องและสมบูรณ์ ในขณะเดียวกันก็ต้องปรับปรุงวิธีการเพื่อให้การแก้ปัญหานี้ได้ผลลัพธ์ที่ดีที่สุด
ขั้นตอนทั้ง 4 ขั้นตอนดังกล่าวข้างต้น เป็นเสมือนขั้นบันได (stair) ที่ทำให้มนุษย์สามารถประสบความสำเร็จในการแก้ปัญหาต่าง ๆ ได้ รวมทั้งการเขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหา ก็ต้องใช้กระบวนการตามขั้นตอนทั้ง 4 นี้เช่นกัน
สิ้นสุดการสนทนา
วันพุธที่ 3 กรกฎาคม พ.ศ. 2556
photkanok ><"

แนะนำตัว ><"
ชื่อ : นางสาวพฏกนก ลิ้มสมุทรชัยกุล
ชื่อเล่น : นก อายุ: 16 ปี
วันเกิด : 8 กรกฎาคม 2539
ที่อยู่ : 21 ซ.เกาะพรวด ถ.จันทอุดม ต.เชิงเนิน อ.เมือง จ.ระยอง
สมัครสมาชิก:
บทความ (Atom)