วันพุธที่ 3 กันยายน พ.ศ. 2551

ความหมายของ

ความหมายของซอฟต์แวร์
ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์ จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้ โปรแกรมคอมพิวเตอร์ที่ใช้สั่งงานคอมพิวเตอร์จึงเป็นซอฟต์แวร์ เพราะเป็นลำดับขั้นตอนการทำงานของคอมพิวเตอร์ คอมพิวเตอร์เครื่องหนึ่งทำงานแตกต่างกันได้มากมายด้วยซอฟต์แวร์ที่แตกต่างกัน ซอฟต์แวร์จึงหมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้คอมพิวเตอร์ทำงานได้ การที่เราเห็นคอมพิวเตอร์ทำงานให้กับเราได้มากมาย เพราะว่ามีผู้พัฒนาโปรแกรมคอมพิวเตอร์มาให้เราสั่งงานคอมพิวเตอร์ ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม เป็นต้น การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะอยู่ที่ซอฟต์แวร์ ซอฟต์แวร์จึงเป็นส่วนสำคัญของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้ ซอฟต์แวร์จึงเป็นสิ่งที่จำเป็น และมีความสำคัญมาก และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ ชนิดของซอฟท์แวร์ ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน พอแบ่งแยกซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software) - ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้ ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ - ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ


หลักการแก้ปัญหากับภาษาคอมพิวเตอร์

6.1 หลักการแก้ปัญหา

ในชีวิตประจำวันทุกคนต้องเคยพบกับปัญหาต่างๆ ไม่ว่าจะเป็นปัญหาด้านการเรียน การงาน การเงิน หรือแม้แต่การเล่นเกม เมื่อพบกับปัญหา แต่ละคนมีวิธีที่จะจัดการหรือแก้ปัญหาเหล่านั้นแตกต่างกันไป ซึ่งแต่ละวิธีการอาจให้ผลลัพธ์ที่เหมือนหรือแตกต่างกันเล็กน้อย ทั้งนี้ขึ้นอยู่กับความรู้ ความสามารถ และประสบการณ์ของบุคคลผู้นั้น อย่างไรก็ตาม หากเรานำวิธีการแก้ปัญหาต่างวิธีนั้นมาวิเคราะห์ให้ดี จะพบว่าสามารถสรุปวิธีการเหล่านั้นเป็นทฤษฎีซึ่งมีรูปแบบที่แน่นอนได้ และบางครั้งต้องอาศัยการเรียนรู้ในนระดับสูงเพื่อแก้ปํญหาบางอย่างให้สมบูรณ์แบบ แต่ก่อนที่เราจะศึกษาต่อไป ลองพิจารณาปัญหาต่อไปนี้
เกมทายใจคือเกมให้ผู้เล่นทายตัวเลข 3 ตัว ในการเล่นเกมต้องใช้ผู้เล่น 2 คน คนที่หนึ่งคือ ผู้กำหนด เป็นคนกำหนดเลข 3 ตัวที่ไม่ซ้ำกันโดยเลือกจากกลุ่มตัวเลข 1-9 และอีกคนหนึ่งคือผู้ทาย เป็นผู้ทายตัวเลข 3 ตัวที่ไม่ซ้ำกันที่ผู้กำหนดให้กำหนดไว้แล้ว หลังจากที่ผู้ทายทายเลขแต่ละครั้ง ผู้กำหนดต้องให้รายละเอียดว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และในกรณีที่ตัวเลขที่ทายมาถูกตำแหน่งด้วยก็ต้องบอกว่าถูกตำแหน่งกี่ตัว เช่น ถ้าตัวเลขที่กำหนดไว้เป็น 815 และผู้ทายทายว่า 123 ผู้กำหนดต้องแจ้งว่าตัวเลขที่ทายนั้นถูก 1 ตัว และไม่มีตัวใดถูกตำแหน่ง


6.2 การจำลองความคิด


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




6.3 การเขียนโปรแกรม


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


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







6.4 การแก้ปัญหากับภาษาปาสคาล


Blaise Pascal

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


6.5 การโปรแกรมแบบเชิงวัตถุ





การโปรแกรมแบบเชิงวัตถุ เป็นเทคนิคการเขียนโปรแกรมที่ได้รับการพัฒนาขึ้นในช่วงปี 1900 แนวคิดและหลักการในการเขียนโปรแกรมแบบนี้แตกต่างจากหลักการเขียนโปรแกรมในอดีต คือ จะเน้นความคิดเชิงวัตถุ (object) ที่สร้างขึ้นใช้งานในโปรแกรม โดยคำว่า "วัตถุ" ในที่นี้คือ ส่วนย่อยๆ ของโปรแกรมที่ผู้พัฒนาโปรแกรมสร้างขึ้นเพื่อทำงานเฉพาะอย่าง แล้วจึงนำวัตถุย่อยๆ เหล่านั้นมาประกอบกันเป็นโปรแกรมใหญ่ อีกทั้งวัตถุที่สร้างขึ้นมาแล้วสามารถนำกลับไปใช้กับโปรแกรมอื่นได้อีก โดยบางครั้งผู้เขียนโปรแกรมไม่จำเป็นต้องสร้างวัตถุเองทุกชิ้น สามารถนำวัตถุที่ผู้อื่นสร้างไว้มาใช้ใหม่ได้ เพียงแค่รู้ว่าวัตถุนั้นทำหน้าที่และเรียกใช้งานอย่างไร ทำให้

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


6.6 การโปรแกรมแบบจินตภาพ



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

ความหมายของ

ความหมายของซอฟต์แวร์
ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์ จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้ โปรแกรมคอมพิวเตอร์ที่ใช้สั่งงานคอมพิวเตอร์จึงเป็นซอฟต์แวร์ เพราะเป็นลำดับขั้นตอนการทำงานของคอมพิวเตอร์ คอมพิวเตอร์เครื่องหนึ่งทำงานแตกต่างกันได้มากมายด้วยซอฟต์แวร์ที่แตกต่างกัน ซอฟต์แวร์จึงหมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้คอมพิวเตอร์ทำงานได้ การที่เราเห็นคอมพิวเตอร์ทำงานให้กับเราได้มากมาย เพราะว่ามีผู้พัฒนาโปรแกรมคอมพิวเตอร์มาให้เราสั่งงานคอมพิวเตอร์ ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม เป็นต้น การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะอยู่ที่ซอฟต์แวร์ ซอฟต์แวร์จึงเป็นส่วนสำคัญของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้ ซอฟต์แวร์จึงเป็นสิ่งที่จำเป็น และมีความสำคัญมาก และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ ชนิดของซอฟท์แวร์ ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน พอแบ่งแยกซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software) - ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้ ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ - ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ


หลักการแก้ปัญหากับภาษาคอมพิวเตอร์

6.1 หลักการแก้ปัญหา

ในชีวิตประจำวันทุกคนต้องเคยพบกับปัญหาต่างๆ ไม่ว่าจะเป็นปัญหาด้านการเรียน การงาน การเงิน หรือแม้แต่การเล่นเกม เมื่อพบกับปัญหา แต่ละคนมีวิธีที่จะจัดการหรือแก้ปัญหาเหล่านั้นแตกต่างกันไป ซึ่งแต่ละวิธีการอาจให้ผลลัพธ์ที่เหมือนหรือแตกต่างกันเล็กน้อย ทั้งนี้ขึ้นอยู่กับความรู้ ความสามารถ และประสบการณ์ของบุคคลผู้นั้น อย่างไรก็ตาม หากเรานำวิธีการแก้ปัญหาต่างวิธีนั้นมาวิเคราะห์ให้ดี จะพบว่าสามารถสรุปวิธีการเหล่านั้นเป็นทฤษฎีซึ่งมีรูปแบบที่แน่นอนได้ และบางครั้งต้องอาศัยการเรียนรู้ในนระดับสูงเพื่อแก้ปํญหาบางอย่างให้สมบูรณ์แบบ แต่ก่อนที่เราจะศึกษาต่อไป ลองพิจารณาปัญหาต่อไปนี้
เกมทายใจคือเกมให้ผู้เล่นทายตัวเลข 3 ตัว ในการเล่นเกมต้องใช้ผู้เล่น 2 คน คนที่หนึ่งคือ ผู้กำหนด เป็นคนกำหนดเลข 3 ตัวที่ไม่ซ้ำกันโดยเลือกจากกลุ่มตัวเลข 1-9 และอีกคนหนึ่งคือผู้ทาย เป็นผู้ทายตัวเลข 3 ตัวที่ไม่ซ้ำกันที่ผู้กำหนดให้กำหนดไว้แล้ว หลังจากที่ผู้ทายทายเลขแต่ละครั้ง ผู้กำหนดต้องให้รายละเอียดว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และในกรณีที่ตัวเลขที่ทายมาถูกตำแหน่งด้วยก็ต้องบอกว่าถูกตำแหน่งกี่ตัว เช่น ถ้าตัวเลขที่กำหนดไว้เป็น 815 และผู้ทายทายว่า 123 ผู้กำหนดต้องแจ้งว่าตัวเลขที่ทายนั้นถูก 1 ตัว และไม่มีตัวใดถูกตำแหน่ง


6.2 การจำลองความคิด


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




6.3 การเขียนโปรแกรม


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


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







6.4 การแก้ปัญหากับภาษาปาสคาล


Blaise Pascal

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


6.5 การโปรแกรมแบบเชิงวัตถุ





การโปรแกรมแบบเชิงวัตถุ เป็นเทคนิคการเขียนโปรแกรมที่ได้รับการพัฒนาขึ้นในช่วงปี 1900 แนวคิดและหลักการในการเขียนโปรแกรมแบบนี้แตกต่างจากหลักการเขียนโปรแกรมในอดีต คือ จะเน้นความคิดเชิงวัตถุ (object) ที่สร้างขึ้นใช้งานในโปรแกรม โดยคำว่า "วัตถุ" ในที่นี้คือ ส่วนย่อยๆ ของโปรแกรมที่ผู้พัฒนาโปรแกรมสร้างขึ้นเพื่อทำงานเฉพาะอย่าง แล้วจึงนำวัตถุย่อยๆ เหล่านั้นมาประกอบกันเป็นโปรแกรมใหญ่ อีกทั้งวัตถุที่สร้างขึ้นมาแล้วสามารถนำกลับไปใช้กับโปรแกรมอื่นได้อีก โดยบางครั้งผู้เขียนโปรแกรมไม่จำเป็นต้องสร้างวัตถุเองทุกชิ้น สามารถนำวัตถุที่ผู้อื่นสร้างไว้มาใช้ใหม่ได้ เพียงแค่รู้ว่าวัตถุนั้นทำหน้าที่และเรียกใช้งานอย่างไร ทำให้

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


6.6 การโปรแกรมแบบจินตภาพ



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

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


วิวัฒนาการของคอมพิวเตอร์
จุดกำเนิดของคอมพิวเตอร์
ต้นกำเนิดของคอมพิวเตอร์อาจกล่าวได้ว่ามาจากแนวความคิดของระบบตัวเลข ซึ่งได้พัฒนาเป็นวิธีการคำนวณต่าง ๆ รวมทั้งอุปกรณ์ที่ช่วยในการคำนวณอย่างง่าย ๆ คือ" กระดานคำนวณ" และ "ลูกคิด"
ในศตวรรษที่ 17 เครื่องคำแบบใช้เฟื่องเครื่องแรกได้กำเนิดขึ้นจากนักคณิตศาสตร์ชาวฝรั่งเศษ คือ Blaise Pascal โดยเครื่องของเขาสามารถคำนวณการบวกการลบได้อย่างเที่ยงตรง และในศตวรรษเดียวกันนักคณิตศาสตร์ชาวเยอร์มันคือ Gottried Wilhelm von Leibniz ได้สร้างเครื่องคิดเลขเครื่องแรกที่สามารถคูณและหารได้ด้วย
ในต้นศตวรรษที่ 19 ชาวฝรั่งเศษชื่อ Joseph Marie Jacquard ได้พัฒนาเครื่องทอผ้าที่สามารถโปแกรมได้ โดยเครื่องทอผ้านี้ใช้บัตรขนาดใหญ่ ซึ่งได้เจาะรู้ไว้เพื่อควบคุมรูปแบบของลายที่จะปัก บัตรเจาะรู(punched card) ที่ Jacquard ใช้นี้ได้ถูกพัฒนาต่อๆมาโดยผู้อื่น เพื่อใช้เป็นอุปกรณ์ป้อนข้อมูลและโปรแกรมเข้าเครื่องคอมพิวเตอร์ในยุคแรกๆ
ต่อมาในศตวรรษเดียวกัน ชาวอังกฤษชื่อ Charles Babbage ได้ทำการสร้างเครื่องสำหรับแก้สมการโดยใช้พลังงานไอน้ำ เรียกว่า difference engine และถัดจากนั้นได้เสนอทฤษฎีเกี่ยวกับ คอมพิวเตอร์สมัยใหม่ เมื่อเขาได้ทำการออกแบบ เครื่องจักรสำหรับทำการวิเคราะห์ (analytical engine) โดยใช้พลังงานจากไอน้ำ ซึ่งได้มีการออกแบบให้ใช้บัตรเจาะรูของ Jacquard ในการป้อนข้อมูล ทำให้อุปกรณ์ชิ้นนี้มีหน่วยรับข้อมูล หน่วยประมวลผล หน่วยแสดงผล และหน่วยเก็บข้อมูลสำรอง ครบตามรูปแบบของคอมพิวเตอร์สมัยใหม่ แต่โชคไม่ดีที่แม้ว่าแนวความคิดของเขวจะถูกต้อง แต่เทคโนโลยีในขณะนั้นไม่เอื้ออำนวยต่อการสร้างเครื่องที่สามารถทำงานได้จริง อย่างไรก็ดี Charles Babbage ก็ได้รับการยกย่องว่าเป็นบิดาของคอมพิวเตอร์คนแรก และผู้ร่วมงานของเขาคือ Augusta Ada Byron ก็ได้รับการยกย่องว่าเป็นนักเขียนโปรแกรมคนแรกของโลก
เครื่อง Difference Engine ของ Charles Babbage

จากนั้นประมาณปี ค.ศ. 1886 Dr.Herman Hollerith ได้พัฒนาเครื่องจัดเรียงบัตรเจาะรูแบบ electromechanical ขึ้น ซึ่งทำงานโดยใช้พลังงานไฟฟ้า และสามารถทำการ จัดเรียง (sort) และ คัดเลือก (select) ข้อมูลได้ ต่อมาในปี ค.ศ. 1896 Hollerith ได้ทำการก่อตั้งบริษัทสำหรับเครื่องจักรในการจัดเรียงชื่อ Tabulating Machine Company และในปี ค.ศ.1911 Hollerith ได้ขยายกิจการโดยเข้าหุ้นกับบริษัทอื่นอีก 2 บริษัทจัดตั้งเป็นบริษัท Computing -Tabulating-Recording-Company ซึ่งประสบความสำเร็จเป็นอย่างมาก และในปี ค.ศ. 1924 ได้เปลี่ยนชื่อเป็น International Business Corporation หรือที่รู้จักกันต่อมาในชื่อของบริษัท IBM นั่นเอง
เครื่องจัดเรียงบัตรเจาะรูของ Dr. Her Hollerith

ในปี ค.ศ.1939 Dr. Howard H. Aiken จาก Harvard University ได้ร่วมมือกับบริษัท IBM ออกแบบคอมพิวเตอร์โดยใช้ทฤษฎีของ Babbage และในปี ค.ศ.1944 Harvard mark I ก็ได้ถือกำเนิดขึ้นเป็นคอมพิวเตอร์เครื่องแรก ซึ่งมีขนาดยาว 5 ฟุต ใช้พลังงานไฟฟ้าและใช้ relay แทนเฟือง แต่ยังทำงานได้ช้าคือใช้เวลาประมาณ 3-5 วินาทีสำหรับการคูณ
การพัฒนาที่สำคัญกับ Mark I ได้เกิดขึ้นปี 1946 ดดย Jonh Preper Eckert, Jr. และ Dr. Jonh W.Msuchly จาก University of Pennsylvnia ได้ออกแบบสร้างเครื่อง ENIAC ( Electronic Numeric Integator and Calcuator ) ซึ่งทำงานได้เร็วอยู่ในหน่วยของหนึ่งส่วนล้านวินาที ในขณะที่ Mark I ทำงานอยู่ในหน่วยของหนึ่งส่วนพันล้านเท่า โดยหัวใจของความสำเร็จนี้อยู่ที่การใช้หลอดสูญญากาศมาแทนที่ relay นั่นเอง และถดจากนั้น Mauchly และ Eckert ก็ทำการสร้าง UNIVAC ซึ่งเป็นคอมพิวเตอร์อิเล็กทรอนิส์เพื่อการค้าเครื่องแรกของโลก
เครื่อง ENIAC สูง 10 ฟุต กว้าง 10 ฟุต และยาว 10 ฟุต

การพัฒนาที่สำคัญได้เกิดขึ้นมาอีก เมื่อ Jonh von Neumann ซึ่งเป็นที่ปรึกษาของโครงการ ENIAC ได้เสนอแผนสำหรับคอมพิวเตอร์เครื่องแรกที่จะทำการเก็บโปรแกรมไว้ในหน่วยโปรแกรมไว้ในหน่วยความจำที่เหมือนกับที่เก็บข้อมูล ซึ่งพัฒนาการนี้ทำให้สามารถเปลียนวงจรของคอมพิวเตอร์ได้ดดยอัตโนมัติแทนที่จะต้องทำการเปลียนสวิทต์ด้วยมือเหมือนช่วงก่อน นอกจากนี้ Dr. Von neumann ยังได้นำระบบเลขฐานสองมาใช้ในคอมพิวเตอร์ซึ่งหบักการต่งๆเหล่านี้ได้ทำให้เครื่อง IAS ที่สร้างโดย Dr. von Neumann เป็นเครื่องคอมพิวเตอร์เอนกประสงค์เครื่องแรกของโลก เป็นการเปิดศักราชของคอมพิวเตอร์อย่างแท้จริงและยังได้เป็นบิดาคอมพวเตอร์คนที่ 2
ยุคของคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์มีการพัฒนาอย่างต่อเนื่อง สามารถแบ่งออกได้โดยแบ่งส่วนประกอบของฮาร์ดแวร์ (Hardward ) เป็น 4 ยุคด้วยกัน
ยุคที่ 1 (1951-1958)
ก่อนหน้าปี 1951 เครื่องคอมพิวเตอร์จะมีใช้เฉพาะนักวิทยาศาสตร์ วิศวกร และทหารเท่านั้น จนกระทั่งผู้สร้าง ENIAC คือ Mauchly และ Eckert ได้จัดตั้งบริษัทเพื่อทำตลาดเชิงพาณิชย์ของเครื่องรุ่นถัดมาของพวกเขา คือเครื่อง UNIVAC ซึ่งคอมพิวเตอร์ในยุคนี้จะมี หลอดสูญญากาศ และ ดรัมแม่เหล็ก (magnetic drum) เป็นส่วนประกอบสำคัญ แต่หลอดสุญญากาศจะมีไม่น่าเชื่อถือสูง เป็นเหตุให้ต้องใช้ความพยายามอย่างมากในการทำให้เครื่องในยุคนั้นสามารถทำงานได้ ส่วนดรัมแม่เหล็กถูกใช้เป็นหน่วยความจำหลัก (primary memory) บนเครื่องคอมพิวเตอร์ส่วนมากในยุคแรกนี้ ส่วนหน่วยบันทึกข้อมูลสำรอง (secondary storage) ซึ่งใช้เก็บทั้งข้อมูลและคำสั่งโปรแกรมในยุคนี้จะอยู่ในบัตรเจารู จนปลายยุคนี้เทปแม่เหล็กจึงได้ถูกนำมาใช้เป็นหน่วยบันทึกข้อมูลสำรอง
ภาษาคอมพิวเตอร์ในยุคนี้จะอยู่ในรูปของภาษาเครื่อง ซึ่งเป็นตัวเลขฐาน 2 ทั้งสิ้น ทำให้ผู้ที่จะสามารถโปรแกรมให้เครื่องทำงานได้ ต้องเป็นผู้เชี่ยวชาญเท่านั้น
เครื่อง UNIVAC

ยุคที่ 2 (1959-1964)
การพัฒนาที่สำคัญที่สุดที่แบ่งแยกยุคนี้ออกจากยุคแรก คือการแทนที่หลอดสูญญากาศด้วยทรานซิสเตอร์ (transistor) หน่วยความจำพื้นฐานก็ได้มีการพัฒนามาเป็น magnetic core รวมทั้งมีการใช้ magnetic disk ซึ่งเป็นหน่วยบันทึกข้อมูลสำรองที่มีความเร็วสูงขึ้น นอกจากนี้ ส่วนประกอบที่คอมพิวเตอร์ได้ถูกรวบรวมเข้าไว้ใน แผ่นวงจรพิมพ์ลาย (printed circuit boards) ซึ่งง่ายต่อการเปลี่ยนและมีการสร้างโปรแกรมวิเคราะห์เพื่อหาส่วนผิดพลาดได้อย่างรวดเร็ว
ภาษาโปรแกรมระดับสูง เช่น FORTRAN และ COBOL ได้ถูกใช้ในการโปรแกรมสำหรับยุคนี้ โปรแกรมเมอร์สามารถใช้งานภาษาเหล่านี้ได้สะดวกกว่าคอมพิวเตอร์ในยุคที่ 1 เนื่องจากมีไวยากรณ์ที่คล้ายคลืงกับภาษาอังกฤษ อย่างไรก็ดี เนื่องจากคอมพิวเตอร์สามารถทำงานได้แต่เฉพาะกับภาษาเครื่อง ทำให้ต้องใช้โปรแกรมตัวอื่น คือ compiler และ interpreter ในการแปลงภาษาระดับสูงให้เป็นภาษาเครื่อง
ในยุคที่ 2 เริ่มมีการติดต่อสื่อสารระหว่างคอมพิวเตอร์ 2 เครื่องที่อยู่ห่างกันโดยผ่านสายโทรศัพท์ ถึงแม้ว่าจะติดสื่อสารกันได้ช้ามากก็ตาม ปัญหาในยุคนี้คืออุปกรณ์รับข้อมูลและอุปกรณ์แสดงผลทำงานได้ช้ามาก ทำให้คอมพิวเตอร์ต้องรอการรับข้อมูลหรือการแสดงผลบ่อย ๆ ซึ่ง Dr.Daniel Slotnick ได้ทำการพัฒนาเพิ่มเติม โดยใช้หลักการของการประมวลผลแบบขนานกัน นอกจากนั้ยังมีกลุ่มคณาจารย์และนักเรียกจาก Massachusetts Instiute of Technoligy พัฒนาระบบ มัลติโปรแกรมมิ่ง (multiprogramming) ซึ่งเป็นการจัดสรรให้คอมพิวเตอร์ทำงานหลายโปรแกรมพร้อม ๆ กนได้ ทำให้ไม่ต้องเสียเวลารอหน่วยรับข้อมูลและหน่วยแสดงผลอีกต่อไป
ยุคที่ 3 (1965-1971)
ในยุคที่ 3 เป็นยุคของอุตสาหกรรมคอมพิวเตอร์ที่มีการเติบโตมาก ได้มีการนำ แผงวงจรรวม (IC หรือ integrated circuits) ซึ่งประกอบด้วยทรานซิสเตอร์และวงจรไฟฟ้าที่รวอยู่บนแผ่นซิลิกอนเล็ก ๆ มาแทนการประกอบแผ่นวงจรพิมพ์ลาย ทำให้เวลาการทำงานขิงคอมพิวเตอร์ลดลงอยู่ในหน่วยหนึ่งส่วนพันล้านวินาที นอกจากนี้ มินิคอมพิวเตอร์ได้ถือกำเนิดขึ้นในปี ค.ศ.1965 คือเครื่อง PDP-8 ของ Digital Equipment Corportion (DEC) ซึ่งต่อมาก็มีการใช้มินิคอมพิวเตอร์ที่สามารถติดต่อกับคอมพิวเตอร์กันอย่างแผร่หลาย รวมทั้งมีการใช้งาน เทอร์มินัล (terminal) ซึ่งเป็นจอคอมพิวเตอร์ผ่านทาง คีย์บอร์ด (keyboard) ทำให้การป้อนข้อมูลและพัฒนาโปรแกรมกระทำได้สะดวกขึ้น
แผงวงจรรวมเปรียเทียบกันทรานซิสเตอร์และหลอดสูญญากาศ

ภาษาโปรแกรมระดับสูงได้เกิดขึ้นมากมานในยุคที่ 3 เช่น RPG APL BASICA เป็นต้น และได้มีการเปิดตัว โปรแกรมจัดการระบบ (Operating system) ซึ่งช่วยให้สามารถบริการทรัพยากรของคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ นอกจากนี้ ระบบแบ่งเวลา (time sharing) ก็ทำให้สามารถติดต่อเทอร์มินัลจำนวนมากเข้าไปยังคอมพิวเตอร์ 1 เครื่อง โดยที่ผู้ใช้แต่ละคนสามารถทำงานในส่วนของตนได้พร้อม ๆ กัน
ยุคที่ 4 (1971-ปัจจุบัน)
ในยุคที่ 4 เทคโนโลยีแผงวงจรรวมได้พัฒนาขึ้นเป็น แผงวงจรรวมขนาดใหญ่ (LSI หรือ large-scale integartion) และจากนั้นก็มีการพัฒนาต่าเป็น แผงวงจรขนาดใหญ่มาก (Very Large-Scale integartion - VLSI) ซึ่งทำให้เกิด microprocessor ตัวโลกของโลก คือ Intel 4004 จากบริษัท Intel ซึ่งเป็นการใช้แผ่นชิฟเพียงแผ่นเดียวสำหรับเก็บ หน่วยควบคุม (control unit) และ คำนวณเลขตรรกะ (arithmetic-logic unit) ของคอมพิวเตอร์ทั้งหมดเทคนิคในการย่อทรานซีสเตอร์ให้อยู่กันอย่างหนาแน่นบนแผ่นซิลิกอนนี้ ได้รับการพัฒนาอย่างต่อเนื่องจากปัจจุบันสามารถเก็บทรานซิสเตอร์นับล้านตัวไว้ในชิปเพียงหนึ่งแผ่น ในส่วนของหน่วยบันทึกข้อมูลสำรอง (secondary storage) ก็ได้เพิ่มความจุขึ้นอย่างมากจนสามารถเก็บข้อมูลนับพันล้านตัวอักษรได้ในแผ่นดิสก์ขนาด 3 นิ้ว
เนื่องจากการเพิ่มความจุของหน่วยบันทึกข้อมูลสำรองนี่เอง ซอฟต์แวร์ชนิดใหม่ได้พัฒนาขึ้น เพื่อให้สามารถเก็บรวมรวบและบันทึกแก้ไขข้อมูลจำนวณมหาศาลที่ถูกจัดเก็บไว้ นั่นคือ ซอฟร์แวร์ ฐานข้อมูล (Data base ) นอกจากนี้ ยังมีการถือกำเนิดขึ้นของเครื่องคอมพิวเตอร์ส่วนบุคคลในปี 1975 คือเครื่อง Altair ซึ่งใช้ชิป intel 8080 และถัดจากนั้นก็เป็นยุคของเครื่อง และ ตามลำดับ ในส่วนของซอฟต์แวร์ก็ได้มีการพัฒนาให้เป็นมิตรกับผู้ใช้ มีขนาดใหญ่และซับซ้อนมากขึ้นเรื่อย ๆ รวมทั้งมีการนำเทคนิคต่าง ๆ เช่น OOP (Object-Oriented Programming) และ Visual Programming มาเป็นเครื่องมือช่วยในการพัฒนา
การพัฒนาที่สำคัญอื่นๆในยุคที่ 4 คือการพัฒนาเครื่องข่ายคอมพิวเตอร์ความเร็วสูง ทำให้คอมพิวเตอร์สามารถเชื่อมโยงและแลกเปลี่ยนกันได้ โดยการใช้งานภายในองค์กรนั้น ระบบเครื่อข่ายท้องถิ่น (Local Araa Networks) ซึ่งนิยมเรียกว่า แลน (LANs) จะมีบทบาทในการเชื่องโยงเครื่องนับร้อยเข้าด้วยกันในพื้นที่ไท่ห่าวกันนัก ส่วนระบบเครื่องข่ายระยะไกล ( Wide Area Networks ) หรือ แวน (WANs) จะทำหน้าที่เชื่อมโยงเครื่องคอมพิวเตอร์ที่อยู่ห่างไกลคนละซีกโลกเข้าด้วยกัน
ที่มา www.google.com
ความหมายของคอมพิวเตอร์
ปัจจุบันคนส่วนใหญ่มีความเชื่อกันว่า การมีความรู้เกี่ยวกับ การใช้งานคอมพิวเตอร์โดยเฉพาะคอมพิวเตอร์ ส่วนบุคคลหรือที่รเยกกันโดยทั่วไปว่า personal computer นั้น เป็นความสามารถหรือความชำนาญขั้นพื้นฐานที่จำเป็น ในการดำเนินชีวิตประจำวัน โดยเฉพาะอย่างยิ่งการประกอบธุรกิจ ให้ประสบความสำเร็จ
เนื่องจากปริมาณการใช้คอมพิวเตอร์ และคุณสมบัติของ คอมพิวเตอร์ที่มีประสิทธิภาพเพิ่มมาก ขึ้นส่งผลให้คนจำนวนมาก เชื่อว่าแต่ละคน จำเป็นต้องมีความรู้พิ้นฐานด้านคอมพิวเตอร์กล่าวคือ รู้วิธีการใช้คอมพิวเตอร์ได้อย่างเหมาะสม อย่างไรก็ตาม โลกปัจจุบันซึ่งเป็นโลกของเทคโนโลยีสารสนเทศ หรือที่มักเรียกกันว่า เป็นยุคของข้อมูลข่าวสาร การมีความรู้ในการใช้คอมพิวเตอร์ เพียงอย่างเดียวนั้นถือว่า ไม่เพียงพอต่อไปแล้ว บุคคลจำเป็นต้องเรียนรู้การบริโภคข้อมูล ข่าวสาร และสามารถวิเคราะห์ข่าวสารที่มีอยู่เป็นจำนวนมากให้เกิด ประโยชน์ได้
ความหมายของคอมพิวเตอร์ นักวิชาการหลายท่านได้กำหนดหรือนิยามความหมายของ คอมพิวเตอร์ไว้หลายความหมาย แต่เมื่อพิจารณาโดยภาพรวมแล้ว ความหมายของคอมพิวเตอร์จะหมายถึง อุปกรณ์อิเล็กทรอนิกส์อย่างหนึ่งมทที่สามารถรับโปรแกรมและข้อมูล ประมวลผล สื่อสารเคลื่อนย้ายข้อมูลและแสดงผลลัพธ์ได้
ที่มา www.google.comชนิดของคอมพิวเตอร์
พัฒนาการทางคอมพิวเตอร์ได้ก้าวหน้าไปอย่างรวดเร็วและต่อเนื่อง จากอดีตเป็นอุปกรณ์อิเล็กทรอนิกส์ที่ใช้หลอดสุญญากาศขนาดใหญ่ ใช้พลังงานไฟฟ้ามาก และอายุการใช้งานต่ำ เปลี่ยนมาใช้ทรานซิสเตอร์ที่ทำจากชินซิลิกอนเล็ก ๆ ใช้พลังงานไฟฟ้าต่ำ และผลิตได้จำนวนมาก ราคาถูก ต่อมาสามารถสร้างทรานซิสเตอร์จำนวนหลายแสนตัวบรรจุบนชิ้นซิลิกอนเล็ก ๆ เป็นวงจรรวมที่เรียกว่า ไมโครชิป (microchip) และใช้ไมโครชิปเป็นชิ้นส่วนหลักที่ประกอบอยู่ในคอมพิวเตอร์ ทำให้ขนาดของคอมพิวเตอร์เล็กลง
ไมโครชิปที่มีขนาดเล็กนี้สามารถทำงานได้หลายหน้าที่ เช่น ทำหน้าที่เป็นหน่วยความจำสำหรับเก็บข้อมูล ทำหน้าที่เป็นหน่วยควบคุมอุปกรณ์รับเข้าและส่งออก หรือทำหน้าที่เป็นหน่วยประมวลผลกลาง ที่เรียกว่า ไมโครโพรเซสเซอร์ ไมโครโพรเซสเซอร์ หมายถึงหน่วยงานหลักในการคิดคำนวณ การบวกลบคูณหาร การเปรียบเทียบ การดำเนินการทางตรรกะ ตลอดจนการสั่งการเคลื่อนข้อมูลจากที่หนึ่งไปยังอีกที่หนึ่ง หน่วยประมวลผลกลางนี้เรียกอีกอย่างว่า ซีพียู (Central Processing Unit : CPU)
การพัฒนาไมโครชิปที่ทำหน้าที่เป็นไมโครโพรเซสเซอร์มีการกระทำอย่างต่อเนื่องทำให้มีคอมพิวเตอร์รุ่นใหม่ ๆ ที่ดีกว่าเกิดขึ้นเสมอ จึงเป็นการยากที่จะจำแนกชนิดของคอมพิวเตอร์ออกมาอย่างชัดเจน เพราะเทคโนโลยีได้พัฒนาอย่างรวดเร็ว ขีดความสามารถของคอมพิวเตอร์ขนาดเล็กอาจมีประสิทธิภาพสูงกว่าคอมพิวเตอร์ขนาดใหญ่ แต่อย่างไรก็ตามพอจะจำแนกชนิดคอมพิวเตอร์ตามสภาพการทำงานของระบบเทคโนโลยีที่ประกอบอยู่และสภาพการใช้งานได้ดังนี้
ไมโครคอมพิวเตอร์ (micro computer) สถานีงานวิศวกรรม (engineering workstation) มินิคอมพิวเตอร์ (mini computer) เมนเฟรมคอมพิวเตอร์ (mainframe computer) ซูเปอร์คอมพิวเตอร์ (super computer)

ไมโครคอมพิวเตอร์ (Microcomputer)
ไมโครคอมพิวเตอร์เป็นเครื่องคอมพิวเตอร์ที่มีขนาดเล็ก บางคนเห็นว่าเป็นเครื่องคอมพิวเตอร์ที่ใช้งานส่วนบุคคล หรือเรียกว่า พีซี (Personal Computer : PC) สามารถใช้เป็นเครื่องต่อเชื่อมในเครือข่าย หรือใช้เป็นเครื่องปลายทาง (terminal) ซึ่งอาจจะทำหน้าที่เป็นเพียงอุปกรณ์รับและแสดงผลสำหรับป้อนข้อมูลและดูผลลัพธ์ โดยดำเนินการการประมวลผลบนเครื่องอื่นในเครือข่าย
อาจจะกล่าวได้ว่าไมโครคอมพิวเตอร์ คือเครื่องคอมพิวเตอร์ที่มีหน่วยประมวลผลกลางเป็นไมโครโพรเซสเซอร์ ใช้งานง่าย ทำงานในลักษณะส่วนบุคคลได้ สามารถแบ่งแยกไมโครคอมพิวเตอร์ตามขนาดของเครื่องได้ดังนี้
คอมพิวเตอร์แบบตั้งโต๊ะ (desktop computer) เป็นไมโครคอมพิวเตอร์ที่มีขนาดเล็กถูกออกแบบมาให้ตั้งบนโต๊ะ มีการแยกชิ้นส่วนประกอบเป็น ซีพียู จอภาพ และแผงแป้งอักขระ
แล็ปท็อปคอมพิวเตอร์ (laptop computer) เป็นไมโครคอมพิวเตอร์ขนาดเล็กที่วางใช้งานบนตักได้ จอภาพที่ใช้เป็นแบบแบนราบชนิดจอภาพผนึกเหลว (Liquid Crystal Display : LCD) น้ำหนักของเครื่องประมาณ 3-8 กิโลกรัม
โน้ตบุ๊คคอมพิวเตอร์ (notebook computer) เป็นไมโครคอมพิวเตอร์ที่มีขนาดและความหนามากกว่าแล็ปท็อป น้ำหนักประมาณ 1.5-3 กิโลกรัม จอภาพแสดงผลเป็นแบบราบชนิดมีทั้งแบบแสดงผลสีเดียว หรือแบบหลายสี โน้ตบุ๊คที่มีขายทั่วไปมีประสิทธิภาพและความสามารถเหมือน กับแล็ปท็อป
ปาล์มท็อปคอมพิวเตอร์ (palmtop computer) เป็นไมโครคอมพิวเตอร์สำหรับทำงานเฉพาะอย่าง เช่นเป็นพจนานุกรม เป็นสมุดจนบันทึกประจำวัน บันทึกการนัดหมายและการเก็บข้อมูลเฉพาะบางอย่างที่สามารถพกพาติดตัวไปมาได้สะดวก


สถานีงานวิศวกรรม (engineering workstation)

ผู้ใช้สถานีงานวิศวกรรมส่วนใหญ่เป็นวิศวกร นักวิทยาศาสตร์ สถาปนิก และนักออกแบบ สถานีงานวิศวกรรมมีจุดเด่นในเรื่องกราฟิก การสร้างรูปภาพและการทำภาพเคลื่อนไหว การเชื่อมโยงสถานีงานวิศวกรรมรวมกันเป็นเครือข่ายทำให้สามารถแลกเปลี่ยนข้อมูลและใช้งานร่วมกันอย่างมีประสิทธิภาพ
บริษัทพัฒนาซอฟต์แวร์หลายบริษัทได้พัฒนาซอฟต์แวร์สำเร็จสำหรับใช้กับสถานีงานวิศวกรรมขึ้น เช่นโปรแกรมการจัดทำต้นฉบับหนังสือ การออกแบบวงจรอิเล็กทรอนิกส์งานจำลองและคำนวณทางวิทยาศาสตร์ งานออกแบบทางด้านวิศวกรรมและการควบคุมเครื่องจักร
การซื้อสถานีงานวิศวกรรมต่างจากการซื้อเครื่องไมโครคอมพิวเตอร์ เพราะไมโครคอมพิวเตอร์ทุกเครื่องสามารถใช้โปรแกรมสำเร็จสำหรับไมโครคอมพิวเตอร์ได้ และมีลักษณะการใช้งานเหมือนกัน ส่วนการซื้อสถานีงานวิศวกรรมนั้นยุ่งยากกว่า สถานีงานวิศวกรรมมีราคาแพงกว่าไมโครคอมพิวเตอร์มาก การใช้งานก็ต้องการบุคลากรที่มีการฝึกหัดมาอย่างดี หรือต้องใช้เวลาเรียนรู้
สถานีงานวิศวกรรมส่วนใหญ่ใช้ระบบปฎิบัติการยูนิกซ์ ประสิทธิภาพของซีพียูของระบบอยู่ในช่วง 50-100 ล้านคำสั่งต่อวินาที (Million Instruction Per Second : MIPS) อย่างไรก็ตามหลักจากที่ใช้ซีพียูแบบริสก์ (Reduced Instruction Set Computer :RISC) ก็สามารถเพิ่มขีดความสามารถเชิงคำนวณของซีพียูสูงขึ้นได้อีก ทำให้สร้างสถานีงานวิศวกรรมให้มีขีดความสามารถเชิงคำนวณได้มากกว่า 100 ล้านคำสั่งต่อวินาที


มินิคอมพิวเตอร์ (mini computer)
มินิคอมพิวเตอร์เป็นเครื่องที่สามารถใช้งานพร้อม ๆ กันได้หลายคน จึงมีเครื่องปลายทางต่อได้ มินิคอมพิวเตอร์เป็นคอมพิวเตอร์ที่มีราคาสูงกว่าสถานีงานวิศวกรรม นำมาใช้สำหรับประมวลผลในงานสารสนเทศขององค์การขนาดกลาง จนถึงองค์การขนาดใหญ่ที่มีการวางระบบเป็นเครือข่ายเพื่อใช้งานร่วมกัน เช่น งานบัญชีและการเงิน งานออกแบบทางวิศวกรรม งานควบคุมการผลิตในโรงงานอุตสาหกรรม
มินิคอมพิวเตอร์เป็นอุปกรณืที่สำคัญในระบบเครือข่ายคอมพิวเตอร์ขององค์การที่เรียกว่าเครื่อให้บริการ (server) มีหน้าที่ให้บริการกับผู้ใช้บริการ (client) เช่น ให้บริการแฟ้มข้อมูล ให้บริการข้อมูล ให้บริการช่วยในการคำนวณ และการสื่อสาร


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


ซูเปอร์คอมพิวเตอร์ (super computer)
ซูเปอร์คอมพิวเตอร์เป็นเครื่องคอมพิวเตอร์ที่เหมาะกับงานคำนวณที่ต้องมีการคำนวณตัวเลขจำนวนหลายล้านตัวภายในเวลาอันรวดเร็ว เช่น งานพยากรณ์อากาศ ที่ต้องนำข้อมูลต่าง ๆ เกี่ยวกับอากาศทั้งระดับภาคพื้นดิน และระดับชึ้นบรรยากาศเพื่อดูการเคลื่อนไหวและการเปลี่ยนแปลงของอากาศ งานนี้จำเป็นต้องใช้เครื่องคอมพิวเตอร์ที่มีสมรรถนะสูงมาก นอกจากนี้มีงานอีกเป็นจำนวนมากที่ต้องใช้ซูเปอร์คอมพิวเตอร์ซึ่งมีความเร็วสูง เช่น งานควบคุมขีปนาวุะ งานควบคุมทางอวกาศ งานประมวลผลภาพทางการแพทย์ งานด้านวิทยาศาสตร์ โดยเฉพาะทางด้านเคมี เภสัชวิทยา และงานด้านวิศวกรรมการออกแบบ
ซูเปอร์คอมพิวเตอร์ทำงานได้เร็ว และมีประสิทธิภาพสูงกว่าคอมพิวเตอร์ชนิดอื่น การที่ซูเปอร์คอมพิวเตอร์ทำงานได้เร็ว เพราะมีการพัฒนาให้มีโครงสร้างการคำนวณพิเศษ เช่นการคำนวณแบบขนานที่เรียกว่า เอ็มพีพี (Massively Parallel Processing : MPP) ซึ่งเป็นการคำนวณที่กระทำกับข้อมูลหลาย ๆ ตัวในเวลาเดียวกัน
ที่มา www.google.com