ลิงก์

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

ภาษา C

          ภาษาซี เป็นการเขียนโปรแกรมพื้นฐาน สามารถประยุกต์ใช้กับงานต่างๆได้มากมาย ระบบปฏิบัติการคอมพิวเตอร์ ทางคณิตศาสตร์ โปรแกรมทางไฟฟ้า อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์ เช่น โปรแกรม MATLAB (The MathWorks – MATLAB and Simulink for Technical Computing) ซึ่ง เวลาใช้สามารถพิมพ์ชุดคำสั่งภาษาซีเพิ่มเข้าไปในโปรแกรมคำนวณทางคณิตศาสตร์ ประมวลผลทางสัญญาณไฟฟ้า ทางไฟฟ้าสื่อสารก็ได้ ทำให้ประสิทธิภาพของงานที่ทำดียิ่งขึ้นครับ และยังมีโปรแกรมอื่นๆ ที่มีภาษาซีประยุกต์ใช้กันอีกมากมาย ไม่สามารถนำมากล่าวได้หมด ถึงแม้ว่าภาษาซีอาจจะดูเก่าไปสำหรับคนอื่น แต่ผมว่าควรศึกษาภาษาซีที่เป็นรากฐานของภาษาอื่นๆเสียก่อน เพราะภาษา C++ จาวา (Java) ฯลฯ และ ระบบลีนุกซ์ เป็นระบบที่ถูกพัฒนามาจากระบบยูนิกซ์ซึ่งก็เป็นที่รู้กันทั่วไปว่า ภาษาคู่บารมีของระบบปฏิบัติการตระกูลยูนิกซ์มีการพัฒนามาจากภาษาซีเช่นกัน

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

ประวัติภาษาซี

     ภาษาซีเป็นภาษาที่ถือว่าเป็นทั้งภาษาระดับสูงและระดับต่ำ ถูกพัฒนาโดยเดนนิส ริดชี (Dennis Ritche) แห่งห้องทดลองเบลล์(Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักการของภาษา บีซีพีแอล (BCPL : Basic Combine Programming Language) ซึ่งพัฒนาขึ้นโดยเคน ทอมสัน (Ken Tomson) การออกแบบและพัฒนาภาษาซีของเดนนิส ริดชี มีจุดมุ่งหมายให้เป็นภาษาสำหรับใช้เขียนโปรแกรมปฏิบัติการระบบยูนิกซ์ และได้ตั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็นตัวอักษรต่อจากบี(B) ของภาษา BCPL ภาษา ซีถือว่าเป็นภาษาระดับสูงและภาษาระดับต่ำ ทั้งนี้เพราะ ภาษาซีมีวิธีใช้ข้อมูลและมีโครงสร้างการควบคุมการทำงานของโปรแกรมเป็นอย่าง เดียวกับภาษาของโปรแกรมระดับสูงอื่นๆ จึงถือว่าเป็นภาษาระดับสูง ในด้านที่ถือว่าภาษาซีเป็นภาษาระดับต่ำ เพราะภาษาซีมีวิธีการเข้าถึงในระดับต่ำที่สุดของฮาร์ดแวร์ ความสามารถทั้งสองด้านของภาษานี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ความสามารถระดับต่ำทำให้ภาษาซีสามารถใช้เฉพาะเครื่องได้ และความสามารถระดับสูง ทำให้ภาษาซีเป็นอิสระจากฮาร์ดแวร์ ภาษาซีสามารถสร้างรหัสภาษาเครื่องซึ่งตรงกับชนิดของข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภาษาซีที่เขียนบนเครื่องหนึ่ง สามารถนำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับการใช้พอยน์เตอร์ในภาษาซี นับได้ว่าเป็นตัวอย่างที่ดีของการเป็นอิสระจากฮาร์ดแวร์

วิวัฒนาการของภาษาซี

ค.ศ. 1970 มีการพัฒนาภาษา B โดย Ken Thompson ซึ่งทำงานบนเครื่อง DEC PDP-7 ซึ่ง ทำงานบนเครื่องไมโครคอมพิวเตอร์ไม่ได้ และยังมีข้อจำกัดในการใช้งานอยู่ (ภาษา B สืบทอดมาจาก ภาษาBCPL ซึ่งเขียนโดย Marth Richards)

ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ได้สร้างภาษา C เพื่อเพิ่มประสิทธิภาพ ภาษา B ให้ดียิ่งขึ้น ในระยะแรกภาษา C ไม่เป็นที่นิยมแก่นักโปรแกรมเมอร์โดยทั่วไปนัก

ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ได้เขียนหนังสือเล่มหนึ่งชื่อว่าThe C Programming Language และหนังสือเล่มนี้ทำให้บุคคลทั่วไปรู้จักและนิยมใช้ภาษาC ในการเขียน โปรแกรมมากขึ้น

แต่เดิมภาษา C ใช้ Run บนเครื่องคอมพิวเตอร์ 8 bit ภายใต้ระบบปฏิบัติการ CP/M ของ IBM PC ซึ่งในช่วงปี ค. ศ. 1981เป็นช่วงของการพัฒนาเครื่องไมโครคอมพิวเตอร์ ภาษา Cจึงมี บทบาทสำคัญในการนำมาใช้บนเครื่อง PC ตั้งแต่นั้นเป็นต้นมา และมีการพัฒนาต่อมาอีกหลาย ๆ ค่าย ดังนั้นเพื่อกำหนดทิศทางการใช้ภาษา C ให้เป็นไปแนวทางเดียวกัน ANSI (American National Standard Institute) ได้กำหนดข้อตกลงที่เรียกว่า 3J11 เพื่อสร้างภาษา C มาตรฐานขึ้นมา เรียนว่า ANSI C

ค.ศ. 1983 Bjarne Stroustrup แห่งห้องปฏิบัติการเบล (Bell Laboratories) ได้พัฒนาภาษา C++ ขึ้นรายละเอียดและความสามารถของC++ มีส่วนขยายเพิ่มจาก Cที่สำคัญ ๆ ได้แก่ แนวความคิดของการเขียนโปรแกรมแบบกำหนดวัตถุเป้าหมายหรือแบบ OOP (Object Oriented Programming) ซึ่ง เป็นแนวการเขียนโปรแกรมที่เหมาะกับการพัฒนาโปรแกรมขนาดใหญ่ที่มีความสลับซับ ซ้อนมาก มีข้อมูลที่ใช้ในโปรแกรมจำนวนมาก จึงนิยมใช้เทคนิคของการเขียนโปรแกรมแบบ OOP ในการพัฒนาโปรแกรมขนาดใหญ่ในปัจจุบันนี้

ที่มา : https://sites.google.com/site/bbmm2553/prawati-khwam-pen-ma-khxng-phasa-si

 

 

ลิงก์

การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ

เนื้อหา
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การถ่ายทอดความคิดในการแก้ปัญหาอย่างมีขั้นตอน
ขั้นตอนการพัฒนาโปรแกรม
การวิเคราะห์งาน
การเขียนผังงาน
ตัวอย่างการวิเคราะห์งานและผังงาน
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศอย่างมีประสิทธิภาพ ต้องทำเป็นขั้นตอนโดยมีวิธีการปฏิบัติ 4 ขั้นตอน ได้แก่
1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา
2. เลือกเครื่องมือและออกแบบขั้นตอนวิธี
3. การดำเนินการแก้ปัญหา
4. ตรวจสอบและการปรับปรุงวิธีการแก้ปัญหาให้เหมาะสมการวิเคราะห์และกำหนดรายละเอียดของปัญหา

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

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

เป็นขั้นตอนการนำเอาข้อมูลที่ได้จากการวิเคราะห์มาทำความเข้าใจ เพื่อการวางแผนในการแก้ปัญหา ซึ่งมีขั้นตอนต่อไปนี้
         1. เลือกเครื่องมือที่ใช้ในการแก้ปัญหา เลือกยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่เรียกว่า “ขั้นตอนวิธี” (Algorithm)
         2. การออกแบบวิธีในการแก้ปัญหา ควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่าต่อความเข้าใจ เช่น ผังงาน (Flowchart) รหัสจำลอง (Pseudo Code)

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

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

ตรวจสอบและการปรับปรุงวิธีการแก้ปัญหาให้เหมาะสม

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

การถ่ายทอดความคิดในการแก้ปัญหาอย่างมีขั้นตอน

ทำได้ 2 ลักษณะ ดังนี้
1. การใช้ข้อความหรือคำบรรยาย รหัสจำลอง (Pseudo Code)
2. การใช้สัญลักษณ์ (Flowchart)