http://thaicursor.blogspot.com  getcode

วันศุกร์ที่ 23 สิงหาคม พ.ศ. 2556

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

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

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

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

  ๑ ประเภทของโครงงานคอมพิวเตอร์

๑.๑) สื่อเพื่อการศึกษา

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


๑.๒) พัฒนาเครื่องมือ

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

๑.๓) จำลองทฤษฎี โครงงานจำลองทฤษฎีเป็นโครงงานที่ใช้คอมพิวเตอร์ในการพัฒนาโครงงานเพื่อจำลองการทดลองทฤษฎีในด้านต่าง ๆ เช่น การทดลองเรื่องการไหลของของเหลว การจำลองการเคลื่อนที่ตามกฎข้อที่ ๒ ของนิวตัน การจำลองการตกของวัตถุ


๑.๔) ประยุกต์

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


๑.๕) เกม

 โครงงานเกมเป็นโครงงานที่ใช้คอมพิวเตอร์ในการพัฒนาโปรกรมเกมเพื่อการศึกษาเพื่อความบันเทิง โดยเกมที่พัฒนาขึ้นจะเน้นการใช้สมองในการฝึกความคิดอย่างมีหลักการ ตัวอย่างโครงงาน เช่น เกมทายคำศัพท์ ตะลุยมหันตภัยโลกร้อน



ประโยชน์ของการทำโครงงานคอมพิวเตอร์

๑) ได้เรียนรู้แนวทางการแก้ปัญหาที่เกิดจากการทำโครงงาน

๒) ส่งเสริมกระบวนการคิด การแก้ปัญหา และการตัดสินใจ

๓) ได้รับประสบการณ์ในการใช้คอมพิวเตอร์เพื่อแก้ปัญหา

๔) ส่งเสริมให้ใช้เวลาอย่างเป็นประโยชน์และสร้างสรรค์

๒. ขั้นตอนการทำโครงงาน

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

  • โครงงานเครื่องเตือนภัยน้ำท่วม

  • โครงงานเครื่องคิดเลขอัจฉริยะ

  • โครงงานตรวจสอบควันพิษในอากาศ

  • โครงงานสื่อออนไลน์พันธุ์ไม้ในโรงเรียน

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

เกร็ดน่ารู้ การนำข้อมูลจากเว็บไซต์ต้องพิจารณาถึงความน่าเชื่อถือของแหล่งผู้ให้ข้อมูล และควรหาข้อมูลจากหลายแหล่งแล้วทำการวิเคราะห์ข้อมูลก่อนนำไปใช้

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

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

 

โปรแกรมภาษาซี


 

 

ประวัติความเป็นมาของภาษาซี

รายงานภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรมแต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆ ที่เป็นภาษาคอมพิวเตอร์เช่นกัน ยกตัวอย่างเช่น 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 ในการพัฒนาโปรแกรมขนาดใหญ่ในปัจจุบันนี้
รูปแบบของการเขียนโปรแกรม
ชนิดของข้อมูล ประกอบไปด้วย
1. character (char) ใช้ 1 byte บน Dos มีค่า -128 ถึง127 นิยมใช้เก็บตัวอักษร 1 ตัวอักษร
2. integer (int) ใช้ 2 byte มีค่า -32768 ถึง 32767 และยังมี long ซึ่งคล้าย integer แต่เก็บด้วย ช่วงตัวเลขที่ยาวกว่าจึงกินเนื้อที่ ถึง 4 byte
3. float ใช้ 2 byte ใช้เก็บตัวเลขทศนิยม และยังมี double ซึ่งคล้าย float แต่เก็บด้วยช่วงตัวเลขที่ยาวกว่าจึงกินเนื้อที่ถึง 4 byte
4. ในภาษา C จะไม่มีชนิดข้อมูลเป็นstring แต่จะใช้สายของอักษร หรือ Array ของ Char แทนความจริงแล้ว ชนิดของข้อมูลยังสามารถจำแนกไปได้อีกมาก แต่ในที่นี้ขอแนะนำเพียงเท่านี้ก่อน ก็เพียงพอ
Derive Data Type - Array
- recore [structure]
ที่กล่าวมาข้างต้นว่าถ้าพบข้อความ เช่น "This is a book" ในการโปรแกรมทั้งข้อความนี้เราเรียกว่าstring และเนื่องจากในภาษา Cไม่มีตัวแปร String ทำให้เราต้องใช้ Array มาจัดการ นั่นคือเมื่อ C มองเห็น string จะจอง พื้นที่ในหน่วยความจำเป็น Array ของ Character บางคนอาจจะสงสัยว่าการจองพื้นที่ในหน่วยความจำของ Array เป็นอย่างไร ทำไมต้องจอง ก็ขอบอกว่า เวลาที่เราประกาศตัวแปรชนิดใดก็ตาม C ก็จะทำการไปหาเนื้อที่ในหน่วยความจำ ขนาดเท่าๆ กับ ชนิดข้อมูลที่เรากำหนดเอาไว้ ซึ่ง ถ้าเราประกาศตัวแปร 2 ตัว ไม่จำเป็นว่าตัวแปรสองตัวนี้จะถูกจองตรงเนื้อที่ที่มันติดกัน แต่ ถ้าเราจองเนื้อที่เป็นแบบ array นั่นหมายความถึงว่า ทุกๆ สมาชิกที่เป็นสมาชิกของ array จะถูกจองเนื้อที่ติดๆกันไป ตามขนาดความยาวของ array นั้น นั่นเอง ถ้าใครยังไม่เข้าใจก็เดี๋ยวจะมีการพูดถึง array อีกในตอนหลังตอนนี้ มาดูก่อนว่า ถ้าเราจะเก็บ string ที่มีข้อความว่า TOUCHAKORN จะต้องเก็บอย่างไร

T
O
U
C
H
A
K
O
R
N
NULL Character
การประกาศตัวแปร
ในภาษา C หากต้องการใช้ตัวแปร จะต้องทำการประกาศตัวแปรไว้ที่ส่วนบนก่อนที่จะถึงบรรทัดที่เป็นประโยคคำสั่ง การประกาศตัวแปรจะเป็นการบอก compiler ว่าตัวแปรของเรานั้นเป็นตัวแปรชนิดใด
Datatype
Keyword
character
integer
float
double
Char
int
float
double
รูปแบบของการประกาศคือ
Keyword list of variable ;
ตัวอย่างเช่นเราจะประกาศตัวแปรชื่อ chr1 และ chr2 เป็นตัวแปรชนิด Character เราจะใช้ว่า
char chr1 , chr2 ;
ข้อสังเกตเราจะเห็นได้ว่าหลังการประกาศตัวแปรจะมีเครื่องหมาย ; แสดงว่าการประกาศตัวแปรก็เป็น C Statement (คำสั่ง) เช่นกัน
ทดลองสังเกตตัวอย่างต่อไปนี้
#include< stdio.h> /* my second program */
main()
{ int First , Second , Sum; /* variable declaration */
First = 10 ;
Second = 20 ;
Sum = First + Second ;
printf( " The sum of %d and %d is %d " , First , Second , Sum );
}
ดูโปรแกรมแล้วพบว่านี่คือโปรแกรมที่จะทำการบวกเลข2 จำนวนคือ 10 และ 20 โดย การเก็บค่า 10 เอาไว้ในตัวแปรชื่อFirst และเก็บค่า 20 ไว้ในตัวแปร Second จากนั้นก็ทำการบวกทั้งสองค่าโดยเก็บผลลัพธ์ที่ได้ไว้ในตัวแปรที่ชื่อว่าSum จากนั้นทำการ แสดงค่าของทั้ง 3 ตัวแปรออกมาทางจอภาพ
อธิบายโปรแกรมโดยละเอียด จะได้ว่า
- ที่บรรทัด int First , Second , Sum ; นั้นเราได้สั่งให้มีการประกาศตัวแปรชนิด integer 3 ตัวคือ First , Second และ Sum
-
บรรทัดถัดมา คือ First = 10 ; เป็นการกำหนดค่า จำนวนเต็ม 10 ให้กับตัวแปรที่เป็นจำนวนเต็ม (integer) ส่วนนี้สำคัญคือ เรากำหนดตัวแปรเป็น integerนั่นก็คือ ตัวแปรชนิดนี้จะเก็บเฉพาะค่าที่เป็นจำนวนเต็มเท่านั้น หากเราใส่ค่า 10.2 ให้กับตัวแปร ตัวแปรนั้นก็ยังคงเก็บเลขจำนวนเต็มอยู่เสมอ

-
บรรทัดถัดมา คือ Second = 20 ; ก็คือการกำหนดค่า20 ให้กับตัวแปร Second
-
บรรทัดถัดมา คือ Sum = First + Second ; คือการนำค่าของ 2 ตัวแปรมาบอกกันและเก็บไว้ที่ตัวแปร
Sum
-
บรรทัดต่อมาคือ printf( " The sum of %d and %d is %d " , First , Second , Sum ); จะอธิบายละเอียดในหัวข้อถัดไป

ฟังค์ชันprintf() มีรูปแบบดังนี้
printf ( " control string " , variable list );
โดย control string อาจจะเป็นตัวอักษร ข้อความ หรือ ตัวกำหนดชนิดข้อมูล (Specifier) ซึ่งใช้กำหนดชนิดข้อมูลที่จะพิมพ์ ตัวกำหนดข้อมูลที่ควรทราบมีดังนี้
ตัวกำหนดชนิดข้อมูล
ความหมาย
%c
%d
%f
%lf
%s
%%
แทนตัวอักษร
แทนเลขจำนวนเต็ม
แทนเลขทศนิยม ( float )แทนเลขทศนิยม (double)แทนสตริงก์
แทนเครื่องหมาย %
ส่วน variable list ก็คือ list ของตัวแปร จากตัวอย่าง
printf( " The sum of %d and %d is %d " , First , Second , Sum );
พบว่า เรามี ตัวกำหนดชนิดข้อมูลคือ %d ซึ่งแทนชนิดข้อมูลที่เราจะพิมพ์คือinteger ซึ่ง %d ตัวแรกจะใช้แทนค่าของFirst ตัวที่สองจะใช้แทนค่าของ Second ตัวที่สามจะใช้แทนค่าของ Sumจากโปรแกรมข้างต้นผลrun ที่ออกมาจะปรากฎดังนี้
The sum of 10 and 20 is 30
นอกจากนี้เรายังพบว่าเรายังสามารถกำหนดลักษณะการพิมพ์ได้ดังต่อไปนี้
#include <stdio.h>
main()
{ int a;
float b ;
a = 50 ;
b = 10.583 ;
printf ( " a = %d \n " , a ) ;
printf ( " b = %f \n " , b ) ;
printf ( " a = %05d \n " , a );
printf ( " b = %10.4f \n " , b );
printf ( " b = % -10.4f \n " , b );
}

พบว่า ผล run ที่ได้คือ
a = 50
b = 10.583000
พบว่าแสดงทศนิยม 6 หลัก เป็นปกติ
a = 00050
พบว่า a มีความยาว 5 ตำแหน่ง นับจากซ้าย
b = ___10.5830
พบว่า เราสั่งให้ %10.4 คือ การสั่งให้มีความยาวทั้งหมด 10 ตำแหน่ง รวมด้วยการมีทศนิยม 4 ตำแหน่ง
b = 10.5830
คล้ายกับบรรทัดก่อนหน้าแต่เราใส่เครื่องหมาย - เพื่อให้มันพิมพ์ชิดซ้าย
Input command
คำสั่งในการ input ที่ใช้ง่ายๆก็คือ คำสั่ง
scanf(" ตัวกำหนดชนิดข้อมูล",&ตัวแปร);
ยกตัวอย่างเช่น ต้องการรับค่า จำนวนเต็ม มาใส่ไว้ในตัวแปรที่ชื่อ numberจะสั่งดังนี้
int number;
scanf("%d",&number);
สำคัญอย่าลืมเครื่องหมาย& และหากรับตัวแปร 2 ตัว โดย รับค่า จำนวนเต็มไว้ในตัวแปรชื่อ num1 และ รับค่า จำนวนจริง ไว้ในตัวแปร num2ทำได้โดย
int num1,num2;
scanf("%d %f",&num1,&num2);
หากต้องการรับข้อความTouchakorn ซึ่งก็คือ 10character ทำได้โดย
char name[
10];
scanf("%c",name);
สังเกตไหมครับว่าที่คำสั่ง scanf อันหลังนี้ตรงตัวแปร name ทำไมไม่มีเครื่องหมาย& ปรากฎอยู่ นั่นก็เป็นเพราะว่าเราได้ทำการกำหนดตัวแปร name ไว้เป็นตัวแปร array ชนิด character ดังนั้นการที่เราเรียกชื่อตัวแปรที่เป็นarray นั่นก็หมายความว่าเราได้ทำการเรียก"ที่อยู่" ของตัวแปรกลุ่มนั้นไว้แล้วจึงไม่จำเป็นต้องใส่เครื่องหมาย& แต่อย่างใด นั่นเป็นการแสดงให้เห็นว่า เมื่อเราเรียกคำสั่ง scanfตัวคำสั่งนี้จะทำการยัดค่าที่ผู้ใช้ ใส่ให้เก็บไว้ในตัวแปรตามที่อยู่ที่ให้ไว้นั่นคือ

scanf("%d",&number);
ก็เป็นการยัดค่าตัวแปรinteger (รู้ได้จาก %d) ไว้ในที่อยู่(&)ของตัวแปรที่ชื่อ number และเรายังรู้อีกว่าโดยปกติการกำหนดค่าให้กับตัวแปรที่เป็นarray นั้นจำเป็นจะต้องมีการใส่ index ให้กับ ตัวแปรนั้นเสมอว่า จะเก็บไว้ใน array ช่องใด เช่นสมมติ ตัวแปรชนิด integer ชื่อ num[7] คือตัวแปรที่ชื่อ num ที่มีช่องสมาชิกย่อยทั้งหมด7ช่องด้วยกันโดย ตัวแปร num จะมีโครงสร้างดังนี้
num[0]
num[1]
num[2]
num[3]
num[4]
num[5]
num[6]
และหากเราต้องการจะกำหนดค่าให้กับตัวแปรnum ในแต่ละช่องสามารถทำได้โดย num[0]=10; หรือ num[1]=20;เป็นต้น นั่นคือการเขียนชื่อตัวแปรแล้วตามด้วย index ของตัวแปรนั้นว่าต้องการจะกำหนดค่า ของเราไว้ในช่องใดของ array num นั้น และที่เราต้องรู้อีกอย่างก็คือ หากเราเรียกชื่อตัวแปร array เฉยๆ โดยไม่ได้ทำการใส่ index ให้กับตัวแปรนั้นเช่นเราเรียกnum นั่นจะกลายเป็นการชี้ไปยังที่อยู่ของตัวแปร num ที่อยู่ใน หน่วยความจำของเครื่อง ตอนนี้อยากให้มองหน่วยความจำ เป็นช่องๆที่เรียงติดกันยาวมาก และเดิมทีการที่เราประกาศตัวแปร ก็คือการที่ตัวชี้ชี้ลงไปยังช่องๆในหน่วยความจำนั้นอย่างสุ่มคือ เราก็ไม่รู้ว่าเมื่อเราประกาศตัวแปรแล้วมันจะไปชี้ที่ใดของหน่วยความจำมันจะทำการจองจำนวนช่องตามชนิดของตัวแปร เช่นถ้าประกาศตัวแปรชนิด integer มันอาจจะจองสัก 2 ช่องที่ติดกัน ถ้าประกาศตัวแปร double มันอาจจะจองสัก 4 ช่องติดกันเป็นต้น และหากเราจองตัวแปรชนิด array ที่เป็น integer ตามข้างต้น มันก็จะจองทั้งหมด 7 ช่องติดกัน โดยแต่ละช่องก็จะมีคุณสมบัติเป็นช่องของ integer ซึ่งอาจจะจอง2ช่อง ใน num[0] จนถึง num[6] หากเรียกชื่อตัวแปรที่เป็นarray เฉยๆ โดยไม่ใส่ index ให้มันมันก็จะทำการชี้ไปที่ที่อยู่ของตัวแปรนั้นนั่นเอง จากนั้นจึงเป็นเหตุผลว่าทำไมคำสั่ง scanf ที่รับตัวแปรที่เป็นarray ของ character เราจึงไม่ต้องใส่เครื่องหมาย& อยากจะบอกแค่นี้แหละ แต่ตอนนี้ก็ต้องถือว่าเรามีความรู้เรื่อง array กันบ้างแล้วไม่มากก็น้อย ขอย้ำว่าเป็นเฉพาะตอนรับ array ของ character(หรือในความหมายคือการรับ string นั่นแหละ เนื่องจากในภาษาซีไม่มีตัวแปรชนิด string จึงจำเป็นต้องใช้ตัวแปรที่เป็นarray ของ character มาแทน ) เท่านั้นนะ ที่ไม่ต้องใส่ & หน้าตัวแปรในคำสั่งscanf อย่าเข้าใจผิดหากเป็นตัวแปรชนิดอื่นก็ทำไปตามกฎ
คำสั่ง for loop
for(ตัวนับ= i;เงื่อนไขที่จะให้ยังทำงานอยู่ในloop; การเพิ่มหรือการลดตัวนับ)
{
statement ;
}
ก่อนอื่นต้องขออธิบายก่อนว่านี่คือโครงสร้างของ for loop โดยขอให้สังเกตบรรทัดแรกตรงที่มีคำสั่ง for แล้วให้ดูในวงเล็บ ปรากฎว่าตามรูปแบบมาตรฐานนั้น ในส่วนของวงเล็บหลังคำว่าfor จะประกอบไปด้วย 3 ส่วน ส่วนแรกก็คือ การกำหนดค่าเริ่มต้นให้กับตัวนับ อาจจะงงว่าตัวนับที่พูดถึงคืออะไร ใน for loop นั้น จำเป็นจะต้องมีตัวนับอยู่ด้วยเสมอ ซึ่งตัวนับนี้ จะเป็นตัวบอกเราว่า loop ของเรานั้นทำการวนซ้ำมาเป็นรอบที่เท่าไรแล้ว และในส่วนแรกนี้เราจำเป็นจะต้องมีการกำหนด ค่าเริ่มต้นให้กับตัวนับก่อน ในส่วนที่สอง เงื่อนไขที่จะให้ยังทำงานอยู่ใน loop นี้ โดยส่วนใหญ่จะเป็นการกำหนดว่าเมื่อตัวนับมีการวนซ้ำ ถึงจำนวนรอบเท่านั้นเท่านี้ก็จะให้หลุดจาก loop ในส่วนที่สาม การเพิ่มหรือการลดตัวนับ ตรงนี้สำคัญ ซึ่งจะเป็นส่วนที่ทำให้ ตัวนับของเรามีการเพิ่มค่าหรือลดค่า ในแต่ละรอบของการวนซ้ำเช่นอาจเพิ่มทีละหนึ่ง หรือ เพิ่มทีละ3 เป็นต้นหรืออาจจะลดทีละ 1 หรือลดทีละ 3 ก็แล้วแต่โปรแกรมจะกำหนด หลังจากวงเล็บที่อยู่หลัง for ก็จะมีเครื่องหมาย ปีกกาเพื่อให้เข้าสู่ส่วนของคำสั่ง ที่จะต้องทำหลังจากบรรทัด for ก็มาถึง statement ซึ่งจะเป็นส่วนที่ให้เราเขียนคำสั่งว่า ในแต่ละรอบนั้น เราจะให้โปรแกรมทำงานอะไร ซึ่งก็อาจมีได้หลายคำสั่ง บรรทัดสุดท้ายก็คือ ปีกกาปิดเพื่อจบโครงสร้าง for loop

ตัวอย่างการบวกเลขตั้งแต่ 1 ถึง 100 #include<stdio.h>
main()
{
int i,ans;
ans=0;
for(i=1;i<=100;i++)

{ ans=ans+i;
}
printf("answer is %d",ans);
}
ในที่นี้เราทำการกำหนดให้ตัวแปรi เป็นตัวแปรนับ ส่วน ansเป็นตัวแปรที่ใช้เก็บค่าคำตอบ ในบรรทัด for นั้นไม่มีปัญหาอะไรยกเว้น ที่เราเจอ i++ นั่นก็หมายถึง i+1 นั่นเอง คือ ใน loop นี้เราจะทำการเพิ่มตัวนับi ไปทีละ
1
สมมติว่าหากเราต้องการจะแสดงเฉพาะเลขคี่ที่อยู่ระหว่าง1 ถึง 100 เราจะทำ
ตัวอย่าง การแสดงเฉพาะเลขคี่ที่อยู่ในช่วงตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{ int i ;
for(i=1;i<=100;i=i+2)
{ printf("Odd number is %d\n",i);
}
}
นั่นคือเราก็วน loop เหมือนเดิมเพียงแต่ในแต่ละรอบนั้นเราทำการเพิ่มค่า i ไปทีละ 2 ซึ่งเดิมค่า i มีค่าเท่ากับ 1 พอ compiler มา check ว่า 1<=100 นั้นจริงไหม ปรากฎว่าจริงก็ให้ทำงานใน loop ต่อ โดยมีการเพิ่มค่า i=i+2 นั่นหมายความว่าตอนนี้i มีค่าเป็น 1+2 ก็คือ 3 นั่นเอง ในรอบต่อมาเราก็แสดงค่า 3 ทำเช่นนี้ไปเรื่อยๆ เราก็จะได้เฉพาะเลขคี่
1,3,5,7,...,99
สมมติว่าหากเราต้องการจะแสดงเฉพาะเลขคู่ที่อยู่ระหว่าง 1 ถึง 100 เราจะทำอย่างไร
ตัวอย่างการแสดงเฉพาะเลขคู่ที่อยู่ในช่วงตั้งแต่ 1ถึง 100
#include<stdio.h>
main()
{ int i ;
for(i=2;i<=100;i=i+2)
{ printf("Odd number is %d\n",i);
}
}
เช่นเคยครับไม่ค่อยแตกต่างอะไรกับการ แสดงเฉพาะเลขคี่ แต่จะต่างกันตรงการเริ่มต้นค่าให้กับตัวนับครับ นั่นคือเราทำการเริ่มต้นค่า ตัวนับด้วย 2 นั่นคือตัวแปร i จะมีค่าเริ่มต้นเป็น 2 ในการวน loop รอบแรกครับจากนั้นก็เหมือนเดิมในแต่ละรอบ ค่า i จะถูกเพิ่มทีละ 2 ดังนั้นสุดท้ายเราก็จะได้2,4,6,8,10,...,100 ไปตามระเบียบและหากเราต้องการจะแสดงเฉพาะเลขคู่นี่ แต่ต้องการให้แสดงถอยหลัง คือ แสดง 100,98,96,94,...,8,6,4,2จะทำได้อย่างไร

ตัวอย่างการแสดงเฉพาะเลขคู่(ถอยหลัง)ที่อยู่ในช่วงตั้งแต่ 1 ถึง 100
#include<stdio.h>
main()
{ int i ;
for(i=100;i>=1;i=i-2)
{ printf("Odd number is %d\n",i);
}
}
นั่นคือในบรรทัดfor เรากำหนดค่าเริ่มต้นเป็น 100 ที่สำคัญคือเงื่อนไขเดิมเรากำหนดเป็น น้อยกว่าเท่ากับ แต่ในที่นี้เรากำหนดเป็นว่า i มากกว่าเท่า 1 loop จึงจะยังทำงานต่อ และที่สำคัญเช่นเดียวกันคือเราทำการลดค่า i ไปทีละ 2 ก็จะได้ ค่า100,98,96,...,4,2
คำสั่ง while loop
มีอีกหนึ่งโครงสร้างที่มีลักษณะคล้ายกับfor loop ที่อธิบายมาข้างต้น นั่นก็คือ while loop ก่อนอื่นต้องขอบอกถึง ความแตกต่าง ที่เห็นได้ชัดเจนระหว่าง for loop กับ while loop เสียก่อน นั่นคือ เราจะเห็นได้ว่า for loop นั้น เราจะมีการบอกถึง ค่าเริ่มต้น ค่าสิ้นสุด ของตัววิ่ง(จากข้างต้นก็คือตัว i นั่นเอง) แต่ while loop นั้นจะบอกแค่เงื่อนไขการจบเท่านั้น ซึ่งถ้าใน for loop นั้น เงื่อนไขการจบก็คือ การที่ตัววิ่ง วิ่งถึงค่าสิ้นสุด ก็จะหลุดออกจาก loop for แต่ while loop ก็มีลักษณะคล้ายกันแต่อาจจะไม่เหมือนกัน สักทีเดียว ลองมาดูกัน
while ( เงื่อนไขที่ทำให้ยังต้องเข้าไปใน loop )
{ statement ;
}
เรามักจะแปลได้ว่า"ขณะที่(.....เงื่อนไข......ยังเป็นจริงอยู่) ก็เข้าไปทำคำสั่งหลังเครื่องหมาย
{ "
ต่อไปนี้จะขอสร้างตัวอย่างขยายข้อความข้างบนหน่อย โดยเราจะสั่งให้มีการบวกเลขตั้งแต่1-100 เหมือนตัวอย่างใน for loopนั่นแหละ
#include<stdio.h>
main()
{ int i , ans;
i=1; /* initial variable */
ans=0;
while ( i <= 100 )
{ ans = ans + i ;
i=i+1; /* increase variable */
}
printf("answer is %d",ans);
}

จากตัวอย่างนี้ สิ่งที่สำคัญที่สุด ก็คือ การกำหนดค่าเริ่มต้นให้กับตัวแปร i , ans อันนี้สำคัญมากเราจะต้องกำหนดไว้เสมอ หากเราไม่กำหนดไว้ตั้งแต่เริ่มต้น โปรแกรมจะไปหยิบค่าอะไรก็ไม่รู้จากใน memory มาเก็บไว้ในตัวแปร i และ ans ซึ่งจะทำให้โปรแกรมของเราผิดพลาดทันที ส่วนใน while loop นั้นอธิบายได้ง่ายๆ ว่า ขณะที่ i ยังน้อยกว่าหรือเท่ากับ 100 อยู่ ก็ให้ทำคำสั่งหลังเครื่องหมาย { นั่นก็คือ ans=ans+i และจุดที่สำคัญอีกจุดหนึ่ง ไม่แพ้การ กำหนดค่าเริ่มต้นให้กับตัวแปร นั่นก็คือ บรรทัด i=i+1 ซึ่งเป็นการบอกว่าให้เพิ่มค่า i ไปทีละ 1 ในทุกๆรอบ หากขาดบรรทัดนี้ไป loop ของเรา จะวิ่งไม่หยุดหรือที่เรียกกันว่า infinite loop นั่นเอง เพราะหากเราไม่เพิ่มค่า i แล้ว ค่า i ตลอดโปรแกรมก็จะยังคงเท่ากับ 1เหมือนที่เรากำหนดไว้ตอนเริ่มต้น ดังนั้นเมื่อ compiler มาตรวจดูเงื่อนไขของ while loop ก็พบว่า ยังเป็นจริงอยู่ นั่นก็คือ 1ยังคงน้อยกว่าหรือเท่ากับ100 อยู่วันยังค่ำ นั่นก็คือ loop นี้จะวิ่งไปเรื่อยๆ ไม่มีวันหยุดนั่นเอง
ภาษาซี มีลักษณะเด่น(ข้อดี) ดังนี้
- เป็นภาษาคอมพิวเตอร์ที่มีการพัฒนาขึ้นใช้งานเพื่อเป็นภาษามาตรฐานที่ไม่ขึ้นกับโปรแกรมจัดระบบงานและไม่ขึ้นกับฮาร์ดแวร์
- เป็นภาษาคอมพิวเตอร์ที่อาศัยหลักการที่เรียกว่า"โปรแกรมโครงสร้าง" จึงเป็นภาษาที่เหมาะกับการพัฒนาโปรแกรมระบบ
- เป็นคอมไพเลอร์ที่มีประสิทธิภาพสูง ให้รหัสออบเจ็กต์สั้น ทำงานได้รวดเร็ว เหมาะกับงานที่ต้องการ ความรวดเร็วเป็นสำคัญ
- มีความคล่องตัวคล้ายภาษาแอสแซมบลี ภาษาซีสามารถเขียนแทนภาษาแอสแซมบลีได้ดี ค้นหาที่ผิดหรือ แก้โปรแกรมได้ง่าย ภาษาซีจึงเป็นภาษาระดับสูงที่ทำงานเหมือนภาษาระดับต่ำ
- มีความคล่องตัวที่จะประยุกต์เข้ากับงานต่างๆ ได้เป็นอย่างดี การพัฒนาโปรแกรม เช่น เวิร์ดโพรเซสซิ่ง สเปรดชีต ดาตาเบส ฯลฯ มักใช้ภาษาซีเป็นภาษาสำหรับการพัฒนา
- เป็นภาษาที่มีอยู่บนเกือบทุกโปรแกรมจัดระบบงาน มีในเครื่องไมโครคอมพิวเตอร์ตั้งแต่ 8 บิต ไปจนถึง 32 บิต เครื่องมินิคอมพิวเตอร์ และเมนเฟรม
- เป็นภาษาที่รวมข้อดีเด่นในเรื่องการพัฒนา จนทำให้ป็นภาษาที่มีผู้สนใจมากมายที่จะเรียนรู้หลักการของภาษา และวิธีการเขียนโปรแกรม ตลอดจนการพัฒนางานบนภาษานี้
ข้อเสีย
- เป็นภาษาที่เรียนรู้ยาก
- การตรวจสอบโปรแกรมทำได้ยาก
- ไม่เหมาะกับการเขียนโปรแกรมที่เกี่ยวข้องกับการออกรายงานที่มีรูปแบบซับซ้อนมากๆ
ตัวอย่างโปรแกรม
#include<stdio.h> /* This is my first program. */
main()
{ clrscr();
printf("Hello,world \n");
printf("Press any key to stop \n");
getch();
} /*end of main*/

จากตัวอย่างข้างต้นเราสามารถอธิบายได้ดังนี้
ให้สังเกต ณ บรรทัดแรกที่เขียนว่า #include<stdio.h> บรรทัดนี้กำลังจะบอกเราว่าให้เรานั้นไปเอาไฟล์ที่มีสกุล.h นั้นมาเป็นส่วนหนึ่งของโปรแกรมเรา ซึ่งส่วนนี้ในทุกโปรแกรมจะต้องมี ส่วนไฟล์ที่เราไปเอามานั้นคือ header file ที่มีชื่อว่า stdio.h ถ้าจะจำกันให้ง่ายนั้นมันย่อมาจากstandard Input Output คือเป็นไฟล์ที่ใช้จัดการกับการ รับค่า และ แสดงค่าของโปรแกรม จากโครงสร้างในส่วนต้นนี้คือก่อนที่จะถึงตรงส่วนของคำว่า main() เราจะเรียกส่วนนี้ว่า Preprocessor บรรทัดถัดมาเขียนว่า/*........*/ ในส่วนนี้เราเรียกว่าส่วนของการ comment คือให้เราเขียนข้อความอะไรก็ได้ลงไปซึ่ง อาจจะเป็นการอธิบายโปรแกรมเป็นต้น ในที่นี้เราเขียนว่า This is my first program คือเป็นการบอกว่านี่คือโปรแกรมแรกของฉัน
บรรทัดถัดมาเขียนว่าmain() ข้อความนี้เขียนเพื่อบอกให้รู้ว่าหลังจากคำนี้จะมีเครื่องหมาย{ และจะจบด้วยเครื่องหมาย } ข้อความหรือคำสั่งที่อยู่ระหว่างเครื่องหมาย { และ } ทั้งหมดนั้นเป็นคำสั่งที่ใช้ในส่วนของmain โปรแกรม
ในทุกโปรแกรมจะต้องมีส่วนของmain ปรากฎอยู่เพราะเมื่อเราสั่ง compile โปรแกรม ตัว compile จะทำการวิ่งไปหา main ทุกครั้งเสมอC a collection of functions one of which must be main() function คำกล่าวนี้บอกเราว่า การโปรแกรม C ประกอบไปด้วย function ซึ่ง function หนึ่งที่จะต้องมี ก็คือ ฟังก์ชัน main() ตอนนี้เราได้เข้ามาสู่main() เรียบร้อยแล้ว บรรทัดแรกใน main function คือ clrscr(); สังเกตได้ว่าข้อความนี้จบลงด้วย เครื่องหมาย semicolon แสดงว่าข้อความนี้เป็นคำสั่ง และขอบอกไว้เลยว่าคำสั่ง clrscr(); นี้คือ คำสั่ง clear screen นั่นเองคือ เมื่อ โปรแกรมได้ run มาถึงส่วนนี้และได้ทำคำสั่งนี้หน้าจอที่ปรากฎจะถูก clear เพื่อรอทำคำสั่งต่อไป
คำสั่งถัดมาคือprint("....ข้อความ..... \n"); ความจริงแล้วคำสั่ง printf(อ่านว่า พริ้นซ์-เอฟ) มีอยู่หลายรูปแบบแต่เดี๋ยวเราค่อยๆดู กันไปก่อนในแบบแรกนี้คือว่า คำสั่งนี้จะทำการพิ่มพ์ ข้อความที่ปรากฎอยู่ระหว่างเครื่องหมาย " และ " ออกมาบนหน้าจอในที่นี้จะ พิมพ์คำว่า Hello,worldปรากฎขึ้นบนหน้าจอ ส่วนเครื่องหมาย \n ที่ปรากฎอยู่นั่นเป็นเครื่องหมายtab ซึ่งมีอยู่หลายรูปแบบ เช่นเดียวกันในที่นี้ \n หมายความว่า หลังจากพิมพ์ข้อความแล้วให้ cursor ย้ายไปขึ้นบรรทัดใหม่
บรรทัดถัดมาก็จะมีความหมายเช่นเดียวกับบรรทัดแรกคือ จะพิมพ์คำว่า Press any key to stop จากนั้น cursor ก็จะวิ่งไปขึ้นบรรทัดใหม่เพราะตัว tab \n ที่ผ่านมาคือคำสั่ง print f จะเห็นได้ว่าเป็นคำสั่งประเภทoutput คือสั่งพิมพ์ออกทางหน้าจอ ต่อมาจะมีคำสั่ง Input บ้าง นี่คือ คำสั่ง getch();เป็นคำสั่งสำหรับรับค่าจากทางkeyboard เข้ามา ซึ่งจริงๆแล้วรูปแบบของคำสั่งก็มีหลายรูปแบบเช่นกัน แต่ในที่นี้ ที่เราจะต้องใช้คำสั่งนี้ก็เพื่อว่า เมื่อเราพิมพ์ข้อความทั้งสองข้างต้นไปแล้วให้ผู้ใช้ กดปุ่มใดๆก็ได้เพื่อจบโปรแกรม
บรรทัดต่อมามีเครื่องหมาย} เป็นการแสดงว่าจบโปรแกรมในส่วนของ main ส่วนข้อความ /* end of main */ ที่ปรากฎก็คือ comment เช่นเดียวกับที่ได้อธิบายไปข้างต้นแล้ว เราจะสังเกตได้ว่า เมื่อมีเครื่องหมาย ปีกกาเปิด ก็ต้องมีเครื่องหมาย ปีกกาปิด เสมอ และอยู่กันเป็นคู่ๆด้วย
 

 
 

 

 
 


2.2 ขั้นตอนการพัฒนาโปรแกรม

ขั้นตอนการพัฒนาโปรแกรมประกอบด้วย
  1. การวิเคราะห์ปัญหา
  2. การออกแบบโปรแกรม
  3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
  4. การทดสอบและแก้ไขโปรแกรม
  5. การทำเอกสารประกอบโปรแกรม
  6. การบำรุงรักษาโปรแกรม

การวิเคราะห์ปัญหา

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

การออกแบบโปรแกรม

การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น

การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์

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

การทดสอบและแก้ไขโปรแกรม

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

การทำเอกสารประกอบโปรแกรม

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

การบำรุงรักษาโปรแกรม

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

 
 
ภาษาโปรแกรมคอมพิวเตอร์
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
ประวัติการพัฒนาภาษาปาสคาล
ประมาณปี พ.ศ. 2514 ดร.นิคลอล เวียร์ต (Professor Doctor Nicklaus Wirth) ชาวเมืองซูริค ประเทศสวิตเซอร์แลนด์ ได้พัฒนาภาษาสำหรับเขียนโปรแกรมคอมพิวเตอร์ขึ้นมาภาษาหนึ่ง ซึ่งจุดมุ่งหมายหลักในการพัฒนาภาษานี้ คือ ให้เป็นภาษาสำหรับฝึกเขียนโปแกรมสั่งงานคอมพิวเตอร์อย่างมีระบบและมีระเบียบ และได้กำหนดให้ภาษาใหม่นี้มีชื่อว่า ภาษาปาสคาล (Pascal Language) เพื่อเป็นเกียรติแก่ Blaise Pascal นักคณิตศาสตร์และปรัชญาแมธีชาวฝรั่งเศสผู้สร้างเครื่องคิดเลขเครื่องแรกของโลก
ภาษาปาสคาลมีต้นแบบมาจากภาษา ALGOL (Algorithmic Language) และตัวภาษาปาสคาลเองก็ได้ถูกพัฒนาต่อไปเป็นภาษาที่รู้จักกันในชื่อต่าง ๆ เช่น ภาษา MODULA2 ภาษา Ada ซึ่งเป็นภาษาที่ได้รับการคาดหมายว่าจะได้รับความนิยมในอนาคต แต่เป็นภาษาใหม่ที่มีโครงสร้างซับซ้อน
การเขียนโปรแกรมด้วยภาษาปาสคาลต้องเขียนโปรแกรมแบบมีโครงสร้างและมีระเบียบ แบบแผน เป็นภาษาที่ไม่มีหมายเลขบรรทัดแต่ทำงานตามลำดับโครงสร้างของโปรแกรม ดังนั้นภาษาปาสคาลเหมาะกับการศึกษาภาษาที่ใช้งานกับเครื่องคอมพิวเตอร์โดย ตรงและวิธีการเขียนโปรแกรมที่ถูกต้องเพื่อนำไปใช้ในการเขียนโปรแกรมภาษาชั้น สูงอื่น ๆ และ ภาษาเครื่อง รวมทั้งซอฟต์แวร์กึ่งสำเร็จรูป ต่อไปได้
สัญลักษณ์เบื้องต้น (Basic Symbol)
สัญลักษณ์ที่ใช้ในภาษาปาสคาลแบ่งออกได้เป็น 3 พวก ได้แก่
1. letter ได้แก่ A-Z , a-z และ มีขีดล่าง (_ อ่านว่า Underscore)
2. digit ได้แก่ 0-9 3 . Special symbol สัญลักษณ์พิเศษได้แก่ + - * / = ^ () [] {}. , : ; ' # $
หมายเหตุ ไม่มีความแตกต่างระหว่างอักษรพิมพ์ใหญ่และอักษรพิมพ์เล็ก
คำอธิบาย
โดยหลักการเขียนโปรแกรมด้วยภาษาปาสคาลแล้วจะต้องเขียนโปรแกรมให้ถูกต้องตามรูปแบบของคำสั่งภาษาซึ่งจะมีความหมายในตัวเองแล้ว แต่บางครั้งถ้าต้องการคำอธิบายเพิ่มเติมเพื่อสร้างความเข้าใจสามารถเขียนคำอธิบายเพิ่มเติมไว้ได้ในเครื่องหมาย { } ซึ่งสิ่งที่อยู่ในเครื่องหมาย { } ภาษาปาสคาลจะไม่ทำการคอมไพ
การเขียนคำอธิบายอาจจะเขียนอยู่ในโปรแกรม คือ ตั่งแต่คำว่า PROGRAM จนถึงคำว่า END. หรือจะอยู่นอกโปรแกรมก็ได้ เช่น
ตัวอย่าง 1.3.1 การเขียนคำอธิบายในโปรแกรม
Program Show Name;
Uses Crt;
Ch : Char;
Begin
{โปรแกรมแนะนำตนเอง}
Clrscr;
Writeln(‘อรทัย ชัยรัตนศักดิ์’);
Writeln(‘โปรแกรมวิทยาการคอมพิวเตอร์ ’);
Writeln(‘สถาบันราชภัฎพิบูลสงคราม’);
Ch := read key;
End.
ตัวอย่าง 1.3.2 การเขียนคำอธิบายนอกโปรแกรม
{โปรแกรมแนะนำตนเอง}
Program Show Name;
Uses Crt;
Ch : Char;
Begin
Closure;
Written(‘อรทัย ชัยรัตนศักดิ์’);
Written(‘โปรแกรมวิทยาการคอมพิวเตอร์ ’);
Written(‘สถาบันราชภัฎพิบูลสงคราม’);
Ch := read key;
End.
ชื่อ (Identifier)
ชื่อ ได้แก่ ชื่อที่ใช้ในโปรแกรม เช่น ใช้เป็นชื่อโปรแกรม ชื่อตัวแปร ชื่อตัวคงที่ ชื่อ procedure ชื่อ Function ชื่อประกอบขึ้นจาก letter หรือ digit แต่จะต้องไม่ขึ้นต้นด้วย digit และจะต้องไม่มีช่องว่างในส่วนประกอบเหล่านี้ ชื่อต้องมีความยาวอย่างน้อย 1 อักขระ แต่ไม่เกิน 127 อักขระ หรือไม่เกิน 1 ไลน์ (Line)
ตัวอย่าง
1. ต่อไปนี้เป็น identifier
power ,Supper ,x_bar ,X2
2. ต่อไปนี้ไม่เป็น identifier
4time ไม่เป็นเพราะขึ้นต้นด้วยตัวเลข
No. ไม่เป็นเพราะมีเครื่องหมาย .
name#5 ไม่เป็นเพราะมีเครื่องหมาย #
xy 8 ไม่เป็นเพราะมีช่องว่าง
คำในภาษาปาสคาล (Word)
Word ได้แก่คำที่ใช้ในปาสคาลแบ่งออกได้เป็น
1. คำสงวน (Reserved Word) ได้แก่คำที่ใช้ในการกำหนดรูปแบบต่าง ๆ ในProgram ตามข้อกำหนดของภาษาปาสคาล ซึ่งคำสงวนนี้ไม่สามารถเปลี่ยนแปลงแก้ไขได้ และไม่สามารถนำมาตั้งเป็นชื่อได้
2. คำมาตรฐาน (Standard Word) ได้แก่คำที่เป็น Procedure หรือ Functionมาตรฐาน เป็นคำที่เปรียบเสมือนคำสั่งในโปรแกรม แต่ตัวมันเองเป็นโปรแกรม สามารถนำคำมาตรฐานมาเป็นชื่อได้แต่ไม่ควรทำเพราะจะทำให้เสียความหมายเดิมไป จึงต้องระวังอย่ากำหนดชื่อให้ซ้ำกับคำมาตรฐาน คำมาตรฐานได้แก่คำที่กำหนดใหม่ (User defined Word) โดยผู้ใช้ ซึ่งอาจจะเขียนเป็น Procedure หรือ Function และต้องไม่เป็นคำที่ปรากฏในข้อ 1, 2
ค่าคงที่ (Constants)
ค่าคงที่ (Constants) คือ ค่าที่กำหนดขึ้นมาใช้ในโปรแกรม โดยค่าคงที่นี้จะไม่มีการเปลี่ยนแปลงค่านั้นอีกตลอดการรันโปรแกรมนั้น ๆ เช่น
‘G’ เป็นค่าคงที่แบบอักขระ
‘Computer’ เป็นค่าคงที่แบบสตริง
2546 เป็นค่าคงที่แบบตัวเลข
หมายเหตุ
1. ค่าคงที่แบบอักขระและแบบสตริงต้องอยู่ในเครื่องหมายคำพูดเดี่ยวเท่านั้น ( ‘) และภายในเครื่องหมายคำพูดหากมีการเว้นช่องว่างจะถือว่าเป็นอักขระตัวหนึ่ง คือเป็นช่องว่างเมื่อออกจอภาพ
2. 2456 เป็นค่าคงที่แบบตัวเลข อ่านว่า สองพันสี่ร้อยห้าสิบหก สามารถนำไปทำการคำนวณทางคณิตศาสตร์ได้ แต่ถ้าเขียนไว้ในเครื่องหมายคำพูด ’2456’ จะเป็นค่าคงที่แบบสตริง อ่านว่า สองสี่ห้าหก ไม่สามารถนำมาทำการคำนวณทางคณิตศาสตร์ได้
แบบของข้อมูล (Data Type)
แบบของข้อมูล (Data Type) คือ การกำหนดคุณสมบัติให้กับตัวแปรข้อมูลชนิดนั้น ๆ ซึ่งแต่ละภาษาจะมีแบบของข้อมูลที่กำหนดมาให้เป็นมาตรฐานแล้ว เช่น Integer Real Boolean Char หรือผู้ใช้สามารถกำหนดแบบของข้อมูลชนิดใหม่ขึ้นมาใช้ได้ด้วยตัวเอง เช่น String Array
ตัวแปร (Variables)
ตัวแปร (Variables) คือ การตั้งชื่อหน่วยความจำที่ใช้ในการอ้างถึงหน่วยความจำที่เก็บข้อมูลในภาษาเครื่องโดยอ้างถึงแอดเดรส สามารถอ่านค่าและเปลี่ยนแปลงค่าได้ตลอดเวลา
สำหรับขนาดของหน่วยความจำของแต่ละข้อมูลหรือแต่ละตัวแปรนั้น จะมีขนาดไม่เท่ากัน ขึ้นกับแบบของข้อมูลของตัวแปรนั้น ๆ และตัวแปรแต่ละตัวถ้ากำหนดมาสำหรับแบบข้อมูลแบบไหนจะเก็บข้อมูลแบบนั้นได้ เท่านั้นไม่สามารถเก็บข้อมูลแบบอื่น ๆ ได้ การกำหนดตัวแปร เช่น
Var I : Integer;
R : Real;
Ch : Char;
St : String(10);
เป็นการกำหนดตัวแปร I เก็บข้อมูลแบบ Integer คือจำนวนเต็ม R เป็นตัวแปรเก็บข้อมูลแบบจำนวนจริง Ch เป็นตัวแปรเก็บข้อมูลแบบอักขระ และ St เป็นตัวแปรเก็บข้อมูลแบบสตริงยาวไม่เกิน 10 อักขระ
การให้ค่าคงที่ตัวแปร (Aassignment Variables )
เมื่อกำหนดตัวแปรแล้ว การดำเนินการทำสำคัญกับตัวแปร คือ การให้ค่ากับตัวแปร ซึ่งทำได้ 2 วิธีการ คือ
1. การอ่านจากอุปกรณ์ภายนอก เช่น การรับข้อมูลจากคีย์บอร์ด การอ่านค่าจากไฟล์ข้อมูล
2. การให้ค่าแก่ตัวแปรในโปรแกรม การให้ค่าแก่ตัวแปรในโปรแกรม ด้วยเครื่องหมาย := หมายความว่า เอาค่าที่อยู่ทางด้านซ้ายมือของเครื่องหมาย มาเก็บไว้ที่ตัวแปรที่อยู่ทางด้านขวามือของเครื่องหมาย สิ่งที่อยู่ทางด้านซ้ายมือของเครื่องหมาย ต้องเป็นตัวแปรครั้งละ 1 ตัวเท่านั้น ส่วนสิ่งที่อยู่ทางด้านขวามือของเครื่องหมาย สามารถเป็นได้ คือ
1. ค่าคงที่ เช่น Num: = 3; เป็นการให้ค่า 3 แก่ตัวแปร Num
Name: = ‘อรทัย’; เป็นการให้ค่าอรทัยแก่ตัวแปร Name
2. ตัวแปร เช่น Sum: = Num; เป็นการให้ค่า Num แก่ตัวแปร Sum ดังนั้น Sum ก็จะมีค่า 3 ตามค่าของ Num
3. นิพจน์ทางคณิตศาสตร์ เช่น Sum: = Num + 5; จะนำค่า Num มาเพิ่มอีก 5 แล้วให้ค่าแก่ตัวแปร Sum ดังนั้น Sum จะมีค่าเป็น 8
Num := Num + 1; จะนำค่า Num มาเพิ่มอีก 1 แล้วเก็บค่าไว้ที่ Num เหมือนเดิม ดังนั้น Num จะมีค่า เป็น 4

4. ฟังก์ชั่น เช่น Ch := Chr (125); เป็นการนำค่า 125 มาทำการแปลงด้วยคำสั่ง Chr ซึ่งเป็นการอ่านค่าตามรหัส ASCII ให้แก่ตัวแปร Ch
คณิตศาสตร์บูลีน (Boolean algebra)
คณิตศาสตร์บูลีน (Boolean Algebra) เป็นการดำเนินกรรมวิธีทางตรรกตัวดำเนินการ (Operators) ที่ใช้มากและมีในภาษาปาสคาลได้ได้ AND, OR และ XOR เรียกว่าตัวดำเนินการบูลีน (Boolean Operators) AND ให้ความเป็นจริงเมื่อเงื่อนไขเป็นจริงทั้งหมด นอกนั้นอีก 3 กรณีเป็นเท็จ OR ให้ความเป็นจริงเมื่อเงื่อนไขอันใดอันหนึ่งเป็นจริง ให้ความเป็นเท็จเมื่อเงื่อนไขเป็นเท็จทั้งหมด XOR ให้ความเป็นจริงเมื่อเงื่อนไขอันใดอันหนึ่งเป็นจริงเพียงหนึ่งเดียวเท่านั้น ถ้าเหมือนทุกเงื่อนไขจะเป็นเท็จ
operator operation operanal type result type
AND arithmetic and Integer Integer
AND logical and Boolean Boolean
OR arithmetic or Integer Integer
OR logical or Boolean Boolean
XOR arithmetic xor Integer Integer
XOR logical xor Boolean Boolean
ตัวอย่าง ตารางตรรกศาสตร์บูลีน
X Y AND OR XOR
true true true true false
true false false true true
false true false true true
false false false false false
ตัวดำเนินการ (Operators)
ตัวดำเนินการ (Operators) คือ เครื่องหมายที่ใช้ในการดำเนินกรรมวิธี เช่น เครื่องหมาย บวก ลบ คูณ หาร เป็นต้น กรรมวิธีในการดำเนินการในภาษาปาสคาล กระทำเช่นเดียวกับพีชคณิต คือ จะให้ข้อมูลทางซ้ายของตัวดำเนินการเป็นตัวตั้ง และให้ข้อมูลทางขวาของตัวดำเนินการเป็นตัวกระทำ
operator operation operanal type result type
+ addition Real, Real Real
+ addition Integer, Integer Integer
+ addition Real, Integer Real
- subtraction Real, Real Real
- subtraction Integer, Integer Integer
- subtraction Integer, Real Real

* multiplication Real, Real Real
* multiplication Integer, Integer Integer
* multiplication Real, Integer Real
/ division Real, Real Real
/ division Integer, Integer Real
/ division Real, Integer Real
DIV division Integer Integer
MOD modules Integer Integer

หมายเหตุ
DIV เป็นการหารแบบปัดเศษทิ้ง
MOD เป็นเศษของการหาร

ตัวอย่าง
123/4 = 30.75
123 DIV 4 = 30
&nbs ฟ