วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2559

สรุปบทที่5 ฟังก์ชันการรับและแสดงผลและฟังก์ชันทางคณิตศาสตร์

                         สรุปบทที่5
ฟังก์ชันการรับและแสดงผลและฟังก์ชันทางคณิตศาสตร์


       ฟังก์ชัน printf() เป็นฟังก์ชันที่ใช้สำหรับแสดงผลข้อมูล ไม่ว่าจะเป็นข้อมูลที่เป็นตัวอักขระ ข้อความ หรือค่าแปร
        ฟังก์ชัน scanf() เป็นฟังก์ชันที่ใช้สำหรับรับค่าข้อมูลจากทางแป้นพิมพ์ เพื่อจัดเก็บไว้ในตัวแปร
ทั้งฟังก์ชัน printf()และscanf() จะต้องกำหนดรหัสรูปแบบข้อมูลให้สัมพันธ์กับชนิดข้อมูลของตัวแปร ซึ่งรายละเอียดดังนี้
        ฟังก์ชัน getchar() เป็นฟังก์ชันที่นำมาสำหรับค่าตัวอักษรหรืออักขระ 1 ตัว โดยค่าที่ป้อนลงไป จะแสดงให้เห็นทางจอภาพ และจะต้องเคาะ Enter เพื่อแสดงถึงการสิ้นสุดการป้อนข้อมูล
        ฟังก์ชัน putchar() เป็นฟังก์ชันที่นำมาใช้เพื่อพิมพ์ค่าตัวแปรอักขระ ที่ถูกป้อนด้วยฟังก์ชัน getchar() รวมถึงการสั่งพิมพ์รหัสพิเศษ (Escape Sequence)
ในบางครั้ง รหัส Enter ที่เราได้เคาะเข้าไปเพื่อยืนยันการป้อนข้อมูลจากฟังก์ชัน scanf() ได้ข้ำแรบกวนการทำงานของคำสั่งบางตัว มำให้ข้ามการรับค่าตัวแปรตัดถัดไปซึ่งเหตุการณ์ดังกล่าวสามารถแก้ไขได้ด้วยการเคลียร์ บัฟเฟอร์ในหน่วยความจำออกไปเสียก่อนด้วยฟังก์ชัน fflush(stdin)
       ฟังก์ชัน getch() ใช้สำหรับรอรับค่าแป้นพิมพ์โดยไม่ต้องยืนยันด้วยการเคาะปุ่ม Enter และอักขระที่ป้อนเข้าไป จะไม่แสดงออกมาให้เห็นทางจอภาพ
        ฟังก์ชัน getche() จะคล้ายกับฟังก์ชัน getch() แตกต่างกันเพียงแสดงอักขระที่ป้อนเข้าไปออกมาให้เห็นทางจอภาพ
        ฟังก์ชัน clrscr() เป็นฟังก์ชันที่ใช้สำหรับล้างจอภาพ
        ฟังก์ชัน gotoxy() เป็นฟังก์ชันที่ใช้สำหรับกำหนดตำแหน่งเคอร์เซอร์บนจอภาพ บนหน้าจอแบบเท็กซ์โหมด
 ทั้งฟังก์ชัน printf(), scanf(), getchar() และ putchar() จะถูกประกาศใช้งานอยู่ใน
เฮดเดอร์ไฟล์<stdio.h>
 ทั้งฟังก์ชัน getch(), getche(), clrscr() และ gotoxy() จะถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์<conio.h>
ทั้งฟังก์ชัน pow(), sqrt(), cos(), sine(), tan(), ceil() และ floor() เป็นต้นจะถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์<math.h>



สรุปบทที่ 4 เรื่องนิพจน์เละตัวดำเนินการ

สรุปบทที่ 4 เรื่องนิพจน์เละตัวดำเนินการ

นิพจน์ประกอบด้วย ตัวแปร ค่าคงที่ และตัวดำเนินการทางคณิตศาสตร์มาประกอบรวมกัน


ตัวดำเนินการพื้นฐานในภาษาซี ประกอบด้วย

1.ตัวดำเนินการคณิตศาสตร์
2.ตัวดำเนินการยูนารี
3.ตัวดำเนินการเปรียบเทียบ
4.ตัวดำเนินการตรรกะ
5.ตัวดำเนินการกำหนดค่าแบบผสม
6.ตัวดำเนินการเงื่อนไข

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

สรุปบทที่ 3 เรื่อง องค์ประกอบของภาษาซี ตัวแปรและชนิดข้อมูล

สรุปบทที่ 3
เรื่อง  องค์ประกอบของภาษาซี ตัวแปรและชนิดข้อมูล
         ภาษาชีถูกพัฒนาขึ้นโดย เดนนิส ริตชี ที่ห้องปฏิบัติการเบลล์ ซึ่งมีต้นแบบมาจากภาษาบีที่อยู่บนรากฐานของภาษาบีซีพีแอล
    ทางสถาบัน ANSI ได้รับรองมาตรฐานภาษาซีขึ้นมา ภายใต้ชื่อ ANSI-C
 ปัจจุบันได้มีการพัฒนาภาษาซีให้มีประสิทธิภาพมากขึ้นเป็นเวอร์ชั่นต่างๆมากมายด้วยการนำมาพัฒนาต่อยอดเป็นC++หรือC#โดยได้เพิ่มชุดคำสั่งที่สนับสนุนการโปรแกรมเชิงวัตถุและยังคงรองรับชุดคำสั่งมาตรฐานของภาษาซีดั้งเดิมอยู่ด้วย
ภาษาซีมีคุณสมบัติที่โดดเด่นกว่าภาษาระดับสูงทั่วไปในหลายๆ ด้านด้วยกัน  คือ
1. เป็นภาษาที่ไม่ขึ้นกับฮาร์ดแวร์และระบบปฏิบัติการ
2. เป็นภาษาที่มีความยืดหยุ่นสูงมาก
3. มีประสิทธิภาพสูง
4. ความสามารถในด้านการโปรแกรมแบบโมดูล
5. มีตัวแปรชนิดพอยน์เตอร์
6.ภาษาซีมองตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แตกต่างกัน (Case Sensitive)
 โครงสร้างโปรแกรมในภาษาซี แบ่งออกเป็นส่วนต่างๆ ดังนี้
1. ตัวประมวลผลก่อน (Preprocessor Directive)
2. ฟังก์ชันหลัก
3. ชุดคำสั่ง
4. คำอธิบายโปรแกรม


กฎเกณฑ์ที่ต้องรู้ในการเริ่มต้นฝึกหัดเขียนโปรแกรมภาษาซี คือ
1. ที่ส่วนหัวโปรแกรม จะต้องกำหนดตัวประมวลผลก่อนเสมอ
2. ชุดคำสั่งในภาษาซี จะใช้อักษรตัวพิมพ์เล็กทั้งหมด
3. ตัวแปรที่ใช้งาน ต้องถูกประกาศชนิดข้อมูลไว้เสมอ
4. ภายในโปรแกรม จะต้องมีอย่างน้อย ฟังก์ชันเสมอ ซึ่งก็คือฟังก์ชัน main()นั่นเอง
5. สามารถใช้เครื่องหมายปีกกา{ เพื่อบอกจุดเริ่มต้นของชุดคำสั่ง และเครื่องหมายปีกกาปิด}
6. เมื่อเขียนชุดคำสั่งเสร็จแล้ว ต้องจบด้วยเครื่องหมาย ;
7. สามารถอธิบายโปรแกรมตามความจำเป็นด้วยการใช้เครื่องหมาย/*…..*/ หรือ //….
ตัวแปร คือ ชื่อที่ตั้งขึ้นตามกฎการตั้งชื่อตัวแปร เพื่อนำมาใช้จัดเก็บข้อมูล และอ้างอิงใช้งานภายในโปรแกรม
กฎเกณฑ์การตั้งตัวแปรในภาษาซี ประกอบด้วย
1. สามรถใช้ตัวอักษร A ถึง หรือ ถึง รวมทั้งตัวเลข ถึง และเครื่องหมาย _(Underscore) มาใช้เพื่อการตั้งชื่อตัวแปรได้ แต่มีเงื่อนไขว่า ห้ามใช้ตัวเลขนำหน้าชื่อตัวแปร ตัวอย่างเช่น 1 digit ถือว่าผิด แต่ถ้าตั้งชื่อใหม่เป็น digit1 หรือ digit1 ถือว่าถูกต้อง
2. ชื่อตัวแปรสามารถมีความยาวได้ถึง 31 ตัวอักษร ( กรณีเป็น ANSI-C )
3. ชื่อตัวแปร จะต้องไม่ตรงกับคำสงวน ( Reserved Words )







ชนิดข้อมูลตัวอักษร เป็นชนิดข้อมูลที่จัดเก็บตัวอักษรหรือตัวอักษรขระเพียง ตัวเท่านั้นกรณีที่ต้องการจัดเก็บตัวอักขระหลายๆ ตัว เราจะเรียกกลุ่มข้อความนี้ว่า สตริง(String 1)
ชนิดข้อมูลแบบเลขจำนวนเต็ม หมายถึงค่าตัวเลขจำนวนเต็ม ไม่มีทศนิยม ซึ่งประกอบด้วย int และ long int แบบไม่มีทศนิยม นอกจากนี้ยังสามารถใช้คำเพิ่มเติมนำหน้าชนิดข้อมูลอย่าง short หรือ long ก็ได้
ชนิดข้อมูลแบบทศนิยม หรือเลขจำนวนจริง คือ ค่าตัวเลขที่สามารถมีจุดทศนิยม โดยชนิดข้อมูลนี้สามารถกำหนดขนาดความกว้างตามความต้องการ เช่น floatdouble หรือ long double
   ตัวแปรแบบภายใน  จะถูกประกาศใช้งานเฉพาะฟังก์ชันนั้นๆ ดังนั้น หากตัวแปรแบบภายในของและฟังก์ชัน มีการกำหนดชื่อตัวแปรเหมือนกัน จะถือว่าเป็นตัวแปรคนละตัว

   ตัวแปรแบบภายนอก  ถือเป็นตัวแปรสาธารณะที่ทุกๆ โปรแกรมย่อยหรือทุกๆ ฟังก์ชันสามารถใช้งานได้ โดยจะถูกประกาศไว้ภายนอกฟังก์ชัน

สรุปบทที่ 2 เรื่อง หลักการเขียนโปรแกรมภาษา C และการติดตั้งโปรแกรม turbo C++

 สรุปบทที่ 2

เรื่อง หลักการเขียนโปรแกรมภาษา C และการติดตั้งโปรแกรม turbo C++

หลักการเขียนโปรแกรมภาษา C ประกอบด้วย 

1.สร้างโปรแกรม
2.คอมไพล์โปรแกรม
3.เชื่อมโยงโปรแกรม
4.รันโปรแกรม

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






     คอมไพเลอร์ เป็นตัวแปลภาษาที่จะแปลแบบทั้งโปรแกรม หากแปลแล้วพบข้อผิดพลาด โปรแกรมจะไม่สามารถรันได้ ต้องกลับไปแก้ไขโปรแกรมให้ถูกต้อง แล้วคอมไพล์ใหม่จนกระทั่งไม่พบข้อผิดพลาดใดๆ


 








     Turbo C++ เวอร์ชั่น 4.5 เป็นโปรแกรมที่รวมเอดิเตอร์และคอมไพล์เลอร์ไว้ในตัวเดียวกัน สามารถติดตั้งเพื่อใช้งานระบบปฎิบัติการ Windows ได้ นอกจากนี้ตัวโปรแกรมยังมีขนาดเล็ก ทำงานรวดเร็วและมีประสิทธิภาพ เหมาะกับการนำมาใช้งานเพื่อฝึกหัดเขียนโปรแกรมได้เป็นอย่างดี เนื่องจากติดตั้งง่ายใช้งานสะดวก สามารถหาดาวน์โหลดมาใช้งานได้จากอินเทอร์เน็ต






ชนิดของข้อผิดพลาด ที่เกี่ยวกับงานเขียนโปรแกรม ประกอบด้วย 

1.ข้อผิดพลาดที่เกิดจากไวยากรณ์
2.ข้อผิดพลาดที่เกิดจากตรรกะโปรแกรม
3.ข้อผิดพลาดขณะรันโปรแกรม

วันศุกร์ที่ 4 พฤศจิกายน พ.ศ. 2559

สรุปบทที่ 1 เรื่อง หลักการเขียนโปรแกรมเบื้องต้น

สรุปบทที่ 1

เรื่อง  หลักการเขียนโปรแกรมเบื้องต้น

ขั้นตอนการเขียนโปรแกรม สามารถแบ่งออกเป็น 5 ขั้นตอนด้วยกันคือ

1.การวิเคราะห์ปัญหา
2.การออกแบบโปรแกรม
3.การเขียนโปรแกรม
4.การทดสอบโปรแกรม
5.การจัดทำเอกสารประกอบโปรแกรม

รูปแบบการเขียนโปรแกรม สามารถแบ่งออกเป็น 2 รูปแบบด้วยกันคือ

1.การเขียนโปรแกรมเซิงโครงสร้าง
2.การเขียนโปรแกรมเชิงวัถตถุ


                   




การเขียนโปรแกรมเชิงโครงสร้าง ประกอบด้วย

1.ชุดคำสั่งภายในโปรแกรมจะเป็นลำดับขั้ตอน(Sequence)
2.มีทางเลือกในการตัดสินใจทางใดทางหนึ่ง(Decision)
3.มีชุดคำสั่งเพื่อการทำซ้ำ(Repetition)

จุดประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง

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

คุณสมบัติของอัลกอริทึม ประกอบด้วย

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

ในการพิจารณาถึงประสิทธิภาพของอัลกอริทึม จะพิจารณาถึงเกณฑ์พื้นทางต่อไปนี้

1.อัลกอริทึมที่ดีต้องใช้เวลาในการดำเนินการน้อยที่สุด
2.อัลกอริทึมที่ดีต้องใช้หน่วยความจำน้อยที่สุด
3.อัลกอริทึมที่ดีต้องมีความยืดหยุ่น
4.อัลกอริทึมที่ดีต้องใช้เวลาในการพัฒนาน้อยที่สุด
5.อัลกอริทึมที่ดีต้องง่ายต่อความเข้าใจ

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

หลักการเขียนซูโดโค้ด

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


    
เครื่องหมาย = จะนำมาใช้เพื่อการกำหนดค่าและการคำนวณ เช่น x=0,sum = x+y
การอ่านหรือรับข้อมูล สามารถใช้คำสั่ง PRINT,PROMPT และ WPITE แต่ PRINT และ PROMPT มักกูกนำไปใช้สำหรับการพิมพ์ค่าข้อมูล หรือข้อความ ในขณะที่ WIRITE จะนำไปใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
การแสดงผลข้อมูล สามารถใช้คำสั่ง PRINT , PROMPT , และ WRITE แต่ PRINT และPROMPT มักถูกนำไปใช้สำหรับการพิมพ์ค่าข้อมูล หรือข้อความในขณะที่ WRITE จะรำไปใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
การกำหนดเงื่อนไข จะใช้ประโยคIF…THEN…ELSE โดยหากเงื่อนไขที่ตรวจสอบเป็นจริง ก็จะทำกิจกรรมหลัง THEN แต่ถ้าเงื่อนไขเป็นเท็จก็จะทำกิจกรรมหลังELSE
 กรณีที่มีการตรวจสอบเงื่อนไข IF ซ้อนกันหลายๆ ชั้น อาจทำให้แลดูยุ่งเหยิงและตรวจสอบยาก ดังนั้น จึงสามารถใช้คำสั่ง CASE…ENDCASE แทนได้
คำสั่งที่ใช้ทำงานเป็นรอบหรือลูป  มีอยู่หลายรูปแบบด้วยกันคือ
1. ลูป WHILE…ENDWHILE เป็นลูปที่มีการตรวจสอบเงื่อนไขก่อน ดังนั้นหากเงื่อนไขเป็นจริงก็จะทำกิจกรรมภายในลูปซ้ำไปเรื่อยๆ จนกระทั่งเงื่อนไขเป็นเท็จก็จะหลุดออกจากลูป แต่อย่างไรก็ตาม หากเงื่อนไขที่ตรวจสอบครั้งแรกเป็นเท็จก็จะไม่มีการดำเนินกิจกรรมภายในลูปเลย
2. ลูป DO…UNTIL เป็นลูปที่อย่างน้อยต้องดำเนินการภายในลูปรอบหนึ่งเสมอจากนั้นจึงทำการตรวจสอบเงื่อนไขโดยจะวนซ้ำเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ จึงหลุดออกจากลูป
3. ลูป FOX…NEXT เป็นลูปที่มีการกำหนดรอบการวนซ้ำที่จำนวนรอบที่แน่นอน
กรณีที่โปรแกรมมีขนาดใหญ่ อาจเขียนซูโดโค้ดด้วยด้วยการแบ่งออกเป็นโพรซีเยอร์ได้โดยแต่ละโพรซีเยอร์ต่างก็มีหน้าที่ของตนโดยเฉพาะ และสามารถเรียกใช้งานได้บ่อยตามที่ต้องการ สำหรับการเรียกใช้งาน ก็จะใช้ชุดคำสั่ง CALL แล้วตามด้วยชื่อโพรซีเยอร์ และเมื่อทำงานจนโพรซีเยอร์นั้นๆ แล้ว ก็จะกลับมายังตัวโปรแกรมหลัก เพื่อทำงานชุดคำสั่งในลำดับถัดไป