สรุปบทที่
1- 5
สรุปบทที่ 1
สรุปบทที่ 1
เรื่อง หลักการเขียนโปรแกรมเบื้องต้น
1. ขั้นตอนการเขียนโปรแกรม
สามารถแบ่งออกเป็น 5 ขั้นตอนด้วยกันคือ
1.1 การวิเคราะห์ปัญหา
1.2 การออกแบบโปรแกรม
1.3 การเขียนโปรแกรม
1.4 การทดสอบโปรแกรม
1.5 การจัดทำเอกสารประกอบโปรแกรม
2. รูปแบบการเขียนโปรแกรม สามารถแบ่งออกเป็น
2 รูปแบบด้วยกันคือ 2.1 การเขียนโปรแกรมเซิงโครงสร้าง
2.2 การเขียนโปรแกรมเชิงวัถตถุ
3.
การเขียนโปรแกรมเชิงโครงสร้าง ประกอบด้วย
3.1 ชุดคำสั่งภายในโปรแกรม
จะเป็นลำดับขั้นตอน ( Sequence )
3.2 มีทางเลือกในการตัดสินใจทางใดทางหนึ่ง ( Decision )
3.2 มีทางเลือกในการตัดสินใจทางใดทางหนึ่ง ( Decision )
3.3 มีชุดคำสั่งเพื่อการทำซ้ำ
( Repetition )
จุดประสงค์ของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้างประกอบด้วย
1 เพื่อสร้างโปรแกรมให้มีคุณภาพ และทำนายได้ว่าจะเกิดอะไรขึ้นในโปรแกรม
2 เพื่อสร้างโปรแกรมที่ง่ายต่อการปรับปรุงและแก้ไข
3 เพื่อให้ขั้นตอนการพัฒนาโปรแกรมมีระบบระเบียบยิ่งขึ้น
1 เพื่อสร้างโปรแกรมให้มีคุณภาพ และทำนายได้ว่าจะเกิดอะไรขึ้นในโปรแกรม
2 เพื่อสร้างโปรแกรมที่ง่ายต่อการปรับปรุงและแก้ไข
3 เพื่อให้ขั้นตอนการพัฒนาโปรแกรมมีระบบระเบียบยิ่งขึ้น
อัลกอริทึมหรือขั้นตอนวิธี
คือกระบวนการทำงานที่เป็นลำดับขั้นตอน ชัดเจน และมีการรับประกันว่า เมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบแล้ว
จะได้ผลลัพธ์ที่ถูกต้องตามความต้องการ
อัลกอริทึมที่นำมาใช้เพื่อการแก้ปัญหาหนึ่งๆ
อาจมีความแตกต่างกันได้ แต่ก็จะได้ผล เช่น เดียวกันทั้งนี้ขึ้นอยู่กับความเหมาะสม
และเป็นแนวทางที่คิดว่าดีที่สุดในสถานการณ์นั้นๆ
สัญลักษณ์ อัลกอริทึม
ตัวอย่าง
4.คุณสมบัติของอัลกอริทึม ประกอบด้วย
4.1 เป็นกระบวนการที่สร้างขึ้นจากกฏเกณฑ์
4.2 กฎเกณที่สร้างอัลกอริทึมต้องไม่คลุมเครือ
4.3 การประมวลผลต้องเป็นลำดับขั้นตอน
4.4 กระบวนการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
4.5 อัลกอริทึมต้องมีจุดสิ้นสุด
4.1 เป็นกระบวนการที่สร้างขึ้นจากกฏเกณฑ์
4.2 กฎเกณที่สร้างอัลกอริทึมต้องไม่คลุมเครือ
4.3 การประมวลผลต้องเป็นลำดับขั้นตอน
4.4 กระบวนการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
4.5 อัลกอริทึมต้องมีจุดสิ้นสุด
5. ในการพิจารณาถึงประสิทธิภาพของอัลกอริทึม
จะพิจารณาถึงเกณฑ์พื้นทางต่อไปนี้
5.1 อัลกอริทึมที่ดีต้องใช้เวลาในการดำเนินการน้อยที่สุด
5.2 อัลกอริทึมที่ดีต้องใช้หน่วยความจำน้อยที่สุด
5.3 อัลกอริทึมที่ดีต้องมีความยืดหยุ่น
5.4 อัลกอริทึมที่ดีต้องใช้เวลาในการพัฒนาน้อยที่สุด
5.5อัลกอริทึมที่ดีต้องง่ายต่อความเข้าใจ
5.1 อัลกอริทึมที่ดีต้องใช้เวลาในการดำเนินการน้อยที่สุด
5.2 อัลกอริทึมที่ดีต้องใช้หน่วยความจำน้อยที่สุด
5.3 อัลกอริทึมที่ดีต้องมีความยืดหยุ่น
5.4 อัลกอริทึมที่ดีต้องใช้เวลาในการพัฒนาน้อยที่สุด
5.5อัลกอริทึมที่ดีต้องง่ายต่อความเข้าใจ
ซูโดโค้ดและผังงาน
ต่างก็สามารถนำมาใช้เป็นตัวแทนของอัลกอริทึมได้
ผังงานจะประกอบด้วยสัญลักษณ์ที่ใช้แทนความหมายต่างๆ
ว่าการประมวลมีลำดับขั้นตอนใดบ้าง แต่ผังงานมีข้อจำกัดในเรื่องของการขาดรายละเอียด
ดังนั้น ในการทำงานจริงๆแล้ว ซูโดโค้ดจึงมักถูกนำมาใช้เป็นตัวแทนของอัลกอริทึมมากกว่า
6.หลักการเขียนซูโดโค้ด
6.1 ถ้อยคำหรือประโยคคำสั่ง ให้เขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
6.2 ในหนึ่งบรรทัดให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
6.3 ควรใช้ย่อหน้าให้เป็นประโยชน์ เพื่อแยกคำเฉพาะ รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย
6.4 แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีทางเข้าเพียงทางเดียวและมีทางออกทางเดียวเท่านั้น
6.5 กลุ่มของประโยคคำสั่งต่างๆอาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องกำหนดชื่อโมดูลเหล่านั้นด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
6.1 ถ้อยคำหรือประโยคคำสั่ง ให้เขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
6.2 ในหนึ่งบรรทัดให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
6.3 ควรใช้ย่อหน้าให้เป็นประโยชน์ เพื่อแยกคำเฉพาะ รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย
6.4 แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีทางเข้าเพียงทางเดียวและมีทางออกทางเดียวเท่านั้น
6.5 กลุ่มของประโยคคำสั่งต่างๆอาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องกำหนดชื่อโมดูลเหล่านั้นด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
การที่จะลงมือเขียนโปรแกรม
ต้องออกแบบขั้นตอนการทำงาน หรืออัลกอริทึม
(Algorithm) ก่อน ซึ่งเป็นเครื่องมือในการแสดงขั้นตอนการทำงานของระบบงานใด
ๆ เพื่อให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วและง่ายขึ้น
โดยเราจะเขียนอัลกอริทึมในลักษณะผังงาน
(Flowchart) หรือรหัสจำลองที่เรียกว่า
ซูโดโค้ด (Pseudocodes) ก็ได้
ซูโดโค้ด (Pseudocodes)
เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง
จะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ ให้เป็นโปรแกรมได้ง่ายขึ้น ส่วนใหญ่มักใช้คำเฉพาะ
(Reserve Word) ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่
ซูโดโค้ดที่ดี จะต้องมีความชัดเจน
สั้น และได้ใจความ ข้อมูลต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร
รูปแบบ
Algorithm <ชื่อของอัลกอริทึม>
1……………………………….
2……………………………….
3…………………………………
END
1……………………………….
2……………………………….
3…………………………………
END
ตัวอย่างที่ 1 การเขียนซูโดโค้ด สำหรับให้คอมพิวเตอร์หาค่าเฉลี่ยจากข้อมูลที่รับเข้าทางแป้นพิมพ์
ถ้าใส่ค่าศูนย์แสดงว่าหยุดป้อนข้อมูล เขียนได้ดังนี้
Algorithm
การหาค่าเฉลี่ย
1. เริ่มต้น
2. ตัวนับ = 0
3. ผลรวม = 0
4. รับค่าทางแป้นพิมพ์เก็บไว้ในตัวแปร (ข้อมูล)
5. ถ้า ข้อมูล มากกว่า 0
เพิ่มค่าตัวนับขึ้นหนึ่งค่า
ผลรวม = ผลรวม + ค่าข้อมูล
ย้อนกลับไปทำขั้นตอนที่ 3
ถ้าไม่มากกว่าไปทำขั้นตอนที่ 5
6. ค่าเฉลี่ย = ผลรวมหารด้วยตัวนับ
7. แสดงค่าเฉลี่ยทางจอภาพ (ทศนิยมสองตำแหน่ง)
จบAlgorithm Average_Sum
1. START
2. count =0
3. sum = 0
4. INPUT (value)
5. IF value > 0 THEN
count = count +1
sum = sum + value
GOTO 3
ELSE GOTO 5
6. average = sum / count
7. OUTPUT (average)
END ตัวอย่างที่ 2 การเขียนซูโดโค้ด คำนวณหาพื้นที่สามเหลี่ยม หรือเขียนเป็นภาษาอังกฤษได้ดังนี้
Algorithm การหาพื้นที่สามเหลี่ยม
1. เริ่มต้น
2. รับค่าความยาวของฐานมาเก็บในตัวแปร X
3. รับค่าความยาวของสูงมาเก็บในตัวแปร Y
4. คำนวณหาพื้นที่ ARRAY = ( X*Y ) / 2
5. แสดงผลพื้นที่
จบAlgorithm Average_Sum
1. START
2. READ X
3. READ Y
4. Compute ARRAY = ( X*Y ) / 2
5. Print ARRAY
END
2. การเขียนผังงาน (Flowchart)
ผังงาน หรือ โฟลวชาร์ต เป็นแผนภาพที่ใช้ออกแบบและอธิบายการทำงานของโปรแกรมโดยอาศัยรูปทรงต่าง ๆ ควบคู่ไปกับลูกศร แต่ละรูปในแผนภาพจะหมายถึงการทำงานหนึ่งขั้นตอน ส่วนลูกศรจะแทนลำดับการทำงานขั้นตอนต่าง ๆ รวมทั้งทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นจนได้ผลลัพธ์ตามต้องการ ระบบงานทุกชนิดที่ผ่านการวิเคราะห์เป็นลำดับขั้นตอนแล้ว จะสามารถเขียนเป็นผังงานได้
ประโยชน์ของผังงาน
1. เริ่มต้น
2. ตัวนับ = 0
3. ผลรวม = 0
4. รับค่าทางแป้นพิมพ์เก็บไว้ในตัวแปร (ข้อมูล)
5. ถ้า ข้อมูล มากกว่า 0
เพิ่มค่าตัวนับขึ้นหนึ่งค่า
ผลรวม = ผลรวม + ค่าข้อมูล
ย้อนกลับไปทำขั้นตอนที่ 3
ถ้าไม่มากกว่าไปทำขั้นตอนที่ 5
6. ค่าเฉลี่ย = ผลรวมหารด้วยตัวนับ
7. แสดงค่าเฉลี่ยทางจอภาพ (ทศนิยมสองตำแหน่ง)
จบAlgorithm Average_Sum
1. START
2. count =0
3. sum = 0
4. INPUT (value)
5. IF value > 0 THEN
count = count +1
sum = sum + value
GOTO 3
ELSE GOTO 5
6. average = sum / count
7. OUTPUT (average)
END ตัวอย่างที่ 2 การเขียนซูโดโค้ด คำนวณหาพื้นที่สามเหลี่ยม หรือเขียนเป็นภาษาอังกฤษได้ดังนี้
Algorithm การหาพื้นที่สามเหลี่ยม
1. เริ่มต้น
2. รับค่าความยาวของฐานมาเก็บในตัวแปร X
3. รับค่าความยาวของสูงมาเก็บในตัวแปร Y
4. คำนวณหาพื้นที่ ARRAY = ( X*Y ) / 2
5. แสดงผลพื้นที่
จบAlgorithm Average_Sum
1. START
2. READ X
3. READ Y
4. Compute ARRAY = ( X*Y ) / 2
5. Print ARRAY
END
2. การเขียนผังงาน (Flowchart)
ผังงาน หรือ โฟลวชาร์ต เป็นแผนภาพที่ใช้ออกแบบและอธิบายการทำงานของโปรแกรมโดยอาศัยรูปทรงต่าง ๆ ควบคู่ไปกับลูกศร แต่ละรูปในแผนภาพจะหมายถึงการทำงานหนึ่งขั้นตอน ส่วนลูกศรจะแทนลำดับการทำงานขั้นตอนต่าง ๆ รวมทั้งทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นจนได้ผลลัพธ์ตามต้องการ ระบบงานทุกชนิดที่ผ่านการวิเคราะห์เป็นลำดับขั้นตอนแล้ว จะสามารถเขียนเป็นผังงานได้
ประโยชน์ของผังงาน
1.
ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม
2.
ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย
3.
ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย
การเขียนผังงานที่ดี
1.
เขียนตามสัญลักษณ์ที่กำหนด
2.
ใช้ลูกศรแสดงทิศทางการทำงานจากบนลงล่าง
3.
อธิบายสั้น ๆ ให้เข้าใจง่าย
4.
ทุกแผนภาพต้องมีทิศทางเข้าออก
5.
ไม่ควรโยงลูกศรไปที่ไกลมาก ๆ
ถ้าต้องทำให้ใช้สัญลักษณ์การเชื่อมต่อแทน
การเขียนผังงาน สามารถแบ่งออกเป็น 2 ประเภท คือ
1.
ผังงานระบบ (System Flowchart) ใช้แสดงขั้นตอนการทำงานในระบบงานหนึ่ง ๆ
โดยกล่าวถึงข้อมูลต่าง ๆ ที่เกี่ยวข้องทั้งหมด เช่น เอกสารเบื้องต้นคืออะไร
วัสดุที่ใช้คืออะไร หน่วยความจำประเภทใด จะต้องส่งผ่านไปยังหน่วยงานใด
วิธีการประมวลผลและการแสดงผลลัพธ์ โดยอาจจะกล่าวอย่างกว้าง ๆ ไม่สามารถนำมาเขียนเป็นโปรแกรมได้
2.
ผังงานโปรแกรม (Program Flowchart) ผังงานประเภทนี้
จะแสดงถึงขั้นตอนของคำสั่งที่ในโปรแกรม การรับข้อมูล การประมวลผล การแสดงข้อมูล
บางครั้งเรียกว่าผังการเขียนโปรแกรม
เครื่องหมาย = จะนำมาใช้เพื่อการกำหนดค่าและการคำนวณ
เช่น 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
แล้วตามด้วยชื่อโพรซีเยอร์ และเมื่อทำงานจนโพรซีเยอร์นั้นๆ แล้ว
ก็จะกลับมายังตัวโปรแกรมหลัก เพื่อทำงานชุดคำสั่งในลำดับถัดไป
สรุปที่ 2
เรื่อง หลักการเขียนโปรแกรมภาษา C และการติดตั้งโปรแกรม turbo C++
หลักการเขียนโปรแกรมภาษา C ประกอบด้วย
1.สร้างโปรแกรม
2.คอมไพล์โปรแกรม
3.เชื่อมโยงโปรแกรม
4.รันโปรแกรม
อินเตอร์พรีเตอร์ เป็นตัวแปลภาษาที่จะแปลโปรแกรมแบบทีละคำสั่งพร้อมกับรันโปรแกรมในขณะเดียวกัน
หากไม่พบข้อผิดพลาดใดๆ ก็จะนำคำสั่งถัดไปมาแปลและรันต่อไปเรื่อยๆ
จนกระทั่งจบโปรแกรม หรือหากพบข้อผิดพลาดขึ้น โปรแกรมก็จะหยุดทำงานทันที
และจะแจ้งข่าวสารข้อผิดพลาดให้รับทราบทางจอภาพ
คอมไพเลอร์ เป็นตัวแปลภาษาที่จะแปลแบบทั้งโปรแกรม
หากแปลแล้วพบข้อผิดพลาด โปรแกรมจะไม่สามารถรันได้
ต้องกลับไปแก้ไขโปรแกรมให้ถูกต้อง แล้วคอมไพล์ใหม่จนกระทั่งไม่พบข้อผิดพลาดใดๆ
เวอร์ชั่น เป็นโปรแกรมที่รวมเอดิเตอร์และคอมไพล์เลอร์ไว้ในตัวเดียวกัน
สามารถติดตั้งเพื่อใช้งานระบบปฎิบัติการ Windows ได้ นอกจากนี้ตัวโปรแกรมยังมีขนาดเล็ก
ทำงานรวดเร็วและมีประสิทธิภาพ
เหมาะกับการนำมาใช้งานเพื่อฝึกหัดเขียนโปรแกรมได้เป็นอย่างดี
เนื่องจากติดตั้งง่ายใช้งานสะดวก สามารถหาดาวน์โหลดมาใช้งานได้จากอินเทอร์เน็ต
ชนิดของข้อผิดพลาด ที่เกี่ยวกับงานเขียนโปรแกรม ประกอบด้วย
1.ข้อผิดพลาดที่เกิดจากไวยากรณ์
2.ข้อผิดพลาดที่เกิดจากตรรกะโปรแกรม
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.
ภายในโปรแกรม
จะต้องมีอย่างน้อย 1 ฟังก์ชันเสมอ
ซึ่งก็คือฟังก์ชัน main()นั่นเอง
5.
สามารถใช้เครื่องหมายปีกกา{
เพื่อบอกจุดเริ่มต้นของชุดคำสั่ง และเครื่องหมายปีกกาปิด}
6.
เมื่อเขียนชุดคำสั่งเสร็จแล้ว
ต้องจบด้วยเครื่องหมาย ;
7.
สามารถอธิบายโปรแกรมตามความจำเป็นด้วยการใช้เครื่องหมาย/*…..*/ หรือ //….
ตัวแปร คือ
ชื่อที่ตั้งขึ้นตามกฎการตั้งชื่อตัวแปร เพื่อนำมาใช้จัดเก็บข้อมูล และอ้างอิงใช้งานภายในโปรแกรม
กฎเกณฑ์การตั้งตัวแปรในภาษาซี
ประกอบด้วย
1.
สามรถใช้ตัวอักษร A ถึง Z หรือ a ถึง z รวมทั้งตัวเลข 0 ถึง 9 และเครื่องหมาย
_( Underscore )
มาใช้เพื่อการตั้งชื่อตัวแปรได้ แต่มีเงื่อนไขว่า ห้ามใช้ตัวเลขนำหน้าชื่อตัวแปร
ตัวอย่างเช่น 1 digit ถือว่าผิด แต่ถ้าตั้งชื่อใหม่เป็น digit1
หรือ digit1 ถือว่าถูกต้อง
2.
ชื่อตัวแปรสามารถมีความยาวได้ถึง
31
ตัวอักษร ( กรณีเป็น ANSI-C )
3.
ชื่อตัวแปร
จะต้องไม่ตรงกับคำสงวน ( Reserved Words )
สรุปบทที่4
เรื่อง
นิพจน์และตัวดำเนินการ
นิพจน์ (Expression)
นิพจน์ในที่นี้หมายถึง
นิพจน์์ทาง คณิตศาสตร์ ซึ่งสามารถพบเห็นได้จากสูตรการคำนวณตัวเลขต่างๆ
ดังนั้น นิพจน์
จึงประกอบด้วย ตัวแปร ค่าคงที่
และตัวดำเนินการทางคณิตศาสตร์มาประกอบรวมกัน
จากนิพจน์คณิตศาสตร์ข้างต้น
พบว่า ทั้ง and, score และ income จะเป็นตัวแปรที่ใช้เก็บผลลัพธ์จากก คำนวณ
ส่วนนิพจน์ด้านขวาก็จะเป็นนิพจน์
แบบหลายตัวแปร
ซึ่งสามารถมีได้ทั้งตัวแปรและค่าคงที่ รวมถึงตัวดำเนินการคณิตศาสตร์
เช่น + - * / เป็นต้น ในการสร้างสูตรคำนวณค่าตัวเลข
โดยเฉพาะสูตรคำนวณที่มีความซับซ้อน ต้องระมัดระวังในการจัด
ลำดับนิพจน์ เพื่อให้คอมพิวเตอร์
ประมวลผลอย่างถูกต้อง ทั้งนี้
ตัวดำเนินการต่างๆ
ที่นำมาใช้เพื่อการคำนวณนั้น แต่ละตัวจะมีลำดับความสำคัญที่แตกต่างกัน
ตัวดำเนินการ (Operators)
ในภาษาซี มีตัวดำเนินการหลากหลายชนิด
แต่ในที่นี้กล่าวถึงตัวดำเนินการพื้น
ฐานที่สำคัญ ดังต่อไปนี้
1.
ตัวดำเนินการทางคณิตศาสตร์
2.
ตัวดำเนินการยูนารี
3.
ตัวดำเนินการเปรียบเทียบ
4. ตัวดำเนินการตรรกะ
5.
ตัวดำเนินการกำหนดค่า
แบบผสม
6.
ตัวดำเนินการเงื่อนไข
1. ตัวดำเนินการทางคณิตศาสตร์
จัดเป็นตัวดำเนินการพื้นฐาน
ที่นำมาใช้เพื่อการคำนวณ เช่น บวก ลบ คูณ หาญ และ โมดูลัส (หาญเพื่อเอาเศษ)
2. ตัวดำเนินการยูนารี
ตัวดำเนินการยูนารี
ตัวแรกที่กล่าวถึง คือ เครื่องหมายลบ ที่นำมาใช้นำหน้าค่าตัวเลข หรือนำหน้า
ค่าตัวแปร ซึ่งจะส่งผลให้ค่าถูกเปลี่ยนเป็นค่าติดลบโดยทันที
3. ตัวดำเนินการเปรียบเทียบ
ในภาษาซีจะมีตัวกำเนินการที่นำมาใช้เพื่อการเปรียบเทียบค่า
4. ตัวดำเนินตรรกะ
นอกจากตัวดำเนินการเปรียบเทียบแล้ว
เรายังสามารถนำตัวดำเนินการตรรกะมาใช้ร่วมกันได้
5. ตัวดำเนินการกำหนดค่า
แบบผสมจากความรู้ที่ผ่านมาได้เรียนรู้ถึงการกำหนดค่าให้กับตัวแปรมาบ้างแล้ว
แต่ในภาษาซียังมีตัวดำเนินการกำหนดค่าแบบผสม (Compound Assignment
Operators)
6. ตัวดำเนินการเงื่อนไข
ตัวดำเนินการเงื่อนไข จะนำมาทดสอบค่านิพจน์ทางตรรกะ ว่าจริงหรือเท็จ
>>ตัวดำเนินการกับลำดับความสำคัญ<<
ตัวดำเนินการแต่ละตัวจะมีลำดับความสำคัญก่อนหลังที่แตกต่างกัน
โดยการประมวลผลกระทำจากตัวดำเนินการที่มีลำดับความสำคัญสูงก่อน
แต่ถ้ากรณีที่มีลำดับความสำคัญเท่ากัน ตามปกติจะกระทำกับตัวดำเนินการจากซ้ายไปขวา
กล่าวคือ จะกระทำกับตัวดำเนินการ ที่พบก่อน
>>การเปลี่ยนชนิดข้อมูล<<
ในภาษา C ยังมีตัวดำเนินการที่
เรียกว่า การแคสต์ (Casting) เพื่อแปลงชนิดข้อมูลจากชนิดหนึ่ง
มาเป็นอีกชนิดหนึ่งได้ วิธีทำคือ ให้ระบุชนิดข้อมูลที่ต้องการภายใน
เครื่องหมายวงเล็บ หน้านิพจน์ที่ ต้องการ
คำสั่งในภาษาซี
ล้วนอยู่ในรูปแบบของฟังก์ชั่นทั้งสิ้น ซึ่งอาจเป็นฟังก์ชั่นมาตรฐาน
ที่ภาษาซีได้จัดเตรียมไว้ให้แล้ว นอกจากนี้ ก็ยังมีฟังก์ชั่น
ที่เราสามารถเขียนขึ้น เพื่อใช้งานเองตัวอย่างฟังก์ชั่นที่ภาษาซี จัดเตรียมมาให้ เช่น ฟังก์ชั่น printf() ที่นำมาใช้เพื่อสั่งพิมพ์ข้อมูลเพื่อ
แสดงผ่านทางจอภาพ หรือกรณี ต้องการรับค่าข้อมูลทางแป้นพิมพ์ ก็ต้องใช้ฟังก์ชั่น scant()
เป็นต้น ที้งนี้การเรียกใช้ฟังก์ชั่นดังกล่าว
จำเป็นต้องรู้ถึงรูปแบบการเขียน (Syntax) รวมถึงต้องรู้ด้วยว่าฟังก์ชั่นที่ใช้งาน
เหล่านี้ ประกาศใช้อยู่ในเฮดเดอร์ไฟล์ใด นอกจากฟังก์ชั่นทั้งสองแล้ว
ภาษาซีก็ยังมีฟังก์ชันอื่นๆ ที่สามารถรำมาใช้เพื่อการแสดงผลข้อมูลและการรับผลข้อมูล
ฟังก์ชั่นการรับและแสดงผลข้อมูล
ในภาษาซี
ได้เตรียมฟังก์ชั่นเพื่อการรับและแสดงผลข้อมูลอยู่ หลายคำสั่งด้วยกัน
ซึ่งสามารถนำมาเรียกใช้งานตามความเหมาะสม
1. ฟังก์ชั่น printf
เป็นฟั่งชั่นที่ใช้สำหรับแสดงผล
ข้อมูลที่เป็นตัวอักขระ ข้อความ หรือค่าตัวแปร
โดยที่ formatControlString
คือรูปแบบที่ นำมาใช้สำหรับควบคุมการพิมพ์
รวมถึงข้อความที่ต้องการสั่งพิมพ์ ซึ่งจะต้องอยู่ภายในเครื่องหมาย " "
Printf คือตัวแปรที่นำมาพิมพ์
ซึ่งจะจับคู่กับ formatControlString ที่สัมพันธ์กันอย่างถูกต้องใส่รูป
นอกจากนี้แล้ว
ยังสามารถผนวกรหัสควบคุม (Escape Sequence) เข้าไปใน FormatControlString
ได้อีก ซึ่งรหัสควบคุมเหล่านี้ จะเขียนด้วยเครื่องหมาย \ และตามด้วยรหัสควบคุม
ทั้งนี้ต้องระมัดระวังในเรื่องของการจับคู่ระหว่างรหัสรูปแบบขัอมูล
ที่ต้องตรงกับชนิดตัวแปรสั่งพิมพ์
2. ฟังก์ชั่น Scanf()
เป็นฟังก์ชั่นที่ใช้สำหรับรับค่าข้อมูลจากทางแป้นพิมพ์
เพื่อจัดเก็บไว้ในตัวแปร
นอกจากนี้
ในการรับข้อมูลทางแป้นพิมพ์ด้วยฟังก์ชั่น scanf() จะต้องพิจารณาสิ่งต่อไปนี้
1. ถ้าข้อมูลที่รับ เป็นชนิดตัวเลข
ซึ่งนำไปใช้ในการคำนวณได้ จะต้องใส่เครื่องหมาย & นำหน้าตัวแปรเสมอ
2. ถ้าข้อมูลที่รับ เป็นข้อความ
อาจไม่ต้องใส่เครื่องหมาย & นำหน้าตัวแปรก็ได้
3. ฟังก์ชั่น getchar()
เป็นฟังก์ชั่นที่นำมาสำหรับรับค่าตัวอักษรหรืออักขระ 1 ตัว
โดยค่าที่ป้อนลงไปจะแสดงให้เห็นทางจอภาพ และจะต้องเคาะ Enter เพื่อแสดงถึงการสิ้นสุดการป้อน
ข้อมูลด้วย
กรณีที่มีการกรอกตัวอักษรมากกว่า 1 ตัว จะมีเพียงอักษรตัวแรกเท่านั้น
ที่จะถูกจัดเก็บไว้ในตัวแปร
4. ฟังก์ชั่น putchar()
เป็นฟังก์ชั่นที่ถูกนำมาใช้เพื่อสั่งพิมพ์ค่าตัวแปรอักขระที่ถูกป้อนด้วย
getchar() หรือนำมาพิมพ์หัสพิเศษได้
5. ฟังก์ชั่น getch() และ getche()
นอกจากนี้แล้ว ภาษาซียังมีฟังก์ชั่นที่นำมาใช้เพื่อการรับค่า
ตัวอักขระอย่าง getch() และ getche() แต่ฟังก์ชั่นทั้งสองถูกประกาศใช้งานอยู่ในเฮดเดอร์ไฟล์
<conio.h> ดังนั้น เมื่อต้องการใช้งานฟังก์ชั่นดังกล่าว
จำเป็นต้องผนวกเฮดเดอร์ไฟล์ <conio.h> ไว้ตรงส่วนหัวข้อโปแกรมด้วย