วันพุธที่ 26 ตุลาคม พ.ศ. 2554

CLASS พาวเวอร์แอมป์

ในเรื่องการแบ่งคลาสของแอมป์นั้น จะแบ่งจากการไปอัดกระแสไฟให้กับทรานซิสเตอร์หรือ มอสเฟส ที่ทำหน้าที่ในวงจรขยายเสียง

1. Class A พาวเวอร์แอมป์ชนิดนี้เน้นในเรื่องของคุณภาพเสียง ค่าความเพี้ยนตํ่า และเสียงรบกวนน้อย แต่มีข้อเสียในเรื่องของความร้อนที่ค่อนข้างจะสูงเพร าะมีการป้อนกระแสไฟให้ทรานซิสเตอร์อยู่ตลอดเวลา ถึงแม้จะไม่มีสัญญาณอินพุทเข้ามาก็ตาม และกำลังขับที่ได้นั้นก็ค่อนข้างจะน้อย แอมป์ประเภทนี้จึงเหมาะกับนักฟังที่เน้นรายละเอียดขอ งเสียงกลาง-แหลม ไม่เน้นอัดตูมตาม เป็นที่เอาเล่นแบบที่ว่าจะฟังเสียงใสๆๆๆนะครับ วัตต์จะไม่ค่อยแรงเท่าไร ราคา เอาเรื่องเหมือนกัน

2. Class B เป็นการใช้ทรานซิสเตอร์ 2ตัว ทำงานแบบ Push-Pull หรือ ผลัก ดัน ช่วยกันทำงานคนละครึ่งทาง และจะไม่มีการป้อนกระแสไฟล่วงหน้า ซึ่งมีข้อดีคือเครื่องไม่ร้อน แต่ข้อเสียกลับมากกว่าเพราะความผิดเพี้ยนสูงมาก เสียงจึงไม่มีคุณภาพ แต่ในปัจจุบันแอมป์ คลาสนี้คงจะไม่มีแล้ว

3. Class AB เป็นการรวมตัวกันของแอมป์ทั้ง 2คลาสที่กล่าวมา คือใช้ทรานซิสเตอร์ 2ตัว แต่จะมีการป้อนกระแสไฟปริมาณตํ่าๆเอาไว้ล่วงหน้าอยู่ ตลอดแต่จะไม่มากเท่าคลาส A และการจัดวงจรก็ใช้แบบ Push-Pull เหมือนคลาส B จึงทำให้พาวเวอร์แอมป์ประเภทนี้มีคุณภาพเสียงที่ค่อน ข้างดี ถึงแม้จะไม่เท่าคลาส A แต่ได้เปรียบในเรื่องของกำลังขับที่มากกว่า และเกิดความร้อนน้อยกว่า และคลาส AB นี้แหละเป็นแอมป์ที่นิยมมากที่สุดในปัจจุบัน และสามารถนำไปขับได้ทั้งลำโพงกลาง-แหลม หรือแม้แต่ซับวูเฟอร์ก็ได้

4. Class D เป็นพาวเวอร์แอมป์กำลังขับสูง เน้นหนักในเรื่องพละกำลังเพียงอย่างเดียว แอมป์ชนิดนี้ถูกออกแบบมาสำหรับขับซับโดยเฉพาะ เหมาะกับพวกที่ชอบฟังเพลงหนักๆ เน้นพลังเบส กระแทกแรงๆ แบบนี้เป็นแอมป์ที่เรา นิยมมาขับซัพ กันเพราะมีวัตต์สูง แต่ก้อมีความเพี้ยนมากพอดู

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

6.CLASS T
 คือคือการนำเอาข้อดีในด้านประสิทธิภาพของแอมป์คลาสดี กับ คลาส เอบี มารวมกันเพือให้ได้เสียงดี และมีวัตต์ที่สูงขึ้น การจัดวงจรจะใกล้เคียงกับ คลาส h มาก แต่จะมีการกินกระแสมากว่าครั

วันจันทร์ที่ 8 สิงหาคม พ.ศ. 2554

หุ่นยนต์เล่นปิงปอง



หุ่นยนต์เล่นปิงปองจากเวียดนาม

TOPIO หุ่นยนต์เล่นปิงปองที่ถูกประดิษฐ์ขึ้นโดยกลุ่มวิศวกรของบริษัท TOSY ที่กรุง HANOI ได้รับความสนใจเป็นอย่างมากในงาน “International Robot Exhibition 2007” ซึ่งเป็นงานนิทรรศการหุ่นยนต์ที่ใหญ่ที่สุดของโลก ที่จัดขึ้นเมื่อวันที่ 28 พฤศจิกายน 2550 ที่กรุงโตเกียว ประเทศญี่ปุ่น

TOPIO ย่อมาจาก “Tosy Pingpong Playing Robot” เป็นหุ่นยนต์ที่มีหัว แขนสองข้าง และมีขาหกขาช่วยให้หุ่นยนต์สามารถเคลื่อนไหวได้อย่างรวดเร็ว “หุ่นยนต์นักกีฬา” ตัวนี้ทำจากคาร์บอนผสมที่มีความทนทานสูงและเบา ซึ่งช่วยให้หุ่นยนต์สามารถเคลื่อนไหวได้อย่างคล่องแคล่ว

TOPIO มีกล้องจับความเร็วสูงสี่ตัวและติดตั้งคอมพิวเตอร์สองเครื่องสามารถรับรู้ทิศทางและความหมุนเร็วของลูกปิงปองหลังจากลูกปิงปองถูกตีออกจากไม้ตีของคู่ต่อสู้ และตีโต้กลับได้อย่างรวดเร็วและรุนแรง

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

นอกจากนั้น TOPIO ยังสามารถเสิร์ฟบอลได้เอง คำนวณ ประกาศคะแนน และแสดงความรู้สึกออกมาแบบตลก ๆ หลังจากการชนะหรือแพ้คู่แข่งขัน

วิศวกร Ho Vinh Hoang หัวหน้าโครงการ TOPIO เปิดเผยว่า “หุ่นยนต์ TOPIO ใช้เวลาในการพัฒนา 2 ปี ซึ่งตัวที่นำออกสู่สายตาสาธารณชนในครั้งนี้เป็นตัวจำลองเริ่มแรกเพื่อทดลองความคล่องตัวความถูกต้องแม่นยำ และความฉลาดในการควบคุมลูกปิงปองที่มีความเร็วสูงเพื่อเป็นพื้นฐานให้กับตัวจำลองต่อไป โดยหุ่นยนต์ TOPIO ตัวต่อไปจะได้พัฒนาให้มีขาสองข้างเคลื่อนไหวเหมือนคน โดยพวกเราไม่เพียงคาดหวังว่าหุ่นยนต์ TOPIO จะเล่นปิงปองชนะคนเท่านั้น แต่ยังจะสามารถเล่นกีฬาชนิดต่างๆ อย่างเช่น วิ่ง เล่นฟุตบอล มวย รำดาบ ปีนต้นไม้ ฯลฯ ได้อีกด้วย และสามารถประยุกต์ใช้ได้ในชีวิตประจำวันได้ต่อไป”

นิทรรศการ “International Robot Exhibition 2007” จะมีขึ้นตั้งแต่วันที่ 28 พฤศจิกายน ถึงวันที่ 2 ธันวาคม 2550 ซึ่งถือเป็นสถานที่ที่หุ่นยนต์ TOPIO ปรากฏตัวเป็นครั้งแรก โดยหุ่นยนต์ตัวนี้ยังไม่ได้เป็นที่รู้จักกันอย่างแพร่หลายในประเทศเวียดนามมากนัก

นับตั้งแต่วันเปิดงานหุ่นยนต์จากเวียดนามตัวนี้ได้สร้างความแปลกใจให้แก่ผู้ชมที่มาจาก 100 ประเทศทั่วโลก และได้รับคำเชิญชวนให้มาร่วมงานนิทรรศการสินค้าเทคโนโลยีชั้นสูงที่ประเทศสหรัฐอเมริกาและเยอรมันนีต่อไป และอาจจะกลับมาแสดงที่ประเทศญี่ปุ่นอีกครั้งในปีหน้า

โดยงานต่อไปที่ TOPIO จะไปแสดง คือ งาน Spielwarenmese toy Fair ที่เมือง Nurembug ประเทศเยอรมันนี ในต้นเดือนกุมภาพันธ์ 2551 

วันพฤหัสบดีที่ 4 สิงหาคม พ.ศ. 2554

ภาษา Java


กำเนิดของภาษา Java มีสาเหตุเริ่มต้นจากความยุ่งยากในการพัฒนาโปรแกรมใช้งาน (application) สำหรับระบบอินเทอร์เน็ต ทั้งนี้เพราะระบบอินเทอร์เน็ตเป็นระบบเปิดที่สามารถใช้งานจากเครื่องคอมพิวเตอร์ประเภทใด ๆ ก็ได้ ไม่ว่าจะเป็นเครื่องพีซี, แมคอินทอช, ซัน, เครื่องมินิคอมพิวเตอร์ไปจนถึงเครื่องระดับซูเปอร์คอมพิวเตอร์ จึงนับว่าเป็นข้อดีคือทำให้เราสามารถเข้าสู่ระบบอินเทอร์เน็ตได้ไม่ว่าเราจะใช้เครื่องคอมพิวเตอร์ประเภทใดก็ตาม
แต่ปัญหาของข้อดีดังกล่าวก็คือ ยังไม่มีโปรแกรมใช้งานสำหรับอินเทอร์เน็ตโปรแกรมใดเลยที่สามารถนำมาใช้งานได้กับเครื่องหลายหลากประเภทเหล่านี้ ได้เหมือน ๆ กันโปรแกรมใช้งานที่พัฒนาขึ้นมาใช้กับเครื่องแบบพีซีไม่สามารถนำมาใช้กับเครื่องแมคอินทอชหรือเครื่องซันได้หรืออาจใช้งานได้แต่ก็ไม่สามารถทำงานอย่างเต็มประสิทธิภาพครับ
ดังนั้นในปี พ.ศ. 2534 บริษัท ซัน ไมโครซิสเต็มส์ (Sun Microsystems, Inc.)จึงได้พัฒนาภาษาคอมพิวเตอร์ใหม่ที่มีประสิทธิภาพในการทำงานชนิดไม่ยึดติดกับแพลตฟอร์มขึ้นมาโดยตั้งวัตถุประสงค์ไว้ให้เป็นภาษาที่ทำหน้าที่เหมือน
กล่องอุปกรณ์เคเบิลทีวี ที่เพียงแต่ผู้ใช้กดปุ่มรีโมตสั่งงานเท่านั้น ก็สามารถสั่งให้ทีวีทำงานได้ตามที่เราต้องการ
สามารถติดต่อกลับไปยังผู้ให้บริการเพื่อขอชมภาพยนต์ที่เรียกว่า pay-per-view คือดูภาพยนตร์ที่ต้องจ่ายเงินเป็นเรื่อง ๆ ไปโดยไม่จำเป็นต้องไปยุ่งเกี่ยวกับกระบวนการทำงานของอุปกรณ์เลยใครที่เป็นสมาชิกเคเบิลทีวีไม่ว่าจะเป็นแบบใช้จานดาวเทียมหรือเดินตามสายโทรศัพท์คงคุ้นเคยกับอุปกรณ์ที่ว่านี้ดี
Java นับเป็นภาษาคอมพิวเตอร์ภาษาแรกของโลกที่ถูกออกแบบให้มีคุณสมบัติพิเศษด้านเทคนิค สามารถสร้างโปรแกรมใช้งานจากเครื่องคอมพิวเตอร์ประเภทหนึ่งแล้วนำไปใช้ได้กับเครื่องอีกประเภทหนึ่งที่อยู่ภายในเครือข่ายเดียวกัน หรือต่างเครือข่ายได้โดยไม่ยึดติดกับแพลตฟอร์มหรือประเภทของเครื่องคอมพิวเตอร์อีกต่อไปโปรแกรมเมอร์ไม่ต้องกังวลว่าเมื่อเขียนโปรแกรมเสร็จแล้วจะทำงานกับเครื่องคอมพิวเตอร์ที่บ้านหรือที่บริษัทไม่ได้ เพราะ Java สามารถทำงานได้กับเครื่องคอมพิวเตอร์ทุกยี่ห้อ (มีข้อแม้ว่าต้องใช้โปรแกรมเว็บเบราเซอร์ที่สนับสนุนภาษา Java) ซึ่งก็คงไม่เป็นปัญหาใด ๆ
เพราะปัจจุบันมีเครื่องคอมพิวเตอร์นับสิบประเภทที่สามารถใช้งานกับ Java ได้แล้ว
จุดที่ทำให้ภาษา Java กลายเป็นดาวเด่นในวงการคอมพิวเตอร์และอินเทอร์เน็ตอยู่ที่ความสามารถในการสร้างโปรแกรมขนาดเล็กที่เรียกว่า แอปเพล็ต (applet) สำหรับใช้งานผ่านเน็ตเวิร์กร่วมกับเว็บเบราเซอร์ที่สามารถทำงานกับโปรแกรมคำสั่งที่สร้างจาก Java Compiler ได้

ปัจจุบันมีการสร้างแอปเพล็ตขึ้นใช้งานเป็นจำนวนมาก เมื่อครั้งที่ยานอวกาศโซเจอเนอร์ลงไปสำรวจดาวอังคารเมื่อเดือนกรกฎาคม 2540 มีการสร้างโฮมเพจเกี่ยวกับการสำรวจในครั้งนี้ที่ใช้จาวาแอปเพล็ตแสดงสภาพดาวอังคารให้ผู้เข้าเยี่ยมชมเป็นที่ฮือฮากันมาก นอกจากนี้ยังมีการแจกจ่ายแอปเพล็ตสำเร็จรูปให้ใช้ฟรีอีกผู้ที่สนใจสามารถติดตามเสาะหาได้จากเว็บไซต์ของบริษัทซันฯ ที่ http://java.sun.com/
นอกเหนือจากความสามารถที่จัดว่ายอดเยี่ยมของภาษาแล้ว Java ยังได้รับการสนับสนุนจากบริษัทผู้ผลิตซอฟต์แวร์รายใหญ่ของโลกมากมาย ไม่ว่าจะเป็นไมโครซอฟต์,เน็ตสเคปคอมมิวนิเคชันส์, บอร์แลนด์, ออราเคิล ฯลฯ เพียงเท่านี้ก็เป็นที่น่าเชื่อแล้วว่าภาษานี้ต้องดีเลิศเป็นแน่ครับ
Java เป็นภาษาแบบอินเตอร์แอคทีฟที่มีข้อแตกต่างจากภาษาอื่นคือ Java จะทำการ คอมไพล์ (compile) คำสั่งจาก ซอร์ซโค้ด (source code) ให้กลายเป็นรหัสภาษากลางที่เรียกว่า ไบต์โค้ด (byte code) มีคุณลักษณะเด่นคือ มีขนาดเล็ก สามารถนำไปประยุกต์ใช้งานได้สะดวกรวดเร็วโดยเตรียมโปรแกรมไว้บนเครื่องServer และเมื่อมีการเรียกใช้งานจากเว็บเบราเซอร์ Server จะทำการส่งข้อมูลโปรแกรมดังกล่าวกลับ เพื่อให้เว็บเบราเซอร์สั่งให้ทำงาน (run) ต่อไป
Java ถูกจัดให้เป็นภาษาคอมพิวเตอร์ระดับสูงเช่นเดียวกับภาษา Fortran, Cobol, C , Pascal หรือ Basic เป็นภาษาที่มีเสถียรภาพการทำงานสูงใช้โครงสร้างการเขียนโปรแกรมเป็นแบบ อ็อบเจ็กต์โอเรียนเต็ด (Object-Friented Programmimg หรือ OOP) มีโครงการสร้างของภาษาคล้ายกับภาษา C++ ซึ่งก็แน่นอนอยู่แล้ว เพราะ Java ใช้ภาษา C++ เป็นต้นแบบในการพัฒนาขึ้นมานี่ผู้ที่มีความรู้ด้านภาษา C++ มาก่อนก็หวานสิครับ

การทำ backup ฐานข้อมูล ออราเคิล


การ Backup ข้อมูลเป็นส่วนหนึ่งที่มีความสำคัญ ในการทำงานแต่ละวันจะมีข้อมูลเพิ่มขึ้นๆทุกวัน หากข้อมูลเกิดการเสียหาย สิ่งที่ทำการ Backup เอาไว้ก็จะนำกลับมาใช้
การ สำรองข้อมูล ฐานข้อมูล ออราเคิล (Backup Oracle Database ) ด้วยเครื่องมือ RMAN (Recovery Manager) สามารถทำ backup ได้ ทั้งแบบ Full Backup กับ Incremental Backup และ Incremental Backup ยังแบ่งย่อยได้ ออกเป็น Cumulative incremental backup กับ Differential incremental backup อีก แล้วการ backup ทั้ง 3 แบบ แตกต่างกันอย่างไร ?
Full Backup
ชื่อ ก็ บอกแล้วครับ ว่าเป็น Full (ทั้งหมด) นั่นคือ จะ backup block ที่มีข้อมูลอยู่ทั้งหมด ไม่ว่าจะ backup มาแล้วในวันก่อนๆ หรือไม่
 
รูป Full Backup ด้านบน สมมติว่า เรามีการใส่ข้อมูลลงใน Block เพิ่มขึ้น วันละ 1 block เมื่อสิ้นวัน มีการทำ full backup เอาไว้ เวลาทำการ backup มันจะเอา เนื้อ data ทั้งหมดไป ไม่สนใจว่า block นั้น จะเคยโดน backup ไปแล้วในวันก่อนหน้า หรือ ไม่ .. พูดง่ายๆ คือ backup ทบต้นตั้งแต่แรก นั่นเอง
 
--------------------------------------------------------------------------------

Incremental Backupincrement = เพิ่มขึ้น .. การทำ incremental backup ก็คือ การ backup เอาเฉพาะเนื้อ data ส่วนที่เพิ่มขึ้นมา นั่นเอง ซึ่งการ backup ครั้งแรก เราต้อง backup เป็น level 0 (ซึ่งคือ full backup) ก่อน เพื่อนำมาเป็นฐาน (based backup) แล้วจึงทำการ backup level 1 ซึ่งเป็นการเอาเฉพาะส่วนที่เพิ่มเติมจาก level 0 มาเก็บ (จริงๆ สามารถทำได้อีกหลาย level แต่เพื่อสร้างพื้นฐาน incremental backup ให้เข้าใจง่ายๆ ผมขอใช้แค่ level 0 กับ level 1 )
Incremental Backup ยังแบ่งย่อย ลงได้อีก 2 แบบ คือ
Cumultaive incremental backup
Differential incremental backup


Cumultaive incremental backup
 การทำ cumulative backup จะทำการ backup ส่วนที่เพิ่มต่อ/เปลี่ยนแปลง หลังทำ incremental backup ล่าสุด ที่ level ต่ำกว่ามัน (ในที่นี้คือ ต่อจาก level 0 )
สมมติ ว่า เรามีการใส่ข้
สังเกต ว่า วันที่ day3 กับ day4 มีการ backup block ของวันก่อนหน้า (ที่เป็น level 1 เท่ากัน) บวกกับ ส่วนที่เพิ่มขึ้นมา ณ วันที่แบ็คอัพ สะสมกันไปแบบนี้ จึงเรียกว่า cumulative (สะสม) backup นั่นเอง

Differential incremental backup
 การทำ differential backup จะทำการ backup ส่วนที่เพิ่มต่อ/เปลี่ยนแปลง หลังทำ incremental backup ล่าสุด ที่ level เท่ากับ หรือ ต่ำกว่ามัน (ในที่นี้คือ ต่อจาก level 0 และ level 1 ของวันก่อนหน้า ) สมมติว่า เรามีการใส่ข้อมูลลงใน Block เพิ่มขึ้น วันละ 1 block เมื่อสิ้นวัน มีการทำ differential backup เมื่อดูรูป ด้านบน จะเห็นว่า
day 1 เป็นการ backup ครั้งแรก ต้องเป็น level 0 (คือ full backup) เพื่อเป็นฐาน ดังนั้น วันนี้จะได้ block1 ไปเก็บ
day 2 ทำ level 1 จะ backup ส่วนที่ต่อจาก level เท่ากับหรือต่ำกว่ามัน ดังนั้น วันนี้จะได้ block2 ไปเก็บ
day 3 ทำ level 1 จะ backup ส่วนที่ต่อจาก level เท่ากับหรือต่ำกว่ามัน ดังนั้น วันนี้จะได้ block3 ไปเก็บ
day 4 ทำ level 1 จะ backup ส่วนที่ต่อจาก level เท่ากับหรือต่ำกว่ามัน ดังนั้น วันนี้จะได้ block4 ไปเก็บ
ใน การใช้ RMAN ถ้าเราบอกว่าให้แบ็คอัพแบบ incremental backup โดยไม่ระบุว่าเป็น differential หรือ cumulative มันจะเป็น differential โดย default ครั

โครงสร้างพื้นฐานของภาษา C++


โครงสร้างของโปรแกรม
ส่วนประกอบของโปรแกรมภาษาซี อาจแบ่งออกได้ดังต่อไปนี้

     1. คอมไพเลอร์ไดเรกทีฟ(Compiler directive) เป็นส่วนของโปแกรมที่ใช้สำหรับเป็นตัวบอกคอมไพเลอร์ว่าให้รวมไฟล์ต่างๆ ที่กำหนดไว้ในส่วนนี้กับตัวแปรที่เขียนขึ้น โดยต้องเขียนตามรูปแบบที่กำหนดไว้ดังนี้

    # include < ชื่อไฟล์.h > เช่น #include < stdio.h >
เขียนลักษณะนี้จะบอกคอมไพเลอร์ว่า ขณะคอมไพล์โปรแกรมที่ผู้ใช้เขียนเองให้นำข้อมูลในไฟล์ stdio.h มารวมด้วย เพราะขณะใช้คำสั่งต่าง ๆ เช่น scanf( ) หรือ printf( ) จำเป็นต้องเกี่ยวข้องกับไฟล์ stdio.h ด้วยจึงจะใช้งานได้

   พูดโดยสรุป .h หมายถึงไฟล์ประเภท header ซึ่งเป็นไฟล์ที่เก็บรวบรวมฟังก์ชันมาตราฐานต่าง ๆ ไว้ให้ ผู้ใช้เลือกใช้ตามความจำเป็น

     2.ตัวโปรแกรม(body) เป็นส่วนที่ผู้ใช้ต้องเขียนขึ้นเองโดยนำเอาคำสั่งหรือฟังก์ชันมาตราฐานต่าง ๆ มาเรียบเรียงกันขึ้นเป็นโปรแกรม (เหมือนกับแต่งเพลงสักเพลงหนึ่งเลยแหละครับ) เพื่อสั่งให้ คอมพิวเตอร์รับข้อมูลจากอุปกรณ์อินพุตประมวลผลแล้วก็ให้ผลลัพธ์ตามที่เราต้องการ ส่วนนี้นะครับส่วนมาจะเขียนขึ้นต้นด้วย main( ) ซึ่งหมายถึงการเรียกใช้ฟังก์ชัน main( ) นั่นเอง และตามด้วยโปรแกรมหลักที่ประกอบด้วยคำสั่งต่าง ๆ ภายในเครื่องหมายวงเล็บปีกกา " { "คำสั่งต่าง ๆ"}" ซึ่งภายในนี้จะประกอบด้วยส่วนต่าง ๆ ดังนี้ครับ
    2.1 ส่วนการประกาศตัวแปร (declaration) เป็นส่วนของโปรแกรมที่บ่งบอกถึงชนิดและชื่อตัวแปร หรือฟังก์ชั่นย่อย
    2.2 ส่วนนำเข้าข้อมูล (Input) เป็นส่วนที่ใช้ในการนำข้อมูลจากอุปกรณ์อินพุตเข้ามา อาจจากแป้นพิมพ์ แผ่นดิสก์ และอื่น ๆ โดยใช้คำสั่ง หรือฟังก์ชันมาตราฐานเป็นตัวช่วย เช่น scanf( ) getch( )
kbhit( ) หรืออื่น ๆ
    2.3 ส่วนกำหนดค่า/หรือคำนวณ (assignment or computation) ส่วนนี้ใช้ในการกำหนดค่าให้กับตัวแปร เช่น ในตัวอย่าง 2.1 กำหนดค่าแรงดัน v=220.0;หมายถึงกำหนดให้ตัวแปร v แทนค่าแรงดันไฟฟ้า 220 โวล์
    2.4 ส่วนแสดงผลลัพธ์ (Output)ส่วนนี้ใช้ในการนำผลลัพธ์จากการประมวลผลออกมาแสดงทางอุปกรณ์เอาต์พุต เช่น ทางจอมอนิเตอร์ เครื่องพิมพ์

3. ส่วนคำอธิบายโปรแกรม (Comment Lines) ส่วนนี้ใช้ในการอธิบายโปรแกรมอาจพิมพ์ข้อความ สูตรหรือ อื่น ๆ ที่เกี่ยวข้องกับโปรแกรม ส่วนของโปรแกรมส่วนนี้จะมีหรือไม่มีก็ได้ ถ้าต้องเขียนให้เริ่มต้นด้วยเครื่องหมาย /* ตามด้วยข้อความที่ต้องการ แล้วปิดท้ายด้วย */(เครื่องหมาย / และ * ต้องเขียนติดกันเสอ) ดังแสดงในบรรทัดต่างๆ ในตัวอย่าง 2.1
ตัวอย่างที่ 2.1 แสดงวิธีการเขียนส่วนต่าง ๆ ของโปรแกรมเบื้องต้น
    /* The first example program */  /* <-- ส่วนคำอธิบายโปรแกรม(comment lines) */
    /* Example 2.1 */
    /* Copyright (c) by T.Chaiyut */
     # include  <stdio.h>   /*<-- คอมไพเลอร์ไดเรกทีฟ (compiler directive)*/
     # include  <conio.h>
    /* Begin the Body of the program --> */
    main ()
    {
     float p,v,i;  /* <-- ส่วนการประกาศตัวแปร(Declarations) */
     char ch;
     clrscr ();   /*<-- เรียกใช้ฟังก์ชันมาตราฐานสำหรับการเคลียหน้าจอ*/
     v = 220.0;   /*<-- ส่วนกำหนดค่า (Assignment) */
     /*Output message on screen -->*/
     printf("Enter Current : ");
     scanf("%f",&i); /* <-- Input (ส่วนนำเข้าข้อมูล)*/
     printf("\n"); /*<--Output */
     p= v*i; /*<-- Computation(ส่วนของการคำนวณ)*/
     /*ส่วนของการแสดงผล(Begin Output result on screen)*/
     printf("The voltage = %f volts\n",v);
     printf("The current = %f amperes\n",i);
     printf("The power = %f watts\n",p);
     printf("\n\n   P= V x I \n");
     printf("%11.2f = %5.2f x %5.2f\n",p,v,i);
     getch(); /* <-- Function call */
    }   /*End main()*/  download ตัวอย่าง2.1

ระบบ client server บนเครือข่าย computer network


DNS (Domain Name System)

   DNS เป็นตัวจัดลำดับชั้น ของชื่อเครื่องคอมพิวเตอร์ และทรัพยากรอื่นในระบบเครือข่ายที่ใช้ IPเพื่อการใช้งานที่ง่ายขึ้น DNS ได้ถูกนำมาใช้บนเครือข่ายเพื่อจัดให้มีมาตรฐานการตั้งชื่อเครื่องคอมพิวเตอร์ที่ทำให้สามารถระบุตำแหน่งของเครื่องคอมพิวเตอร์ที่ใช้ IPได้โดยสะดวก DNS สร้างขึ้นเพื่อเป็นการปรับปรุงวิธีการตรวจสอบชื่อเครื่องแม่ข่ายและแปลงให้เป็น IP Addressในระบบ DNS เครื่องลูกข่าย (เรียกว่า Resolver) จะส่งคำร้องขอไปยัง Name Server ซึ่งเป็นเครื่องคอมพิวเตอร์ซึ่งทำหน้าที่ในการวิเคราะห์ชื่อนั้น และส่งผลลัพธ์ที่เป็น IP Address กลับไปส่วน DomainName Space คือการจัดกลุ่มโดเมนตามลำดับชั้น Root - Level , Top - Level , Second - Level และ Host Name เครื่องคอมพิวเตอร์เครื่องใดที่มีหน้าที่รับผิดชอบในส่วนของ DomainName Space เรียกว่า Zone of Authority หลักการคือช่วยแปลง IP มาเป็นชื่อเช่น 203.154.220.254 มาเป็น www.chandra.ac.th เพราะจำง่ายกว่าหมายเลข IP

DHCP (Dynamic Host Configuration Protocol)

 DHCP เป็น Protocol ที่ทำหน้าที่ ให้ค่า IP address และ NetworkConfiguration ต่างๆให้กับClient ใน
ระบบเครือข่าย ซึ่งสามารถทำงานร่วมกับBootP Server และ Client ได้อย่างครบถ้วนมีคำที่เราต้องทราบความหมายต่าง ๆ ดังนี้
  DHCP Client : เครื่อง Host ที่ทำการร้องขอ Configuration ต่าง ๆ DHCP Server : เป็น DHCP Host ซึ่งให้ค่า ต่าง ๆ ที่ Client ร้องขอมา BootP relay agent: เป็น Protocol ที่ยอมให้ packet ของ BootP และ DHCP ส่งผ่านต่อไปยัง Router ได้
Binding :
ค่าพารามิเตอร์ของ Configuration การ IP address ซึ่งถูกรวมเข้ากับ Host  DHCP จะจัดเตรียมกลไกในการลำเลียง สำหรับการส่งผ่านค่า Configuration ไปยัง hostที่ร้องขอใน TCP/IP network ข้อมูลต่าง ๆ จะขึ้นอยู่กับ host และ RFC(1122,1123,1112,etc)หลังจากได้รับค่าต่าง ๆ แล้วมันควรจะติดต่อสื่อสารกับ host อื่น ในinternet ได้ DHCP มีพื้นฐานของ BootP มันถูกออกแบบมาให้ใช้ร่วมกับ BootP ได้ DHCP message จะมี format ที่เหมือนกับ BootP DHCP address รองรับ "leased" IP addressและ ฟังก์ชันการทำงานอื่น ที่เพิ่มขึ้นจะอธิบายไว้ใน RFC 2132 DHCP ประกอบด้วย 2 ส่วนProtocol สำหรับส่งค่าการกำหนด Configurationของclient และ ความสามารถในการจัดสรร IP address ซึ่งอยู่บนพื้นฐานของระบบ Client/Server เครื่องClient จะร้องขอ information จาก Server และสามารถระบุ Server ที่ต้องการขอinformationได้เพื่อให้ง่ายต่อการที่ Server จะส่งข้อมูลมาให้ตัวServer ต้องกำหนดค่า Configuration เริ่มต้น เพื่อจัดการกำหนดค่าให้กับ Client ที่ร้องขอมา หรือละเลยคำร้องขอนั้น IP Address Allocation

DHCP มีวิธีในการส่ง IP address 3 วิธี คือ

 - Automatic allocation
 - Dynamic allocation
 - Manual allocation
1. Automatic allocation เป็นการให้ค่า IP address แบบตรงกับเครื่อง Client ที่ร้องขอมา
2. Dynamic allocation จะให้ IP address กับ client ที่ร้องขอมา ตามเวลาที่ได้กำหนดไว้
3. Manual allocation เป็นความสามารถในการ Config IP address ให้กับ client ใหม่
 ความแตกต่างกับ Automatic allocation คือ IP address จะถูกกำหนดค่า Config ให้ client ก่อนโดยSystem
administrator ขณะที่ automatic allocation จะให้ IP กับ client แล้วแต่ Server จะกำหนดค่า client ไม่ได้กำหนด
Config เริ่มต้นไว้ก่อน
 - DHCP Messages ..........ชนิดของ Messagesที่ใช้ในการติดต่อระหว่าง Client/Server
 - DHCP Discover client .....จะ broadcast packet ออกไป เพื่อหาตำแหน่งที่อยู่ของตัว Server
 - DHCP Offer......................... เป็นการตอบสนองจาก Server ไปยัง client จาก DHCP Discover    packet.ของ client พร้อมทั้งให้ค่า Configuration ของตัว Server
DHCP Request message จาก client ไปยัง Server สำหรับจุดประสงค์อย่างใดอย่างหนึ่ง ดังนี้
- Requestion ร้องขอค่า พารามิเตอร์จาก Server ตัวหนึ่งและปฏิเสธค่าจาก Server ตัวนั้น
- Confirming ยืนยันความถูกต้องของ address ที่ได้ก่อนหน้านี้
- Extending เพื่อขยายเวลาของ network address ที่เหมาะสม
DHCP ACK เป็น massage จาก Server ถึง client ซึ่งประกอบด้วยค่า Configuration
DHCP NAK เป็น massage จาก Server ถึง client เพื่อแสดงว่า network address client  นั้นผิดหรือ network address client นั้นหมดอายุ
DHCP decline เป็น massage จาก client to server เพื่อแจ้งว่า network address ที่ได้จาก  server นั้นถูกใช้งานอยู่แล้ว
DHCP release เป็น massage จาก client-to-server เพื่อยกเลิก network addressและเวลาเช่าที่เหลืออยู่
DHCP Inform เป็นค่าใหม่ใน RFC 2131 เป็น massage จาก client-to-server สอบถาม เฉพาะค่า local configuration ค่า client มีค่า configuration ของ network address ภายนอกอยู่แล้ว
กระบวนการทำงานของ DHCP
ตาราง แสดงลำดับการทำงานของ DHCP (Microsoft Corporation 1996)
Source MAC Address Dest MAC Address Source IP Address Dest IP Address Packet Description
Client Broadcast 0.0.0.0 255.255.255.255 DHCP Discover
DHCP server Broadcast DHCP server 255.255.255.255 DHCP Offer
Client Broadcast 0.0.0.0 255.255.255.255 DHCP Request
DHCP server Broadcast DHCP server 255.255.255.255 DHCP ACK
FTP Server

เครื่องคอมพิวเตอร์ที่มีประสิทธิภาพสูงทำหน้าที่เป็น Server ให้บริการโอนถ่ายข้อมูลหรือ Download ข้อมูล


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

Web Server

  เป็นเครื่องคอมพิวเตอร์ที่ให้บริการข้อมูลต่าง ๆ ...ให้กับเครื่อง Client..... โดยผ่านทางโปรแกรม Browser

File Server 
 ทำหน้าที่จัดเก็บไฟล์. โดยการจัดเก็บไฟล์จะทำเสมือน...เป็นฮาร์ดดิสก์รวมศูนย์ ( Centralizeddisk storage ) เสมือนว่าผู้ใช้งานทุกคนมีที่เก็บข้อมูลอยู่ที่เดียว เพราะควบคุม-บริหารง่าย การสำรองข้อมูล การ Restore ง่าย ข้อมูลดังกล่าว
Shared .ให้กับ Client ได้ โดยส่วนมากข้อมูลที่อยู่ใน File Server คือ โปรแกรมและข้อมูล (Personal Data File)โดย
ปกติแล้วเซิร์ฟเวอร์ไม่มีหน้าที่ต้องประมวลข้อมูลเหล่านี้ เป็นเพียงแหล่งเก็บข้อมูล ปัจจุบัน File Server ไม่ได้ทำหน้าที่เพียงจัดเก็บไฟล์แบบ Local แล้ว แต่มีผู้ให้บริการพื้นที่ฟรีในฮาร์ดดิสก์หลายๆ...แห่งให้บริการพื้นที่ฟรีผ่านอินเตอร์เน็ตด้วย เช่น 100MB..200 MB ..ซึ่งเหมาะสำหรับการเก็บไฟล์ที่ต้องการสำรองไว้ นอกจากนี้บางแห่งเสนอรูปแบบ การให้บริการ จัดเก็บรูปภาพ เป็นอัลบั้มรูปภาพเลย การทำงานของเซิร์ฟเวอร์ที่เป็น File Server นั้น ในทางเทคนิคแล้วยังไม่เรียกว่าเป็น"Client/Server"เพราะไม่มีการแบ่งโหลดการทำงานระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ แต่หน้าที่ที่ File Server จะต้องจัดการคือ มี NOS (Network Operating System ) ที่ดูแลการ "เข้าถึง" ไฟล์ ต้องมีกระบวน "Lock" ไว้ ไม่ให้เกิดความซ้ำซ้อนในารแก้ไขไฟล์ เช่น ขณะที่ผู้ใช้งานคนที่ 1 เปิด ไฟล์ A และกำลังแก้ไข ( edit ) อยู่ ผู้ใช้งานคนที่สองจะเปิดไฟล์ A เพื่อแก้ไขไม่ได้ (แต่เปิดเพื่ออ่าน Read Only ได้) แต่ถ้าหากข้อมูลนั้นเป็น Database แทนที่ไฟล์ หรือฐานข้อมูลทั้งฐานข้อมูลจะถูก Lock กระบวนการ Lock ก็อาจจะเกิดเฉพาะ Record (Row) นี้เป็นหน้าที่ของ NOS และ Application ที่ใช้งาน
 Print Server  เหตุผลที่ต้องมี Print Server ก็คือ เพื่อแบ่งให้พรินเตอร์ราคาแพงบางรุ่นที่ออกแบบมาสำหรับการทำงานมากๆ
เช่น HP Laser 5000 พิมพ์ได้ 10 - 24 แผ่นต่อนาที พรินเตอร์ประเภทนี้ ความสามารถในการทำงานสูง ถ้าหากซื้อมาเพื่อ
ใช้งานเพียงคนเดียวแต่ละวันพิมพ์ 50 แผ่นก็ไม่คุ้มค่าดังนั้นจึงต้องมีกระบวนการจัดการแบ่งปันพรินเตอร์ดังกล่าวให้กับผู้ใช้ทุกๆคนในสำนักงาน หน้าที่ในการแบ่งปันก็ประกอบด้วย การจัดคิว ใครสั่งพิมพ์ก่อน การจัดการเรื่อง File Spooling เป็นของเซิร์ฟเวอร์ ที่มีชื่อว่า Print Server มีองค์กรไม่กี่แห่งที่ลงทุนซื้อเซิร์ฟเวอร์มาเพื่อใช้สำหรับเป็น Print Server ดยเฉพาะ แต่จะใช้วิธีเอาเซิร์ฟเวอร์ที่ซื้อมาเพื่อเป็น File Server , Data Base server ทำเป็น Print Server ไปด้วย
 Database Server
 Database Server หมายถึง เซิร์ฟเวอร์ที่มีไว้เพื่อรันระบบที่เป็นฐานข้อมูล DBMS ( DataBase Management System ) เช่น SQL , Informix เป็นต้น โดยภายในเซิร์ฟเวอร์ที่มีทั้งฐานข้อมูลและตัวจัดการฐานข้อมูล ตัวจัดการฐานข้อมูลในที่นี้หมายถึง มีการแบ่งปัน การประมวลผล โดยผ่านทางไคลเอ็นต์
 Application Server
 Application Server คือ เซิร์ฟเวอร์ที่รันโปรแกรมประยุกต์ได้ด้วย โดยการทำงานสอดคล้องกับไคลเอ็นต์ เช่น
Mail Server (รัน MS Exchange Server) Proxy Server (รัน Proxy Server) หรือWeb Server ( รัน Web
Server Program เช่น Xitami , Apache )

www.sanook.com
www.yahoo.com
www.thaifind.com
www.thaigraph.com
www.chaiyo.com
www.pantip.com
www.mthai.com

EDGE คืออะไร


EDGE (เอดจ์) ย่อจาก Enhanced Data rates for Global Evolution เป็นระบบอินเทอร์เน็ตไร้สาย 2.75G ในเครือข่ายโทรศัพท์ คล้ายกับระบบ GPRS แต่มีความเร็วที่สูงกว่าคือที่ประมาณ 300 KB ในปัจจุบันยังมีแค่บางพื้นที่ของประเทศเท่านั้น
EDGE คือวิธีการสื่อสารระบบสู่โลกอินเทอร์เน็ต โดย EDGE (Enhanced Data Rate for Global Evolution) เป็นเทคโนโลยีตามมาตรฐานโลกที่กำหนดโดย ITU (International Telecommunications Union) จะมีความเร็วมากกว่า GPRS ถึง 4 เท่า โดยมีความเร็วอยู่ในระดับ 200-300 Kbps
EDGE คือเทคโนโลยีในการรับ - ส่งข้อมูลด้วยเครือข่ายไร้สาย โดยมีความเร็วในการรับส่งข้อมูลที่ความเร็ว 236 Kbps ซึ่งสูงกว่าการส่งด้วยเครือข่าย GPRS ถึง 4 เท่า ช่วยให้คุณได้รับประโยชน์จากการส่ง - รับข้อมูล (Applications/Contents) บนโทรศัพท์ มือถือได้มากกว่าและรวดเร็วกว่า ทั้งการเข้า WAP และ WEB รับส่ง MMS, Video/Audio Streaming และ Interactive Gaming และเป็นก้าวสำคัญเพื่อการก้าวเข้าสู่ ยุค 3G
ADSL: Asymmetric Digital Subscriber Line คือเทคโนโลยีโมเด็ม ที่ทำให้คู่สายทองแดงธรรมดา ให้กลายเป็นสื่อสัญญาณดิจิตอล ความเร็วสูง โดยใช้เทคนิคการ เข้ารหัสสัญญาณข้อมูล (Modulation) ในย่านความถี่ที่สูงกว่า การใช้งานโทรศัพท์โดยทั่วไป ทำให้เราสามารถส่งข้อมูล ในขณะเดียวกับการใช้งานโทรศัพท์ได้ โดยมีเทคโนโลยีในตระกูล DSL อยู่หลายเทคโนโลยีเช่น
EDGE (Enhanced Data Rates for Global Evolution) เป็นทางเบี่ยงก่อนเข้ายุค 3G (Third generation) เป็นเทคโนโลยีการรับส่งข้อมูลบนเครือข่ายที่ได้รับการพัฒนาขึ้นมาจาก GPRS โดยบริษัท อีริคสัน เมื่อปีพ.ศ.2538 นักวิชาการหลายๆคนออกมาบอกว่า EDGE ถือเป็นทางตันของฝั่ง GSM ทาง Data ก่อนที่จะก้าวไปสู่ 3G กันอย่างจริงๆจังๆ ซึ่งผู้ให้บริการต่างๆจะมาพัฒนาต่อไม่ได้แล้ว แต่ต้องวางระบบ 3G กันใหม่กันทั้งระบบ
Edge เป็น Packet Switchingเช่นเดียวกับ GPRS ลักษณะการทำงานก็เหมือนกัน เพียงแต่ EDGE จะมีการซอยช่องสัญญาณให้ถี่ๆลง ในแต่ละการเชื่อมต่อจะวิ่งได้หลายๆช่อง ทำให้มีความเร็วสูงขึ้น มีอัตราความเร็วในการรับส่งข้อมูลสูงสุดอยู่ที่ประมาณ 473.6 Kbps ซึ่งปัจจุบันในเมืองไทย 

ระดับสารสนเทศ


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

รูปที่ 2 ระบบสารสนเทศ 3 ระดับ
     1.1 ระบบสารสนเทศระดับบุคคล
ระบบสารสนเทศระดับบุคคล คือ ระบบข้อมูลที่เสริมประสิทธิภาพและเพิ่มผลงานให้บุคลากรแต่ละคนในองค์การ ระบบสารสนเทศระดับบุคคลนี้มีแนวทางในการประยุกต์ที่ช่วยให้การทำงานในหน้าที่รับผิดชอบ และส่วนตัวของผู้นั้นมีคุณภาพและประสิทธิภาพ
ปัจจุบันคอมพิวเตอร์ส่วนบุคคลมีขนาดเล็กลง ราคาถูก แต่มีความสามาถในการประมาลผลด้วยความเร็วสูงขึ้น ประกอบกับมีโปรแกรมสำเร็จที่ทำให้ผู้ใช้สามารถใช้งานได้ง่าย กว้างขวางและและคุ้มค่ามากขึ้น โปรแกรมสำเร็จในปัจจุบันเริ่มมีความลงตัวและมีการรวบรวมไว้เป็นชุดโปรแกรม เช่น โปรแกรมประมวลคำ (word processing) ที่ช่วยในการพิมพ์เอกสาร โปรแกรมช่วยทำจดหมายเวียน (mail merge) โปรแกรมที่ใช้ในการจัดทำแผ่นใสเพื่อการบรรยายและทำภาพกราฟิ (presentation and graphics) โปรแกรมที่ช่วยในการทำวารสารและหนังสือ (desktop publishing) โปรแกรมตารางทำงาน (spreadsheet) โปรแกรมช่วยในการจัดเก็บและประมวลผลแฟ้มข้อมูล (database management) และโปรแกรมช่วยในการสร้างตารางการบริหารงาน (project management) เป็นต้น
ชุดโปรแกรมที่ได้รับความนิยมในปัจจุบันเป็นโปรแกรมที่ได้รวบรวมโปรแกรมสร้างเอกสาร โปรแกรมจัดทำแผ่นใสหรือข้อความประกอบคำบรรยายและแผ่นประกาศ โปรแกรมประมวลผลในรูปแบบตารางทำงาน โปรแกรมจัดการฐานข้อมูล เป็นต้น
ข้อมูลที่ช่วยทำให้การทำงานของบุคลากรดีขึ้นนั้น ต้องขึ้นอยู่กับหน้าที่รับผิดชอบของแต่ละคนต่างกันไป ตัวอย่างเช่น พนักงานขายควรมีข้อมูลเกี่ยวกับลูกค้าเป็นอย่างดีซึ่งจะทำให้ติดต่อค้าขายได้ผลเลิศ บริษัทควรมีการเตรียมอุปกรณ์ทางคอมพิวเตอร์เอาไว้ให้พนักงานขายได้ใช้ในการจัดเก็บข้อมูลลูกค้า เช่น ชื่อ ที่อยู่ และความสนใจในตัวสินค้า หรือข้อมูลอื่น ๆ ที่จะสนับสนุนการขาย พร้อมกับระบบที่จะช่วยพนักงานแต่ละคนในการเรียกค้นหาข้อมูลตามเงื่อนไขเพื่อวางแผน จัดการ และควบคุมการทำงานของตนเองได้ เช่น ระบบวิเคราะห์ข้อมูลการขาย เป็นต้น

รูปที่ 3 แสดงการใช้สารสนเทศในระดับบุคคล
     1.2 ระบบสารสนเทศระดับกลุ่ม
ระบบสารสนเทศระดับกลุ่ม คือ ระบบสารสนเทศที่ช่วยเสริมการทำงานของกลุ่มบุคคล ที่มีเป้าหมายการทำงานร่วมกันให้มีประสิทธิภาพมากขึ้น

รูปที่ 4 การใช้ระบบสารสนเทศในระดับกลุ่ม
รูปที่ 4 แสดงตัวอย่างของการใช้ระบบสารสนเทศเพื่อสนับสนุนงานของแผนก คำว่า การทำงานเป็นกลุ่ม (workgroup) ในที่นี้หมายถึง กลุ่มบุคคลจจำนวน 2 คนขึ้นไปที่ร่วมกันทำงานเพื่อให้บรรลุเป้าหมายเดียวกัน โดยทั่วไปบุคลากรในกลุ่มเดียวกันจะรู้จักกันและกัน และทำงานเคียงบ่าเคียงไหล่ เป้าหมายหลักของการทำงานเป็นกลุ่ม คือ การเตรียมสภาวะแวดล้อมที่จะเอื้ออำนวยประโยชน์ในการทำงานร่วมกันเป็นกลุ่มได้อย่างมีประสิทธิภาพ และช่วยเหลือเกื้อกูลซึ่งกันและกัน โดยทำให้เป้าหมายของธุรกิจดำเนินไปได้อย่างมีประสิทธิผล
แนวทางหลักก็คือ การทำให้เกิดการใช้ทรัพยากรร่วมกัน โดยเฉพาะข้อมูลและอุปกรณ์เทคโนโลยีพื้นฐาน การนำเอาเครื่องคอมพิวเตอร์ส่วนบุคคลมาเชื่อมกันเป็นเครือข่ายท้องถิ่นหรือเครือข่ายแลน (Local Area Network : LAN) ทำให้มีการเชื่อมโยงและใช้ทรัพยากรของเครื่องคอมพิวเตอร์ ฮาร์ดดิสค์ และเครื่องพิมพ์ร่วมกัน ข้อมูลที่ใช้ร่วมกันในแผนกจะบรรจุไว้ในระบบคอมพิวเตอร์ที่มีหน้าที่ควบคุมการจัดเก็บแฟ้มข้อมูลกลาง ที่เรียกว่า เครื่องบริการแฟ้ม (file server) ถ้ามีการแก้ไขข้อมูลในฐานข้อมูลกลางนี้โดยผู้ใช้คนใดคนหนึ่งเมื่อใด ผู้ใช้คนอื่นที่ใช้อยู่บนเครือข่ายคอมพิวเตอร์นี้ก็จะได้รับข้อมูลที่ผ่านการแก้ไขแล้วนั้นทันที
การประยุกต์ใช้งานคอมพิวเตอร์ในลักษณะของการทำงานเป็นกลุ่ม สามารถใช้กับงานต่างๆ ได้ ในรูปที่ 4.2 แสดงตัวอย่างระบบบริการลูกค้า หรือ การเสนอขายสินค้าผ่านทางสื่อโทรศัพท์ พนักงานในทีมงานอาจจะมีอยู่หลายคน และใช้เครือข่ายคอมพิวเตอร์ในการเก็บข้อมูลกลางของลูกค้าร่วมกัน กล่าวคือ มีข้อมูลเพียงชุดเดียวที่พนักงานทุกคนจะเข้าถึงได้ ถ้ามีการเปลี่ยนแปลงหรือเพิ่มเติม พนักงานในกลุ่มทำงานจะต้องรับรู้ด้วย เช่น ลูกค้าโทรศัพท์มาถามคำถามหรือขอคำปรึกษาเกี่ยวกับสินค้า พนักงานอาจจะบันทึกข้อมูลการให้บริการหรือการนัดหมายเพื่อตอบคำถามเพิ่มเติม โดยระบบอาจจะช่วยเตือนความจำเมื่อถึงเวลาต้องโทรศัพท์กลับไปหาลูกค้า แม้พนักงานที่รับโทรศัพท์ครั้งที่แล้วจะไม่อยู่ แต่พนักงานที่ทำงานอยู่สามารถเรียกข้อมูลจากระบบคอมพิวเตอร์ แล้วโทรกลับไปตามนัดหมาย ทำให้ธุรกิจดำเนินต่อไปได้โดยไม่หยุดชะงัก เป็นต้น อันจะเป็นการเพิ่มคุณภาพการบริการ หรือเป็นกลยุทธที่ช่วยทางด้านการขาย
ระบบสารสนเทศของกลุ่มหรือแผนกยังมีแนวทางอื่น ๆ ในการสนับสนุนการจัดการการบริหารงาน และการปฎิบัติการอีก เช่น การสื่อสารด้วยระบบไปรษณีย์อิเล็กทรอนิกส์ การประชุมผ่านเครือข่าย ซึ่งอาจจะประชุมปรึกษาหารือกันได้โดยอยู่ต่างสถานที่กัน การจัดทำระบบแผงข่าว (Bulletin Board System : BBS) ของแผนก การประชุมทางไกล (Video conferrence) การช่วยกันเขียนเอกสาร ตำรา หรือรายงานร่วมกันผ่านเครือข่ายคอมพิวเตอร์ การทำตารางทำงานของกลุ่ม ระบบสนับสนุนการตัดสินใจของกลุ่ม ระบบจัดการฐานข้อมูลของกลุ่ม ระบบการไหลเวียนอัตโนมัติของเอกสาร ระบบการจัดการกับข้อความ ระบบการจัดตารางเวลาของกลุ่ม ระบบบริหารโครงการของกลุ่ม ระบบการใช้แฟ้มข้อความร่วมกันของกลุ่ม และระบบประมวลผลภาพเอกสาร เป็นต้น
ปัจุบันโปรแกรมบนเครื่องคอมพิวเตอร์รุ่นใหม่ ๆ จะมีแนวคิดของการทำงานเป็นกลุ่มด้วยเสมอ การใช้คอมพิวเตอร์ทำงานเป็นกลุ่ม (workgroup compuing) เริ่มพัฒนาตัวเองสูงขึ้น และมีโปรแกรมสำเร็จที่มีความเหมาะสมมากขึ้น สำหรับการใช้งานคอมพิวเตอร์ทำงานเป็นกลุ่มในอนาคตอันใกล้นี้
     1.3 ระบบสารสนเทศสระดับองค์การ
ระบบสารสนเทศระดับองค์การ คือ ระบบสารสนเทศที่สนับสนุนงานขององค์การในภาพรวม ระบบในลักษณะนี้จะเกี่ยวข้องกับการปฏิบัติงานร่วมกันของหลายแผนก โดยการใช้ข้อมูลที่เกี่ยวข้องและส่งผ่านถึงกันจากแผนกหนึ่งข้ามไปอีกแผนกหนึ่งได้ ระบบสารสนเทศดังกล่าวนี้จึงสามารถสนับสนุนงานการใช้ข้อมูลเพื่อการบริหารงานในระดับผู้ปฏิบัติการ และสนับสนุนงานการบริหารและจัดการในระดับที่สูงขึ้นได้ด้วย เนื่องจากสามารถให้ข้อมูลจากแผนกต่าง ๆ ที่เกี่ยวข้องมาประกอบการตัดสินใจ โดยอาจนำข้อมูลมาแสดงในรูปแบบสรุป หรือในแบบฟอร์มที่ต้องการได้ บ่อยครั้งที่การบริหารงานในระดับสูงจำเป็นต้องใช้ข้อมูลร่วมกันจากหลายแผนก เพื่อประกอบการตัดสินใจ
ระบบการประสานงานเพื่อการสร้างรายได้ให้กับธุรกิจการค้า ดังแสดงในรูปที่ 4.5 เป็นตัวอย่างระบบสารสนเทศระดับองค์การในธุรกิจที่เกี่ยวข้องกับการขายสินค้า โดยมีผ่ายต่าง ๆ ที่เกี่ยวข้องในองค์การหลายฝ่าย เช่น ฝ่ายการขาย ฝ่ายสินค้าคงคลัง ฝ่ายพัสดุ และฝ่ายการเงิน แต่ละฝ่ายอาจจะมีระบบข้อมูลหรือระบบคอมพิวเตอร์ที่สนับสนุนการปฏิบัติการของฝ่ายเอง และยังมีระบบการสื่อสารหรือเครือข่ายคอมพิวเตอร์เพื่อการเชื่อมโยงคอมพิวเตอร์ระหว่างฝ่ายได้ เพื่อให้เกิดการแลกเปลี่ยนข้อมูลไปตามสารการเชื่อมโยง เนื่องจากจุดประสงค์ของการทำธุรกิจก็เพื่อสร้างผลกำไรให้กับบริษัท ถ้ามีการแลกเปลี่ยนข้อมูลระหว่างฝ่ายอย่างมีประสิทธิภาพแล้ว ย่อมทำให้เกิดการขายสินค้า และการตามเก็บเงินได้อย่างรวดเร็ว เช่น ทันทีที่ฝ่ายการขายตกลงขายสินค้ากับลูกค้า ก็จะมีการป้อนข้อมูลการขายสินค้าลงในระบบคอมพิวเตอร์ ฝ่ายอื่นที่เกี่ยวข้องจะได้รับข้อมูลการขายนี้ และสามารถปฏิบัติหน้าที่ของตัวเองได้อย่างต่อเนื่องทันที เช่น ฝ่ายสินค้าคงคลังจัดตรวจสอบเตรียมใบเบิกสินค้าเพื่อส่งให้ฝ่ายพัสดุได้ทันที ฝ่ายการเงินตรวจสอบความถูกต้องของการขายสินค้า แล้วดำเนินการทำใบส่งสินค้า และดูแลเรื่องระบบลูกหนี้โดยอัตโนมัติและสุดท้าย ฝ่ายพัสดุดำเนินการจัดส่งสินค้าไปให้ลูกค้าแล้ว ก็จะดำเนินการติดตามการค้างชำระจากลูกหนี้ต่อไป

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

โปรแกรมแปลภาษา ประมวณผล


ในยุคของข้อมูลข่าวสาร โปรแกรมแปลภาษาถือเป็นเครื่องมือสำคัญที่ทะลายกำแพงภาษา ทำให้การสื่อสารในภาษาที่แตกต่างดูง่ายขึ้น โปรแกรมแปลภาษามีกลไกในการทำงาน ยิ่งซับซ้อนจะยิ่งทำให้ข้อมูลที่ออกมาตรงตามความต้องการได้มากยิ่งขึ้น การคำนึงถึงความหมายของประโยค หลักไวยกรณ์ อารมณ์ระหว่างการสนทนา
 ในยุคสารสนเทศ (Information age) นี้ ข้อมูลข่าวารเป็นสิ่งจำเป็นที่เราสามารถค้นหา หรือเผยแพร่ได้โดยง่ายด้วยเทคโนโลยีที่ไร้พรมแดนคือ อินเทอร์เน็ต (Internet) จึงทำให้มนุษย์สามารถติดต่อกันได้ทั่วโลกไม่ว่าจะอยู่ที่ใด เมื่อเชื่อมต่อเครื่องคอมพิวเตอร์เข้ากับเครือข่ายอินเทอร์เน็ตได้ เราก็สามารถพูดคุย หรือส่งจดหมายอิเล็กทรอนิกส์ให้แก่บุคคลอื่นได้ด้วยตัวเอง โดยไม่ต้องมีหน่วยงาน เช่น ที่ทำการไปรษณีย์โทรเลขทำหน้าที่รับส่ง และไม่ต้องอาศัยบุรุษไปรษณีย์ในการนำส่งจดหมายอีกต่อไป
เมื่อเทคโนโลยีคอมพิวเตอร์เข้ามามีบทบาทสำคัญในการติดต่อสื่อสาร การพิมพ์เอกสาร การค้นหาข้อมูลข่าวสาร การเผยแพร่ข่าวสาร ฯลฯ ดังนั้น คนไทยจึงมุ่งหวังที่จะให้คอมพิวเตอร์สามารถทำงานรองรับการใช้งานภาษาไทย โดยรับข้อมูลเข้าและแสดงผลเป็นภาษาไทยได้ รวมทั้งเข้าใจและโต้ตอบเป็นภาษาไทยได้ ซึ่งจะเป็นประโยชน์ต่อคนไทยอย่างอเนกอนันต์ ทั้งในด้านวิชาการ ธุรกิจ และบันเทิง ด้วยความจำเป็นดังกล่าว นักวิชาการและนักวิจัยในประเทศไทยจึงต้องทำวิจัยและพัฒนาเทคโนโลยี เพื่อให้มีความเจริญทัดเทียมเทคโนโลยีต่างประเทศที่ก้าวหน้าไปอย่างมาก
 การประมวลผลภาษาไทยบนคอมพิวเตอร์เทคโนโลยีที่เรานำมาใช้ในการประมวลผลและการประยุกต์ใช้ภาษาไทยบนคอมพิวเตอร์ประกอบไปด้วยวิทยาการทางด้านวิศวกรรมคอมพิวเตอร์ (Computer Engineering) ผสมผสานกับเทคโนโลยีทางด้านการประมวลผลภาษาธรรมชาติ (Natural Language Processing) ซึ่งได้แก่ การประมวลผลอักขระ (Character processing) การประมวลผลคำ (Word processing) การประมวลผลข้อความ (Text processing) การประมวลผลภาพ (Image processing) รวมทั้งความรู้ทางภาษาศาสตร์ (Linguistics)
ผู้เชี่ยวชาญทั้งจากภาครัฐและภาคเอกชนมีความสนใจงานวิจัยและพัฒนาโปรแกรมการประมวลผลภาษาไทยบนคอมพิวเตอร์อย่างกว้างขวาง เพื่อให้ผู้ใช้คนไทยสามารถใช้งานคอมพิวเตอร์ด้วยภาษาไทยได้อย่างมีประสิทธิภาพ ในที่นี้จะอธิบายโปรแกรมการประมวลผลบางโปรแกรม เพื่อเป็นความรู้พื้นฐานให้เข้าใจเรื่องการประยุกต์ใช้ภาษาไทยบนคอมพิวเตอร์ ดังต่อไปนี้
๑. โปรแกรมการเรียงลำดับคำไทย (Thai Sorting)การเรียงลำดับคำในพจนานุกรม การเรียงลำดับชื่อบุคคลในสมุดรายนามผู้ใช้โทรศัพท์ หรือการเรียงลำดับคำให้สามารถค้นหาได้โดยง่าย จำเป็นต้องมีการเรียงตามลำดับตัวอักษร และตามมาตรฐานการเรียงลำดับคำไทยที่ยึดถือตามพจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ. ๒๕๒๕ ประโยชน์ของการเรียงลำดับคือ ช่วยให้การค้นหาทำได้ง่ายขึ้น ทั้งการค้นโดยคอมพิวเตอร์ และการค้นโดยผู้ใช้ ตัวอย่างที่เห็นได้อย่างชัดเจนคือ การค้นหาคำในพจนานุกรม หรือการค้นหาฐานข้อมูลชื่อต่าง ๆ เช่น ชื่อบุคคล ชื่อหน่วยงาน ชื่อแฟ้มเอกสาร เป็นต้น ถ้าได้จัดเรียงไว้ตามลำดับแล้ว ก็จะสามารถประหยัดเวลาในการค้นหาได้
 ๒. โปรแกรมการสืบค้นคำไทยตามเสียงอ่าน (Thai Soundex)
การค้นหาคำไทยที่มีเสียงพ้อง หรือคำที่สามารถสะกดได้หลายคำนั้น สามารถแก้ปัญหาได้โดยการค้นหาคำตามเสียงอ่าน ทั้งนี้ ตามธรรมชาติของผู้ใช้ภาษาโดยทั่วไปจะเคยชินเสียงอ่านของคำมากกว่าตัวสะกด นอกจากนั้น เสียง ๑ เสียงสามารถแทนคำได้มากกว่า ๑ คำ เช่น เสียง "ค่า" หมายความถึง ข้า ค่า หรือ ฆ่า ก็ได้ ชื่อเฉพาะทั้งหลายก็สามารถสะกดได้หลายแบบ เช่น เพชรรัตน์ (อ่านว่า เพ็ด - ชะ - รัด) อาจสะกดเป็น เพชรัตน์ เพ็ชรัตน์ เพ็ชรรัตน์ เพชรรัช เพชรรัชต์ เพชรรัฐ เพชรรัตต์ เพชรรัตติ์ เพชรรัศม์ ฯลฯ จึงได้มีการคิดวิธีค้นตามเสียงอ่านขึ้น เพื่ออำนวยความสะดวกต่อผู้ใช้ในสถานการณ์ที่ไม่สามารถสะกดคำได้อย่างถูกต้อง เช่น การค้นหาชื่อในฐานข้อมูลสำมะโนประชากร ในสมุดรายนามผู้ใช้โทรศัพท์ หรือในโปรแกรมตรวจคำผิด เป็นต้น
๓. โปรแกรมตัดคำภาษาไทย (Thai Word Segmentation)ลักษณะการเขียนภาษาไทยซึ่งเขียนติดต่อกันเป็นสายอักขระ โดยไม่มีเครื่องหมายวรรคตอนแสดงการแบ่งคำดังเช่นภาษาอังกฤษ เป็นอุปสรรคอย่างหนึ่งที่ต้องการการศึกษาทำวิจัยและพัฒนา เพื่อให้คอมพิวเตอร์สามารถคำนวณแบ่งสายอักขระไทยให้เป็นคำ ๆ ซึ่งจะส่งผลให้การทำงานของคอมพิวเตอร์ในการค้นหาคำใด ๆ เป็นไปอย่างถูกต้องและแม่นยำ รวมถึงการจัดขอบขวาในโปรแกรมประมวลผลคำด้วย เป็นต้น
ตัวอย่างเช่น ถ้ามีข้อความว่า "ฉันนั่งตากลมที่หน้าบ้าน" จะต้องทำให้คอมพิวเตอร์รูว่าเป็น " ฉัน นั่ง ตาก ลม ที่ หน้า บ้าน " ไม่ใช่ "ฉัน นั่ง ตา กลม ที่ หน้าบ้าน"
 ๔. โปรแกรมแปลภาษา (Machine Translation)โปรแกรมแปลภาษาคือ เครื่องมือที่ใช้สำหรับแปลข้อความจำนวนมาก ๆ จากภาษาหนึ่งไปเป็นภาษาหนึ่ง โดยสามารถป้อนข้อมูลภาษาต้นทางเป็นข้อความ หรือเสียงพูดก็ได้ ผลที่ได้รับคือ จะได้ภาษาปลายทางเป็นข้อความ หรือเสียงพูดก็ได้เช่นกัน ซึ่งจะช่วยให้วงการการแปลสามารถแปลข้อความได้เป็นจำนวนมากและรวดเร็ว
การทำวิจัยและพัฒนาเครื่องแปลภาษาเป็นงานแขนงหนึ่งในศาสตร์แห่งการประมวลผลภาษาธรรมชาติ เครื่องแปลภาษาเครื่องแรกถูกผลิตขึ้นประมาณปี ค.ศ. ๑๙๓๐ เป็นซอฟต์แวร์ที่พยายามแปลข้อความในรูปประโยค โดยพิจารณาเรื่องของวากยสัมพันธ์ รวมถึงอรรถศาสตร์ด้วย ไม่ใช่แปลเป็นคำๆ เท่านั้น การทำวิจัยและเครื่องแปลภาษา ในประเทศไทยเริ่มต้นในปี พ.ศ. ๒๕๒๔ โดยจุฬาลงกรณ์มหาวิทยาลัยและมหาวิทยาลัยเกรอนอบล์ ( Grenoble) แห่งประเทศฝรั่งเศส ได้ร่วมกันจัดทำโครงการวิจัยและแปลภาษาอังกฤษเป็นภาษาไทยด้วยคอมพิวเตอร์ ซึ่งเป็นโครงการของทบวงมหาวิทยาลัย (พ.ศ. ๒๕๒๔ - ๒๕๓๐) ต่อมาก็เกิดโครงการความร่วมมือในการพัฒนาระบบแปลหลากภาษาสำหรับภาษาในเอเชีย ได้แก่ ภาษาจีน ญี่ปุ่น มาเลเซีย อินโดนีเซีย และไทย ซึ่งเป็นโครงการของกระทรวงวิทยาศาสตร์ เทคโนโลยีและสิ่งแวดล้อม ซึ่งดำเนินการภายใต้ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (พ.ศ. ๒๕๓๐ - ๒๕๓๗)
 ๕. โปรแกรมรู้จำอักขระไทยด้วยแสง หรือไทยโอซีอาร์ (Thai Optical Character Recognition)
โอซีอาร์เป็นคำย่อของภาษาอังกฤษว่า "Optical Character Recognition : OCR" แปลเป็นภาษาไทยได้ว่า "การรู้จักอักขระด้วยแสง" เป็นงานประยุกต์งานหนึ่งของสาขาวิทยาการคอมพิวเตอร์ ที่ได้รับความสนใจและพัฒนามานานกว่า ๗๐ ปีแล้ว โอซีอาร์เป็นการรู้จำรูปแบบตัวอักษร ซึ่งเป็นงานวิจัยในสาขาการรู้จำรูปแบบ (Pattern Recognition) เป็นเทคโนโลยีที่ส่งผลให้ระบบคอมพิวเตอร์สามารถระบุรูปแบบได้อย่างถูกต้อง เช่น สามารถจะบอกได้ว่า ภาพนั้นคือภาพอะไร ภาพตัวอักษรนั้นคือตัวอักษรอะไร หรือเสียงนั้นคือเสียงของคำสั่งอะไร เป็นต้น
นักวิจัยมีความสนใจในงานโอซีอาร์เป็นอย่างมาก เพราะเป็นงานที่เกี่ยวข้องกับเอกสาร การเก็บข้อมูลเหล่านี้ให้เป็นแฟ้มข้อความ (Text File) ไว้ในระบบคอมพิวเตอร์นั้น ต้องใช้บุคลากรในการจัดพิมพ์เอกสารนั้น ๆ โดยใช้โปรแกรมประมวลผลคำ ถึงแม้ว่าโปรแกรมประเภทนี้จะมีความสามารถและเป็นเครื่องมือที่ดี แต่ก็ยังต้องใช้บุคลากรจำนวนมากและใช้เวลานาน ถ้าโอซีอาร์ประสบผลสำเร็จ งานพิมพ์เอกสารต่าง ๆ เพื่อเก็บเป็นแฟ้มข้อความก็จะกลายเป็นหน้าที่ของระบบคอมพิวเตอร์ การประมวลผลของโอซีอาร์โดยทั่วไปจะเร็วกว่าการพิมพ์ของมนุษย์เฉลี่ยประมาณ ๕ เท่า และในบางระบบ การประมวลผลของโอซีอาร์จะมีความถูกต้องมากกว่าการพิมพ์ของมนุษย์อีกด้วย
 ตัวอย่างโปรแกรมเพื่อการประยุกต์ใช้ภาษาไทยบนคอมพิวเตอร์ที่ได้กล่าวมาแล้วข้างต้น ล้วนเป็นงานที่ได้รับการพัฒนาขึ้นโดยนักวิจัยไทยทั้งสิ้น อย่างไรก็ตาม งานวิจัยและพัฒนาในเรื่องนี้ยังต้องดำเนินต่อไป เพื่อประโยชน์สูงสุดในการประยุกต์ใช้ภาษาไทยบนคอมพิวเตอร์ เช่น การสั่งงานด้วยเสียงพูดโดยไม่ต้องใช้แป้นพิมพ์ การสนทนาโต้ตอบกับคอมพิวเตอร์ การสอบถามและการค้นหาแบบอัตโนมัติ ทั้งนี้ นักวิจัยไทยมีความมุ่งหวังว่าในอนาคต คนไทยจะสามารถใช้งานโปรแกรมเหล่านี้ได้ตามที่ตั้งปณิธานไว้
การแปลภาษาโดย โปรแกรม ภาษาจะต้องอาศัยโครงสร้างของประโยคจากภาษาหนึ่งไปยังภาษาหนึ่ง โดยยังคงความหมายของประโยคนั้นได้อย่างสมบูรณ์ที่สุด สำหรับโปรแกรมแปลภาษาถือว่ามีการพัฒนาที่เกือบเทือบเท่ากับการสนทนาของมนุษย์จริงๆ

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


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

วิธีการเขียนผังงานที่ดี

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

ผังงานโปรแกรม ( Program Flowchart )
การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้
  • จุดเริ่มต้น / สิ้นสุดของโปรแกรม 
  • ลูกศรแสดงทิศทางการทำงานของโปรแกรมและการไหลของข้อมูล
  • ใช้แสดงคำสั่งในการประมวลผล หรือการกำหนดค่าข้อมูลให้กับตัวแปร 
  • แสดงการอ่านข้อมูลจากหน่วยเก็บข้อมูลสำรองเข้าสู่หน่วยความจำหลักภายในเครื่องหรือการแสดงผลลัพธ์จากการประมวลผลออกมา
  • การตรวจสอบเงื่อนไขเพื่อตัดสินใจ โดยจะมีเส้นออกจารรูปเพื่อแสดงทิศทางการทำงานต่อไป เงื่อนไขเป็นจริงหรือเป็นเท็จ
  • แสดงผลหรือรายงานที่ถูกสร้างออกมา
  • แสดงจุดเชื่อมต่อของผังงานภายใน หรือเป็นที่บรรจบของเส้นหลายเส้นที่มาจากหลายทิศทางเพื่อจะไปสู่การทำงานอย่างใดอย่างหนึ่งที่เหมือนกัน
  • การขึ้นหน้าใหม่ ในกรณีที่ผังงานมีความยาวเกินกว่าที่จะแสดงพอในหนึ่งหน้า 
Flowchart
     อย่างแรกเลยที่เราต้องรู้จัก  คือ Algorithm (และต้องเขียนให้เป็นเพราะต้องใช้ตลอด ข้อสอบ Final ของ Intro
ก็ประมาณนี้นะมีเขียน Flowchart)
     Algorithm  คือ กระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่ง
อย่างเป็นขั้นเป็นตอนและ ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร เช่น เวลาเราจะเดินทางไปมหาลัย(เปรียบ
เสมือนปัญหา คือต้องการไปมหาลัย) ต้องทำอย่างไรบ้าง เพื่อจะไปถึงมหาลัย(ผลลัพธ์ ที่ต้องการ)  ยกตัวอย่าง
     วิธีที่ 1
     1.นั่งรถสองแถวไปมีนบุรี
     2.นั่งรถตู้ที่มีนบุรีไป มหาลัย
     3.ถึงมหาลัย
     วิธีที่ 2
     1.เดินจากบ้านไปมีนบุรี
     2.นั่งรถเมย์ไปมหาลัย
     3.ถึงมหาลัย
     วิธีที่ 3
     1.นั่ง Taxi ไปมหาลัย
     2.ถึงมหาลัย
     จะสังเกตุได้ว่า ใน 1 ปัญหา มีวิธีแก้ไขหลายวิธี แต่ละคนอาจจะคิดวิธีแก้ไขปัญหา(Algorithm) แตกต่างกันออกไป
(จากตัวอย่างบางคนอาจจะอาศัยรถคนอื่นไปก็ได้จริงมั้ยค่ะ) เมื่อเรารู้จัก Algorithm แล้ว เราก็เอา Algorithm
ที่เราคิดได้ ไปเขียนเป็น Flowchart (ตามลำดับขั้นตอนของ Algorithm)
     สัญลักษณ์(Symbol)
การเขียน Flowchart เบื้องต้นเราจะใช้สัญลักษณ์ดังต่อไปนี้ (ที่จริง มีเยอะค่ะแต่ใช้จริงๆ เบื้องต้น มีแค่นี้แหละ)           
    รูปแบบการเขียน Flowchart    การเขียนเราจะเขียนในลักษณะ Top-Down คือจากบนลงล่าง(Flow คือการไหล,Flowchart ก็คือ ผังงานการไหลของข้อมูล)
การเขียนมี 3 ลักษณะ คือ sequence(ตามลำดับ) selection(ทางเลือก/เงื่อนไข) iteration(ทำซ้ำ)
          Sqquence(ตามลำดับ)
     ตามชื่อเลยค่ะ เป็นการเขียนแบบไล่ทำไปทีละลำดับ ไม่มีแยก (เปรียบเสมือน ขับรถไป ไม่มีทางแยกให้เลี้ยวไปไหน)                            
ที่ใช้สํญลักษณ์  เพราะมันเป็นกระบวนการ(Process)
จะเห็นว่ามันเป็นเพียงแค่ลำดับขั้นตอน ของการแก้ไขปัญหาแค่นั้นเอง (เพียงแต่เลือกใช้สัญลักษณ์ให้ถูก)
          Selection(ทางเลือก/เงื่อนไข)
     แล้วถ้ามีเงื่อนไข หรือ ทางเลือก ละ ประมาณว่า (สมมุตินะ) ถ้านั่งรถไปมีนบุรีแล้ว รถตู้เต็ม คนต่อแถวเยอะมากเลย
ไปเรียนไม่ทันแน่ๆ ก็ให้นั่ง Taxi (เห็นมั้ยว่ามันมีทางเลือกและ หรือเงื่อนไขนั่นเอง) เรามาดูแบบมีเงื่อนไขกัน     
    
จะเห็นได้ว่าพอมีเงื่อนไข หรือ ทางเลือก เราจะใช้ สัญลักษณ์  ภายในเราก็จะเขียนเงื่อนไข
ถ้าเงื่อนไขเป็นจริง ก็ ไปทำทางด้านจริง ถ้าไม่จริงก็ทำทางด้านไม่จริง เสมือนเราขับรถแล้วไปเจอทางแยก แต่ทางแยกนี้
มันไปถึงที่หมายที่เดียวกัน ก็ต้องเลือกทางใดทางหนึ่ง
          Iteration(ทำซ้ำ)     อีกรูปแบบนึง คือ การทำซ้ำๆ เช่น เราอยากกินข้าว กินไปเรื่อยๆ ถ้าอิ่มก็กลับบ้าน ถ้าไม่อิ่มก็กินต่อ(เอาให้พุงแตกไปเลย)
ถ้าเราเข้าใจ Flowchart เราก็จะเขียนโปรแกรมออกมาได้ง่ายขึ้น เพราะเราจะรู้ step การทำงานว่าจะต้องไปทางไหนต่อ
ทำอะไรต่อ พยายามทำความเข้าใจนะค่ะ ไม่ยาก วันนี้พอแค่นี้ก่อน นั่งเขียนนานแระ จะค่อยๆ ทยอยเขียน