Introduction ธนวัฒน์ แซ่เอียบ
Why C? C is one of the most important and popular programming languages. C is efficient. C is portable. C is powerful and flexible (from super computers, workstations, PCs, PDAs, phones, to embedded systems) C is a programmer oriented language designed to be useful. C is a good migration path to C++ and Java. So, can you C?
ALGORITHMS AND FLOWCHARTS งานเขียนโปรแกรมแบ่งออกได้ 2 ส่วน การแก้ปัญหา (Problem solving ) เขียนลำดับขั้นตอนอธิบายวิธีการแก้ปัญหา ลำดับขั้นตอนของแก้ปัญหานี้เรียกว่า Algorithm การพัฒนา (Implementation) สร้างโปรแกรมโดยใช้ภาษาที่ใช้ในการเขียนโปรแกรมจริงๆ
Steps in Problem Solving ขั้นตอนแต่ละขั้นตอนที่ใช้ในการแก้ปัญหา อันดับแรกจะอธิบายในรูปแบบ pseudo code แล้วกลายเป็น algorithm Pseudocode เป็นภาษาที่ไม่เป็นทางการสำหรับโปรแกรมเมอร์ช่วยเขียนอัลกอริทึม ซึ่งก็คือ ภาษาที่ใช้ในชีวิตประจำวัน Algorithm จะนำมา Pseudocode แต่เปลี่ยนให้ใกล้เคียงกับภาษาที่ใช้ในการเขียนโปรแกรม ปัญหา ? จงเขียนอัลกอริทึมหาผลลัพธ์ของ 2+3
Example ปัญหา ? จงเขียนอัลกอริทึมหาผลลัพธ์ของ 2+3 Pseudocode Algorithm รับข้อมูล 2 จำนวน คำนวณหาผลบวก แสดงผลลัพธ์ของคำตอบ Algorithm input M1, M2 Sum <- M1+M2 Print sum
Exercise 1 จงเขียน algorithm รับค่า 4 จำนวนแล้วคำนวณหาค่าเฉลี่ย หลังจากนี้จะถูกนำไปคำนวณหาเกรดของนิสิต ถ้ามีคะแนน เท่ากับหรือมากกว่า 50 คือ ”ผ่าน” แต่ถ้าต่ำกว่า 50 คือ ”ไม่ผ่าน” Pseudocode ? Algorithm ?
Flowchart การแทนขั้นตอนแต่ละขั้นตอนของโปรแกรมด้วยรูปภาพ 1 flowchart จะประกอบคำสั่งของโปรแกรมเดียวหรือเพียงแค่หนึ่งโปรแกรมย่อย (subroutines) แสดงทิศทางการเดินของข้อมูลตั้งแต่เริ่มจนถึงปลายทาง
Flowchart oval จุดเริ่มต้นและจุดสิ้นสุดของโปรแกรม parallelogram รับข้อมูล rectangle กระบวนการ ขั้นตอน เช่น บวก ลบ diamond การตัดสินใจเลือกทางใดทางหนึ่งจากสองทาง hybrid ส่งข้อมูลออก เช่น จอภาพ Flow line ทิศทางการเคลื่อนที่ของข้อมูล
Exercise 2 จงเขียน flowchart จาก exercise 1
Exercise 3 จงเขียนอัลกอริทึมและวาด flowchart ของโปรแกรมเปลี่ยนความยาวจากฟุตเป็นเซนติเมตร
Exercise 4 จงเขียนอัลกอริทึมและวาด flowchart ของขั้นตอนรับตัวเลขที่เป็นด้านทั้งสองด้านของรูปสี่เหลี่ยมและคำนวณหาพื้นที่ของสี่เหลี่ยมนี้
DECISION STRUCTURES อธิบายเงื่อนไข (condition) ที่ต้องการตรวจสอบ Logical expression A > B ถ้า A > B เป็นจริงแสดงว่า ? ถ้า A > B เป็นเท็จแสดงว่า ?
DECISION STRUCTURES is A>B Print B Print A Y N
IF–THEN–ELSE STRUCTURE มีโครงสร้างดังต่อไปนี้ If condition then true alternative else false alternative endif
Exercise 5 จงเปลี่ยน flowchart นี้ให้กลายเป็น IF–THEN–ELSE STRUCTURE A>B Print B Print A Y N
Relational Operators Operator Description Relational Operators > Greater than < Less than = Equal to Greater than or equal to Less than or equal to Not equal to
Exercise 6 จงเขียนอัลกอริทึมและวาด flowchart ของโปรแกรมรับข้อมูล 2 จำนวน แล้วพิจารณาหาค่าที่มากที่สุด และพิมพ์ค่าที่มากที่สุดนี้เป็นข้อความดังนี้ “The largest value is ” ...
NESTED IFS ภายในทางเลือกของ IF–THEN–ELSE STRUCTURE มี IF–THEN–ELSE STRUCTURE If condition then true alternative else false alternative endif IF–THEN–ELSE STRUCTURE IF–THEN–ELSE STRUCTURE