วันพุธที่ 31 กรกฎาคม พ.ศ. 2556

ภาษาคอมพิวเตอร์



ภาษาคอมพิวเตอร์ 
ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆที่เป็นภาษาคอมพิวเตอร์เช่นกันยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็นภาษาโปรแกรม
ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็น กลุ่ม คือ
-          ภาษาระดับสูง (high level)
-          ภาษาระดับต่ำ (low level)
ภาษาระดับสูงถูกออกถูกออกแบบมาเพื่อให้ใช้งานง่ายและสดกสบายกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (Compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำสั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (objet code) แล้วเปลี่ยนเป็นชุดคำสั่งในภาษาเครื่อง
ภาษาคอมพิวเตอร์อาจแบ่งเป็นกลุ่มได้เป็นอีกสองประเภทคือ ภาษาที่มนุษย์อ่านออก(human-readable) และภาษาที่มนุษย์อ่านไม่ออก (non human-readable) ภาษาที่มนุษย์อ่านออกถูกออกแบบมาเพื่อให้มนุษย์สามารถเข้าใจและสื่อสารได้โดยตรงกับคอมพิวเตอร์ ส่วนภาษาที่มนุษย์อ่านไม่ออกจะมีโค้ดบางส่วนที่ไม่อาจอ่านเข้าใจได้ แต่ออกแบบมาเพื่อให้โค้ดกระชับซึ่งคอมคอมพิวเตอร์จะสามารถประมวลผลได้ง่ายกว่า
ตัวอย่างภาษาคอมพิวเตอร์
-          ภาษาโปรแกรม
-          ภาษาคริปต์
-          ภาษามาร์กอัป
-          ภาษาสอบถาม
ภาษาคอมพิวเตอร์ (Computer Programming Language)
- ชนิดของภาษาคอมพิวเตอร์
จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์ เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำหรือภาษาระดับสูง จะขึ้นอยู่กับภาษานั้นใกล้เคียงกับเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส และ เรียกว่า ภาษาระดับต่ำหรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษ เรียกว่า ภาษาระดับสูง)
ประเภทของภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็นสองกลุ่มคือ ภาษาระดับสูง (high level) และภาษาระดับต่ำ (low level) ภาษาระดับสูงถูกออกแบบมาเพื่อให้ใช้งานง่ายและสะดวกสบายมากกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามกฎเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำ สั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนให้เป็นชุดคำสั่งในภาษาเครื่อง

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


วันพุธที่ 10 กรกฎาคม พ.ศ. 2556

การถ่ายทอดความคิดในการแก้ปัญหาด้วยอัลกอริทึม


การถ่ายทอดความคิดในการแก้ปัญหาด้วยอัลกอริทึม


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

คำสั่ง  read    หมายถึง  การอ่านค่าหรือรับค่าข้อมูลตัวแปรตามที่กำหนดไว้
คำสั่ง  print    หมายถึง  การแสดงผลลัพธ์ที่ได้จากการคำนวณ
                 และพิมพ์ข้อความ End  เมื่อจบการทำงาน
การเขียนรหัสจำลองจะต้องมีการวางแผนสำหรับการอ้างอิงถึงข้อมูลที่จะต้องนำไปใช้ภายในโปรแกรมด้วยการสร้างตัวแปร   โดยใช้เครื่องหมายเท่ากับ  (= )  แทนการกำหนดค่าตัวแปร    


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

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


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

1.ผังงานระบบ (System Flowchart)
            จะแสดงภาพรวมของระบบ เน้นแสดงเฉพาะสื่อที่ทำหน้าที่นำข้อมูลเข้าและออก โดยจะไม่แสดงถึงรายละเอียดวิธีการประมวลผล ซึ่งจะนำไปแสดงไว้ในส่วนของผังงานโปรแกรมแท
2.ผังงานโปรแกรม ( Program Flowchart )
                  การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน





 

กระบวนการเทคโนโลยีสารสนเทศ

 การวิเคราะห์และกำหนดรายละเอียดของปัญหา


การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) 

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

    
การเลือกเครื่องมือและออกแบบขั้นตอนวิธี

การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools and Algorithm development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาข้อมูลและเงื่อนไขที่มีอยู่ และสิ่งที่ต้องการหาในขั้นตอนที่  1  แล้ว เราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหา ขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลัก หากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น  ผังงาน (flowchart) ที่จำลองขั้นตอนวิธีการแก้ปัญหาในรูปของสัญลักษณ์  รหัสลำลอง (pseudo code) ซึ่งเป็นการจำลองขั้นตอนวิธีการแก้ปัญหาในรูปของคำบรรยาย การใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็ว
ตามแนวทางที่เคยปฏิบัติมา

การดำเนินการแก้ปัญหา


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


                                                      

การตรวจสอบและปรับปรุง

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


วันพุธที่ 3 กรกฎาคม พ.ศ. 2556