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

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

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

คือ เครื่องมือที่มนุษย์ใช้สื่อสารกับเครื่องคอมพิวเตอร์ โดยแต่ละภาษาจะมีลักษณะเฉพาะตัวที่ชัดเจน มีคำศัพท์ที่ใช้จำนวนจำกัด



ประเภทของภาษาคอมพิวเตอร์ (Level of Languages)

1. ภาษาเครื่อง(Machine Languages)

2. ภาษาแอสแซมบลี(Assembly Languages)

3. ภาษาระดับสูง(High-level Languages)

4. ภาษาระดับสูงมาก(Very High-level Languages)

5. ภาษาธรรมชาติ(Natural Languages)



ภาษาเครื่อง : เป็นภาษาที่มีระดับต่ำที่สุด โดยจะเขียนด้วยระบบฐานสอง ซึ่งมีเพียง 0 กับ 1 เท่านั้น

ภาษาแอสแซมบลี : จัดเป็นภาษาระดับต่ำมาก ใช้ตัวย่อ หรือรหัสย่อในการเขียนโปรแกรม เช่น A คือรหัสของ Add , C คือ Compare เป็นต้น และตัวแปลภาษา Assembly คือ Assembler
คอมพิวเตอร์สามารถกระทำการ (Excute) ได้เฉพาะภาษาเครื่องเท่านั้น ดังนั้นหากเราเขียนด้วยภาษาใดๆ ก็ตามที่มิใช่ภาษาเครื่อง จะต้องใช้ตัวแปลภาษา(Translator) เพื่อแปลภาษาโปรแกรมที่เขียนให้เป็นภาษาที่เครื่อง เข้าใจ

ภาษาระดับสูง : เป็นภาษาโปรแกรมยุคที่ 3 ที่เป็นภาษาระดับสูงโปรแกรมจะเขียนในลักษณะคล้ายภาษาอังกฤษ ทำให้เขียนได้ง่ายขึ้น และสำหรับตัวแปลภาษาโปรแกรมเหล่านี้คือ คอมไพเลอร์ (Compiler) โดยคอมไพเลอร์จะทำหน้าที่แปล Souce Program ให้เป็น Oject Program โดยแปลครั้งเดียว ยกตัวอย่างภาษาโปรแกรมระดับสูงเช่น Fortran , Basic, pascal, C, Cobol

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

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

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

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

1.การเขียนรหัสจำลอง (Pseudo Code)

หมายถึงคำบรรยายที่เขียนแสดงขั้นตอนวิธี(algorithm) ของการเขียนโปรแกรม โดยใช้ภาษาที่กะทัดรัด สื่อสารกับโปรแกรมเมอร์ผู้เขียนโปรแกรม โดยอาจใช้ภาษาที่ใช้ทั่วไปและอาจมีภาษาที่ใช้ในการเขียนโปรแกรมประกอบ แต่ไม่มีมาตรฐานแน่นอนในการเขียน pseudo code และไม่สามารถนำไปทำงานบนคอมพิวเตอร์โดยตรง(เพราะไม่ใช่คำสั่งในภาษาคอมพิวเตอร์) และไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง นิยมใช้ pseudo code แสดง algorithmมากกว่าใช้ผังงาน เพราะผังงานอาจไม่แสดงรายละเอียดมากนักและใช้สัญลักษณ์ซึ่งทำให้ไม่สะดวกในการเขียน เช่นโปรแกรมใหญ่ ๆ มักจะประกอบด้วยคำสั่งต่างๆที่ใกล้เคียงกับภาษาคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมจริงๆ เช่น begin…end, if…else, do…while, while, for, read และ print การเขียนรหัสจำลองจะต้องมีการวางแผนสำหรับการอ้างอิงถึงข้อมูลต่างๆที่จะใช้ในโปรแกรมด้วยการสร้างตัวแปร โดยใช้เครื่องหมายเท่ากับ (=) แทนการกำหนดค่าให้กำหนดตัวแปรนั้นๆ

ตัวอย่าง

"Start
Input a
Input b
Input c
Compute a x b x c / (a + b + c) to X
Display X End"

2.การเขียนผังงาน (Flowchart)

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

ตัวอย่าง


สัญลักษณ์





















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

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


กระบวนการเทคโนโลยีสารสนเทศมี 4 ขั้นตอน ดังนี้


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

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

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

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