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

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

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

1. ภาษาคอมพิวเตอร์ หมายถึง?

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

2. ประเภทของภาษาคอมพิวเตอร์ มีกี่ประเภท อะไรบ้าง?

ตอบ  มี 3 ประเภท


ภาษาระดับต่ำ (Low Level Language)
เป็นภาษาที่มนุษย์ทำความเข้าใจได้ยาก ส่วนใหญ่ต้องมความเข้าใจเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์ และฮาร์ดแวร์เป็นอย่างดีจึงจะสามารถ
เขียนโปรแกรมสั่งงานได้ มีข้อดีในส่วนที่เขียนโปรแกรมควบคุมฮาร์ดแวร์ แต่ละส่วนได้โดยตรงจึงทำงานได้เร็ว แต่ไม่เหมาะที่จะใช้ในการพัฒนาโปรแกรม ตัวอย่างของภาษาระดับต่ำได้แก่ ภาษาเครื่อง (Machine Language) และภาษาแอสเซมบลี้ (Assembly Language) เป็นต้น

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

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


          ภาษาระดับสูงถูกออกแบบมาเพื่อให้ใช้งานง่ายและสะดวกสบายมากกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามกฎเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำสั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนให้เป็นชุดคำสั่งในภาษาเครื่อ

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

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

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

1. การเขียนรหัสจำลอง (Pseudo Code) หมายถึงอะไร ตัวอย่าง การเขียนรหัสจำลอง

การเขียนรหัสจำลอง หมายถึง เปนเครื่องมือที่ชวยในการแก้ ปัญหาการเขียนจะเปนคําอธิบายที่มีโครงสรางที่ชัดเจน ไมขึ้นกับภาษาใดภาษาหนึ่ง   แตสามารถเปลี่ยนเปนภาษาทางคอมพิวเตอรไดงาย
จะมีการใชขอความที่เปนภาษาอังกฤษหรือภาษาไทยก็ได  ในการแสดงขั้นตอนการแกปัญหา  แตจะมีการใชคําเฉพาะ(reserve  words)  ที่มีอยูในภาษาโปรแกรมมาชวยในการเขียน  โครงของรหัสจําลองจึงมีสวนที่คลายกับการเขียนโปรแกรมมาก  ดังนั้นรหัสจําลองจึงเปนเครื่องมืออีกแบบที่นิยมใชกันมากในการออกแบบโปรแกรม

ตัวอย่าง การเขียนรหัสจำลอง


1)   ใหนับจํานวนนักศึกษาที่อายุ มากกวา หรือเทากับ 18 ปี  และจํานวนนักศึกษาที่อายุนอยกวา 18 ปี
IF student’s age >= 18
         THEN   AdultCounter = AdultCounter + 1
          ELSE   JuniorCounter = JuniorCounter + 1
    ENDIF


2) ใหนับจํานวนชั่วโมงการทํางานที่เกิน 40 ชั่วโมง
IF  hour worked > 40
            THEN OverTimeCounter = OverTimeCounter + 1
      ENDIF

3)  จงเขียนรหัสจําลองหาพื้นที่ของวงกลม
     กําหนดให   สูตรพื้นที่วงกลม    =       3.1415  x รัศมี  x  รัศมี
Area of  cycle
Read radius
Compute Area = 3.1415 * radius * radius
Display Area
End


2. การเขียนผังงาน (Flowchart) หมายถึงอะไร พร้อมสัญลักษณ์ที่ใช้เขียนผังงาน

การเขียนผังงาน หมายถึง การจําลองความคิดใหเปนแผนผังที่เรียกวา Flow chart ชวยใหสามารถแกปญหาไดดีเฉพาะอยางยิ่งปญหาที่ยุงยากซับซอน  และการเขียนผังงานจะใชสัญลักษณ สื่อสารความหมายใหเขาใจตรงกัน ของสถาบันมาตรฐานแหงชาติอเมริกัน : ANSI ไดกําหนดสัญลักษณไวเปนมาตรฐาน  ซึ่งมีรายละเอียดรูปแบบและความหมายที่ควรทราบตามตารางตอไปนี้

ตัวอย่าง สัญลักษณ์ที่ใช้เขียนผังงาน



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

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

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

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

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


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


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


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

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




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

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


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