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

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)

วันพุธที่ 20 สิงหาคม พ.ศ. 2551

บทที่5

1.จงบอกความหมายของซอฟต์แวร์ตอบ.ชุดคำสั่งที่สั่งงานคอมพิวเตอร์เป็นลำดับขั้นตอนของการทำงานชุดคำสั่งเหล่านี้ได้จัดเตรียมไว้ในหน่วยความจำของคอมพิวเตอร์
2.อธิบายประสิทธิภาพของซอฟต์แวร์ประมวลคำนอกเหนือจากที่กล่าวในบทเรียนมา 3 ข้อตอบ.เป็นซอฟต์แวร์ในการนำตัวอักษรมาเรียงต่อเป็นคำ และเป็นการเตรียมเอกสารที่มองเห็นงานพิมพ์ไปปรากฏที่จอภาพ1.สามารถควบคุมการแสดงของตัวอักษรได้2.ช่วยจัดการแก้ไขดัดแปลงข้อความเป็นกลุ่มได้3.จะสร้างข้อมลูในตารางได้ง่ายและสะดวก
3.ระบบปฏิบัติการมีหน้าที่อะไร
ตอบ. ระบบปฏิบัติการทำหน้าที่ประสานงานหรือกำกับดูแลการทำงานของคอมพิวเตอร์ ในการกำหนดว่าจะเก็บโปรแกรมหรือข้อมูลเก็บไว้ในส่วนใดของหน่วย ความจำ ดูแลการติดต่อระหว่างส่วนต่างๆ ของคอมพิวเตอร์กับโปรแกรมใช้งานหรือผู้ใช้คอมพิวเตอร์ ควบคุมการส่งสัญญาณจากคอมพิวเตอร์ขึ้นไปปรากฏบนจอภาพ ควบคุมการพิมพ์ของเครื่องพิมพ์ ตัวอย่างเช่น ควบคุมการแปลสัญญาณจากแป้นพิมพ์ให้เครื่องรับรู้ ควบคุมการบันทึกหรือการอ่านข้อมูลของเครื่องขับแผ่นบันทึก
4.จงอธิบายลักษณะของซอฟต์แวร์ประยุกต์เฉพาะทาง
ตอบ. เป็นโปรแกรมที่ได้รับการออกแบบและพัฒนาสำหรับนำไปใช้งานเฉพาะด้าน หรือในสาขาใดสาขาหนึ่งตามความต้องการของผู้ใช้ โดยที่ผู้เขียนคือโปรแกรมเมอร์ (programmer) ที่มีความสามารถในการเขียนโปรแกรมภาษาคอมพิวเตอร์ และต้องศึกษาทำความเข้าใจเข้าใจงานและรายละเอียดของการประยุกต์นั้นเป็นอย่างดี เช่น โปรแกรมช่วยจัดการด้านการเงิน โปรแกรมช่วยจัดการบริการลูกค้า ฯลฯ ตามปกติจะไม่ค่อยได้พบเห็นซอฟต์แวร์ประเภทนี้ในท้องตลาดทั่วไป แต่จะซื้อหาได้จากผู้ผลิตหรือตัวแทนจำหน่ายในราคาค่อนข้างสูงกว่าซอฟต์แวร์ที่ใช้งานทั่วไป โครงสร้างของซอฟต์แวร์เฉพาะทางมักจะประกอบด้วย ฐานข้อมูลเพื่อใช้เก็บข้อมูลลูกค้า และระบบหลักของงาน ภายในซอฟต์แวร์ควรจะมีส่วนทำงานประมวลคำเพื่อใช้สร้างรายงาน ติดต่อโต้ตอบจดหมาย และการนัดหมายตามกำหนดการ ลักษณะของซอฟต์แวร์เฉพาะทางนี้ มีทั้งรูปแบบที่มีผู้ใช้งานคนเดียว หรือผู้ใช้งานได้พร้อมกันหลายคน ในประเทศไทยมีการใช้ซอฟต์แวร์ประเภทใช้เฉพาะทางอยู่บ้าง ส่วนใหญ่จะเป็นซอฟต์แวร์ที่บริษัทผู้ผลิตต่างประเทศได้ออกแบบมาเพื่อรองรับงานด้านธุรกิจ ในที่นี้ได้รวบรวมจัดประเภทไว้ดังนี้
5.อธิบายประสิทธิภาพของซอฟต์แวร์ตารางการทำงานนอกเหนือจากที่กล่าวในบทเรียนมา 3 ข้อ
ตอบ.ซอฟต์แวร์สำเร็จตารางทำงาน หรือกระดาษอิเล็กทรอนิกส์ เป็นเครื่องมือช่วยเพื่อการวิเคราะห์และคำนวณตัวเลขให้กับผู้ใช้ได้อย่างดี เพราะการใช้งานซอฟต์แวร์นี้ จะเปรียบเหมือนกับการนั่งทำงานอยู่บนโต๊ะทำงาน ที่มีกระดาษแผ่นใหญ่ๆ ประกอบด้วยตารางสี่เหลี่ยมของช่องตามแนวแถวและสดมภ์จำนวนมากมายปรากฏบนจอภาพ โดยแต่ละช่องบนตารางทำงาน ภายในซอฟต์แวร์ตารางทำงานจะมีฟังก์ชันต่างๆ จัดมาให้เลือกใช้เรียบร้อยแล้ว เช่น ฟังก์ชันการคำนวณทางคณิตศาสตร์ ฟังก์ชันการคำนวณทางสถิติ ฯลฯ ซึ่งฟังก์ชันเหล่านี้เปรียบได้กับเครื่องคิดเลขที่วางบนโต๊ะทำงาน ผู้ใช้สามารถนำข้อมูลจากช่องต่างๆ บนตารางเป็นตัวแปรของฟังก์ชันหรือสูตรคำนวณ เพื่อคำนวณให้ได้ผลลัพธ์ออกมา และนำไปใช้ในการคำนวณของช่องอื่นๆ ต่อไปได้อีก1.ฟังก์ชันการคำนวณทางคณิตศาสตร์2.ฟังก์ชันการคำนวณทางสถิติ3.ฟังก์ชันหรือสูตรคณิต
6.จงบอกประโยชน์ของซอฟต์แวร์จัดการฐานข้อมลู
ตอบ.ประโยชน์ของการใช้ฐานข้อมูลจะช่วยให้สามารถใช้ข้อมูลร่วมกัน ช่วยหลีกเลี่ยงความซ้ำซ้อนของข้อมูลที่จะเกิดขึ้น ช่วยขจัดความขัดแย้งของข้อมูลและสามารถกำหนดความเป็นมาตรฐานเดียวกันได้ง่าย เป็นต้น ซอฟต์แวร์จัดการฐานข้อมูลช่วยให้ผู้ใช้ดำเนินการจัดการข้อมูลได้ง่าย และมีให้เลือกใช้ได้หลายซอฟต์แวร์ โดยเน้นให้ผู้ใช้สามารถสร้างแฟ้มข้อมูล ช่วยในการจัดเก็บ การขอดู การเรียกค้น การเพิ่มเติม การลบ การจัดเรียง และการทำรายงาน
7.แอสเซมบลีเป็นภาษาระดับใด และมีลักษณะอย่างไร
ตอบ. ภาษาแอสแซมบลี เป็นภาษาที่ใช้คำในอักษรภาษาอังกฤษเป็นคำสั่งให้เครื่องทำงาน เช่น ADD หมายถึง บวก SUB หมายถึง ลบ เป็นต้น การใช้คำเหล่านี้ช่วยให้การเขียนโปรแกรมง่ายขึ้นกว่าการใช้ภาษาเครื่องซึ่งเป็นตัวเลขล้วน ตารางที่ 5.1 แสดงตัวอย่างของภาษาระดับต่ำและภาษาเครื่องที่สั่งให้มีการบวกจำนวนที่เก็บอยู่ในหน่วยความจำ
8.ตัวแปลภาษาระดับสูงให้เป็นภาษาเครื่องมีกี่ประเภท อะไรบ้าง
ตอบ.ภาษาระดับสูงเป็นภาษาที่สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรม กล่าวคือ ลักษณะของคำสั่งจะประกอบด้วยคำต่างๆ ในภาษาอังกฤษ ซึ่งผู้อ่านสามารถเข้าใจความหมายได้ทันที ผู้เขียนโปรแกรมจึงเขียนโปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอสแซมบลี หรือภาษาเครื่อง ภาษาระดับสูงมีมากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล ภาษาปาสคาล (Pascal) ภาษาเบสิก (BASIC) ภาษาวิชวลเบสิก (Visual Basic) ภาษาซี (C) และภาษาจาวา (Java) เป็นต้น โปรแกรมที่เขียนด้วยภาษาระดับสูงแต่ละภาษาจะต้องมีโปรแกรมที่ทำหน้าที่แปลภาษาระดับสูงให้เป็นภาษาเครื่อง เช่น โปรแกรมแปลภาษาฟอร์แทรนเป็นภาษาเครื่อง โปรแกรมแปลภาษาปาสคาลเป็นภาษาเครื่อง คำสั่งหนึ่งคำสั่งในภาษาระดับสูงจะถูกแปลเป็นภาษาเครื่องหลายคำสั่ง ภาษาระดับสูงที่จะกล่าวถึงในที่นี้ ได้แก่ (1) ภาษาฟอร์แทรน (FORmula TRANslator : FORTRAN) จัดเป็นภาษาระดับสูงที่เก่าแก่ที่สุด ได้รับการคิดค้นขึ้นเป็นครั้งแรกราว พ.ศ. 2497 โดยบริษัทไอบีเอ็ม เป็นภาษาที่เหมาะสำหรับงานที่ต้องการการคำนวณ เช่นงานทางด้านวิทยาศาสตร์ วิศวกรรมศาสตร์ และงานวิจัยต่าง ๆ เนื่องจากแนวคิดในการเขียนโปรแกรมในระยะหลังนี้ เปลี่ยนมานิยมการเขียนโปรแกรมแบบโครงสร้างมากขึ้น ลักษณะของคำสั่งภาษาฟอร์แทรนแบบเดิม ไม่เอื้ออำนวยที่จะให้เขียนได้ จึงมีการปรับปรุงโครงสร้างของภาษาฟอร์แทรนให้สามารถเขียนโปรแกรมแบบโครงสร้างขึ้นมาได้ในปี พ.ศ. 2509 เรียกว่า FORTRAN 66 และในปี พ.ศ. 2520 สถาบันมาตรฐานของสหรัฐอเมริกา (American National Standard Institute หรือ ANSI) ได้ปรับปรุง FORTRAN 66 และยอมรับให้เป็นภาษาฟอร์แทรนที่เป็นมาตรฐานเรียกว่า FORTRAN 77 ใช้ได้กับเครื่องคอมพิวเตอร์ที่มีตัวแปลภาษานี้ (2) ภาษาโคบอล (Common Business – Oriented Language : COBOL) เป็นภาษาที่พัฒนาขึ้นในราว พ.ศ. 2502 ต่อมาได้รับการปรับปรุงจากคณะกรรมการซึ่งเป็นตัวแทนของหน่วยงานธุรกิจและรัฐบาลของสหรัฐอเมริกา เป็นภาษาโคบอลมาตรฐานใน พ.ศ. 2517 ภาษาโคบอลเป็นภาษาที่เหมาะสมสำหรับงานด้านธุรกิจ เครื่องคอมพิวเตอร์ขนาดใหญ่ส่วนมากมีโปรแกรมแปลภาษาโคบอล (3) ภาษาเบสิก (Beginner’s All - purpose Symbolic Instruction Code : BASIC)เป็นภาษาที่ได้รับการคิดขึ้นเป็นครั้งแรกที่วิทยาลัยดาร์ทมัธ (Dartmouth College) เผยแพร่เป็นทางการในปี พ.ศ. 2508 ภาษาเบสิกเป็นภาษาที่สร้างขึ้นโดยมีจุดประสงค์เพื่อใช้สอนเขียนโปรแกรมแทนภาษาคอมพิวเตอร์ภาษาอื่น เช่น ภาษาฟอร์แทรน ซึ่งมีขนาดใหญ่และต้องใช้หน่วยความจำสูงในการทำงาน ซึ่งไม่เหมาะกับเครื่องคอมพิวเตอร์ในสมัยนั้น ภาษาเบสิกเป็นภาษาที่มีขนาดเล็ก เป็นตัวแปลภาษาชนิดที่เรียกว่าอินเตอร์เพรทเตอร์ ซึ่งนักเรียนจะได้เรียนในหัวข้อถัดไป นอกจากนี้ ภาษาเบสิกเป็นที่ง่ายต่อการเขียนซึ่งผู้เขียนจะสามารถนำไปประยุกต์กับการแก้ปัญหาต่าง ๆ ได้ทุกสาขาวิชา ผู้ที่เพิ่งฝึกเขียนโปรแกรมใหม่ ๆ หรือผู้ที่ไม่ใช่นักเขียนโปรแกรมอาชีพ แต่เป็นเพียงวิศวกร หรือนักวิจัย จะสามารถหัดเขียนโปรแกรมภาษาเบสิกได้ในเวลาไม่นานนัก ปกติภาษาเบสิกส่วนใหญ่ใช้กับไมโครคอมพิวเตอร์ (4) ภาษาปาสคาล (Pascal) ตั้งชื่อตามนักคณิตศาสตร์ชาวฝรั่งเศสชื่อ เบลส ปาสคาล (Blaise Pascal ) ซึ่งได้กล่าวมาแล้วว่าเป็นผู้ผลิตเครื่องคิดเลขโดยใช้เฟืองหมุน ภาษาปาสคาลคิดขึ้นในปี พ.ศ. 2514 โดยนิคลอสเวียซ (Niklaus Wirth) ศาสตราจารย์วิชาคอมพิวเตอร์ชาวสวิส ภาษาปาสคาลได้รับการออกแบบให้ใช้ง่ายและมีโครงสร้างที่ดีจึงเหมาะกับการใช้สอนหลักการเขียนโปรแกรม ปัจจุบันภาษาปาสคาลยังคงได้รับความนิยมใช้ในการเรียนเขียนโปรแกรมคอมพิวเตอร์(5) ภาษาซีและซีพลัสพลัส (C และ C++) ภาษาซีเป็นภาษาที่พัฒนาจากห้องปฏิบัติการเบลล์ของบริษัทเอทีแอนด์ทีในปี พ.ศ .2515 หลังจากที่พัฒนาขึ้นได้ไม่นานภาษาซีก็กลายเป็นภาษาที่นิยมในหมู่นักเรียนโปรแกรมมาก และมีใช้งานเครื่องทุกระดับ ทั้งนี้ เนื่องจากภษาซีได้รวมเอาข้อมูลของภาษาระดับสูงแลภาษาระดับเข้าไว้ด้วยกัน กล่าวคือ เป็นภาษาที่มีไวยกรณ์ที่เข้าใจง่ายทำให้เขียนโปรแกรมได้ง่ายเช่นเดียวกับภาษาระดับสูงทั่วไป แต่ประสิทธิภาพและความเร็วในการทำงานดีกว่ามาก เนื่องจากมีการทำงานเหมือนภาษาระดับต่ำ สามารถทำงานได้ในระดับที่เป็นการควบคุมฮาร์ดแวร์ได้มากกว่าภาษาระดับสูงอื่นๆ ดังจะเห็นว่าภาษาซีเป็นภาษาที่สามารถพัฒนาระบบปฏิบัติการได้ เช่น ระบบปฏิบัติการยูนิกซ์ นอกจากนี้เมื่อแนวคิดของการเขียนโปรแกรมแบบเชิงวัตถุ (Object Oriented Programing : OOP) ได้เข้ามามีบทบาทในวงการคอมพิวเตอร์มากขึ้น ภาษาซีก็ยังได้รับการพัฒนาดดยประยุกต์ใช้กับการเขียนโปรแกรมดังกล่าว เกิดเป็นภาษาใหม่ชื่อว่า ภาษาซีพลัสพลัส (C++) (6) ภาษาวิชวลเบสิก (Visual Basic) เป็นภาษาที่พัฒนาต่อมาจากภาษาเบสิก สำหรับภาษาวิชวลเบสิกเป็นภาษาที่ใช้ไวยกรณ์บางส่วนของภาษาเบสิกในการเขียนโปรแกรม แต่มีแยวคิดและวิธีการพัฒนาโปรแกรมที่แตกต่างจากภาษาเบลิกโดยสิ้นเชิง รวมทั้งการใช้เนื้อที่ในหน่วยความจำก็แตกต่างกันมาก ทั้งนี้ เนื่องจากภาษาวิชวลเบสิกใช้แนวคิดการเขียนโปรแกรมแบบรูปภาพ (visual programing) ในการพัฒนาโปรแกรม ภาษานี้พัฒนาขึ้นโดยบริษัทไมโครซอฟต์ ออกแบบเพื่อเขียนโปรแกรมที่สามารถใช้งานได้บนระบบปฏิบัติการแบบจียูไอ เช่น ระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีการติดต่อกับผู้ใช้โดยใช้รูปภาพ การเขียนโปรแกรมทำได้ง่ายกว่าการเขียนโปรแกรมแบบเก่ามากซึ่งจะได้กล่าวในรายละเอียดในบทต่อไป (7) การเขียนโปรแกรมแบบจินตภาพ (visual programing) ในการพัฒนาโปรแกรม ภาษานี้พัฒนาขึ้นโดยบริษัทไมโครซอฟต์ ออกแบบเพื่อเขียนโปรแกรมที่สามารถใช้งานได้บนระบบปฏิบัติการแบบจียูไอ เช่น ระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีการติดต่อกับผู้ใช้โดยใช้รูปภาพ การเขียนโปรแกรมทำได้ง่ายกว่าการเขียนโปรแกรมแบบเก่ามาก (8)ภาษาจาวา (JAVA) พัฒนาขึ้นในปี พ.ศ. 2534 โดยบริษัทซันไมโครซิสเตมส์ และเป็นภาษาที่ได้รับความนิยมสูงมาโดยตลอด เนื่องจากเป็นภาษาที่มีความยืดหยุ่นสูง สามารถเขียนโปรแกรม และใช้งานได้บนเครื่องคอมพิวเตอร์ทุกประเภท และระบบปฏิบัติการทุกรูปแบบ ในช่วงแรกที่เริ่มมีการนำภาษาจาวามาใช้งาน จะเป็นการใช้งานบนเครือข่ายอินเตอร์เน็ต เป็นภาษาที่เน้นการทำงานบนเว็บ แต่ปัจจุบันสามารถนำมาประยุกต์สร้างโปรแกรมใช้งานทั่วไปได้ นอกจากนี้ เมื่อเทคโนโลยีของการสื่อสารก้าวหน้าขึ้น จนกระทั่งเครื่องคอมพิวเตอร์ปาล์มท็อป หรือแม้แต่โทรศัพท์เคลื่อนที่สามารถเชื่อมต่อเข้าสู่ระบบอินเตอร์เน็ตและใช้งานระบบเวิร์ดไวด์เว็บได้ ภาษาจาวาก็สามารถสร้างส่วนที่เรียกว่าแอพเพลต (applet) ให้อุปกรณ์อิเล็กทรอนิกส์ที่กล่าวข้างต้นเรียกใช้งานจากเครื่องที่เป็นแม่ข่าย (server) ได้ (9) ภาษาเดลไฟล์ (Delphi) เป็นภาษาที่ได้รับความนิยมมากภาษาหนึ่ง แนวคิดเขียนโปรแกรมภาษาเดลไฟล์เหมือนกับแนวคิดของภษาวิชวลเบสิกคือเป็นการเขียนโปรแกรมเชิงรูปภาพแต่ภาษาพื้นฐานที่ใช้ในการเขียนโปรแกรมจะเป็นภาษาปาสคาล ในการเขียนโปรแกรมเชิงรูปภาพนี้มีคอมโพเนนต์ (component) ที่สามารถใช้เป็นส่วนประกอบเพื่อสร้างส่วนติดต่อผู้ใช้ที่เป็นแบบกราฟิกทำให้ซอฟต์แวร์ที่พัฒนามีความน่าสนใจและใช้งานง่ายขึ้น การเขียนโปรแกรมด้วยภาษาเดลไฟล์จึงเป็นที่นิยมในการนำเป็นพัฒนาโปรแกรมใช้งานมาก รวมทั้งภาษาปาสคาลเป็นภาษาที่เข้าใจง่ายเหมาะแก่การนำมาใช้สอนเขียนโปรแกรม

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

วิวัฒนาการของคอมพิวเตอร์

ความหมายของคอมพิวเตอร์
คอมพิวเตอร์มาจากภาษาละตินว่า Computare ซึ่งหมายถึง การนับ หรือ การคำนวณ พจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ. 2525 ให้ความหมายของคอมพิวเตอร์ไว้ว่า "เครื่องอิเล็กทรอนิกส์แบบอัตโนมัติ ทำหน้าที่เหมือนสมองกล ใช้สำหรับแก้ปัญหาต่างๆ ที่ง่ายและซับซ้อนโดยวิธีทางคณิตศาสตร์"
คอมพิวเตอร์จึงเป็นเครื่องจักรอิเล็กทรอนิกส์ที่ถูกสร้างขึ้นเพื่อใช้ทำงานแทนมนุษย์ ในด้านการคิดคำนวณและสามารถจำข้อมูล ทั้งตัวเลขและตัวอักษรได้เพื่อการเรียกใช้งานในครั้งต่อไป นอกจากนี้ ยังสามารถจัดการกับสัญลักษณ์ได้ด้วยความเร็วสูง โดยปฏิบัติตามขั้นตอนของโปรแกรม คอมพิวเตอร์ยังมีความสามารถในด้านต่างๆ อีกมาก อาทิเช่น การเปรียบเทียบทางตรรกศาสตร์ การรับส่งข้อมูล การจัดเก็บข้อมูลในตัวเครื่องและสามารถประมวลผลจากข้อมูลต่างๆ ได้
วิวัฒนาการของคอมพิวเตอร์
วิวัฒนาการของคอมพิวเตอร์จุดกำเนิดของคอมพิวเตอร์ ต้นกำเนิดของคอมพิวเตอร์อาจกล่าวได้ว่ามาจากแนวความคิดของระบบตัวเลข ซึ่งได้พัฒนาเป็นวิธีการคำนวณต่าง ๆ รวมทั้งอุปกรณ์ที่ช่วยในการคำนวณอย่างง่าย ๆ คือ" กระดานคำนวณ" และ "ลูกคิด"ในศตวรรษที่ 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 ก็ได้รับการยกย่องว่าเป็นนักเขียนโปรแกรมคนแรกของโลก
จากนั้นประมาณปี ค.ศ. 1886 Dr.Herman Hollerith ได้พัฒนาเครื่องจัดเรียงบัตรเจาะรูแบบ electromechanical ขึ้น ซึ่งทำงานโดยใช้พลังงานไฟฟ้า และสามารถทำการ จัดเรียง (sort) และ คัดเลือก (select) ข้อมูลได้ ต่อมาในปี ค.ศ. 1896 Hollerith ได้ทำการก่อตั้งบริษัทสำหรับเครื่องจักรในการจัดเรียงชื่อ Tabulating Machine Company และในปี ค.ศ.1911 Hollerith ได้ขยายกิจการโดยเข้าหุ้นกับบริษัทอื่นอีก 2 บริษัทจัดตั้งเป็นบริษัท Computing -Tabulating-Recording-Company ซึ่งประสบความสำเร็จเป็นอย่างมาก และในปี ค.ศ. 1924 ได้เปลี่ยนชื่อเป็น International Business Corporation หรือที่รู้จักกันต่อมาในชื่อของบริษัท IBM นั่นเอง
ในปี ค.ศ.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 ซึ่งเป็นคอมพิวเตอร์อิเล็กทรอนิส์เพื่อการค้าเครื่องแรกของโลก การพัฒนาที่สำคัญได้เกิดขึ้นมาอีก เมื่อ 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 ทั้งสิ้น ทำให้ผู้ที่จะสามารถโปรแกรมให้เครื่องทำงานได้ ต้องเป็นผู้เชี่ยวชาญเท่านั้นยุคที่ 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) จะทำหน้าที่เชื่อมโยงเครื่องคอมพิวเตอร์ที่อยู่ห่างไกลคนละซีกโลกเข้าด้วยกัน
ชนิดของคอมพิวเตอร์
ชนิดของคอมพิวเตอร์พัฒนาการทางคอมพิวเตอร์ได้ก้าวหน้าไปอย่างรวดเร็วและต่อเนื่อง จากอดีตเป็นอุปกรณ์อิเล็กทรอนิกส์ที่ใช้หลอดสุญญากาศขนาดใหญ่ ใช้พลังงานไฟฟ้ามาก และอายุการใช้งานต่ำ เปลี่ยนมาใช้ทรานซิสเตอร์ที่ทำจากชินซิลิกอนเล็ก ๆ ใช้พลังงานไฟฟ้าต่ำ และผลิตได้จำนวนมาก ราคาถูก ต่อมาสามารถสร้างทรานซิสเตอร์จำนวนหลายแสนตัวบรรจุบนชิ้นซิลิกอนเล็ก ๆ เป็นวงจรรวมที่เรียกว่า ไมโครชิป (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) เป็นไมโครคอมพิวเตอร์สำหรับทำงานเฉพาะอย่าง เช่นเป็นพจนานุกรม เป็นสมุดจนบันทึกประจำวัน บันทึกการนัดหมายและการเก็บข้อมูลเฉพาะบางอย่างที่สามารถพกพาติดตัวไปมาได้สะดวก