Week 7 การเขียนโปรแกรมเบื้องต้น
เนื้อหา Pseudocode แบบฝึกหัด การประกาศตัวแปร (int และ string) เงื่อนไข if-else-elseif การวนซ้ำ for-while เนื้อหาในคาบนี้ประกอบด้วย แนะนำ Pseudo code แบบฝึกหัดการเขียนโปรแกรม ที่ครอบคลุมถึงเนื้อหาในคาบก่อนหน้า (การประกาศตัวแปร เงื่อนไข และการวนซ้ำ)
Pseudocode Pseudocode (รหัสจำลอง หรือ คำสั่งเทียม) อ่านว่า “ซู-โด-โค้ด” หรือ “สู-โด-โค้ด” อธิบายขั้นตอนการทำงานของชุดคำสั่งเป็นภาษาที่มนุษย์ทั่วไปสามารถเข้าใจได้ง่าย 1 บรรทัดต่อ 1 คำสั่ง มีลำดับการทำงานจากบนลงล่าง
ตัวอย่างของ Pseudocode เดินไปที่ใต้ตึกอาคาร 30 ปี ถ้าร้านกาแฟเปิด เดินเข้าร้าน สั่งกาแฟ ถ้ากาแฟหมด สั่งชาเย็น ถ้าร้านกาแฟปิด เดินไปโรงอาหาร สั่งเกาเหลาข้าวเปล่า การเลือกซื้อเครื่องดื่ม
แบบฝึกหัด Pseudocode ของการต้มมาม่า?
ประโยชน์ของ Pseudocode ง่ายกว่าการเขียน Flowchart คนทั่วไปสามารถเข้าใจได้ง่าย ช่วยในการสื่อสารความเข้าใจระหว่างผู้เขียนโปรแกรมและผู้อื่น
แบบฝึกหัด #1 ระบบตัดเกรด ระบบตัดเกรดคือระบบที่มีความสามารถในการตัดเกรดจากคะแนนที่ได้รับ โดยมีเกณฑ์ดังนี้ 80-100 → A 70-79 → B 60-69 → C 50-59 → D 0-49 → F แบบฝึกหัด #1 ระบบตัดเกรด ระบบตัดเกรดคือระบบที่มีความสามารถตัดเกรดจากคะแนนที่ได้รับ โดยอ้างอิงจากเกณฑ์ที่กำหนดไว้ดังนี้ ช่วงคะแนน 80-100 – เกรด A ช่วงคะแนน 70-79 – เกรด B ช่วงคะแนน 60-69 – เกรด C ช่วงคะแนน 50-59 – เกรด D ช่วงคะแนน 0-49 – เกรด F
แบบฝึกหัด #1-1 พัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงาน 5 รอบ รับอินพุต [คะแนน] รอบละ 1 ครั้ง แบบฝึกหัด #1-1 ให้นักศึกษาพัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงาน 5 รอบ รับอินพุต [คะแนน] รอบละ 1 ครั้ง
แบบฝึกหัด #1-1 ตัวอย่างเอาท์พุต Please enter your score: 75 Your grade is B Please enter your score: 43 Your grade is F Please enter your score: 66 Your grade is C Please enter your score: 71 Please enter your score: 49 ตัวอย่างผลการทำงานของโปรแกรมที่ได้จากแบบฝึกหัด #1-1 #include <stdio.h> void main() { int i, score; for (i=1; i<6; i++) { printf(“\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A");
#include <stdio.h> void main() { int i, score; for (i=1; i<6; i++) { printf(“\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A");
แบบฝึกหัด #1-2 พัฒนาระบบตัดเกรดที่มีความสามารถเพิ่มขึ้น ทำงาน n รอบ รับอินพุต [จำนวนรอบการทำงาน] 1 ครั้ง รับอินพุต [คะแนน] รอบละ 1 ครั้ง แบบฝึกหัด #1-2 ให้นักศึกษาพัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงาน n รอบ รับอินพุต [จำนวนรอบการทำงาน] 1 ครั้ง รับอินพุต [คะแนน] รอบละ 1 ครั้ง
แบบฝึกหัด #1-2 ตัวอย่างเอาท์พุต Please input the number of students: 3 Please enter your score: 75 Your grade is B Please enter your score: 43 Your grade is F Please enter your score: 66 Your grade is C ตัวอย่างผลการทำงานของโปรแกรมที่ได้จากแบบฝึกหัด #1-2 #include <stdio.h> void main() { int i, score, n; printf(“Please input the number of students: "); scanf("%d", &n); for (i=1; i<n+1; i++) { printf(“\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A");
#include <stdio.h> void main() { int i, score, n; printf(“Please input the number of students: "); scanf("%d", &n); for (i=1; i<n+1; i++) { printf(“\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A");
แบบฝึกหัด #1-3 พัฒนาระบบตัดเกรดที่มีความสามารถเพิ่มขึ้น ทำงานไปเรื่อยๆ จนกว่าจะถูกสั่งให้หยุดทำงาน รับอินพุต [คะแนน] รอบละ 1 ครั้ง รับอินพุต [ต้องการทำงานต่อหรือไม่] รอบละ 1 ครั้ง แบบฝึกหัด #1-3 ให้นักศึกษาพัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงานไปเรื่อยๆ จนกว่าจะถูกสั่งให้หยุดการทำงาน รับอินพุต [คะแนน] รอบละ 1 ครั้ง รับอินพุต [ต้องการทำงานต่อหรือไม่] รอบละ 1 ครั้ง
แบบฝึกหัด #1-3 ตัวอย่างเอาท์พุต Please enter your score: 75 Your grade is B Would you like to continue? (y/n): y Please enter your score: 43 Your grade is F Please enter your score: 66 Your grade is C Would you like to continue? (y/n): n ตัวอย่างผลการทำงานของโปรแกรมที่ได้จากแบบฝึกหัด #1-3 #include <stdio.h> void main() { int score; char cont=‘y’; while((cont == ‘y’)||(cont == ‘Y’)) { printf("\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A"); printf("Would you like to continue? (y/n): "); cont = getch();
#include <stdio.h> void main() { int score; char cont=‘y’; while((cont == ‘y’)||(cont == ‘Y’)) { printf("\n\nPlease enter your score: "); scanf("%d", &score); if (score < 50) { printf("Your grade is F"); } else if (score < 60) { printf("Your grade is D"); else if (score < 70) { printf("Your grade is C"); else if (score < 80) { printf("Your grade is B"); else { printf("Your grade is A"); printf("Would you like to continue? (y/n): "); cont = getch();
พัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ แบบฝึกหัด #2 พัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงานไปเรื่อยๆ จนผู้ใช้กรอกคะแนน 999 จึงหยุดการทำงาน รับอินพุต [คะแนน] รอบละ 1 ครั้ง นับและแสดงผลรวมจำนวนนักศึกษาที่ได้เกรดแต่ละเกรด คำนวณและแสดงคะแนนเฉลี่ย คะแนนเฉลี่ย = คะแนนรวมทั้งหมด / จำนวนนักศึกษา คำนวณและแสดง GPA ของนักศึกษาทั้งชั้น GPA = เกรดรวมทั้งหมด / จำนวนนักศึกษา แบบฝึกหัด #2 ให้นักศึกษาพัฒนาระบบตัดเกรดที่มีความสามารถดังต่อไปนี้ ทำงานไปเรื่อยๆ จนเมื่อผู้ใช้กรอกคะแนน 999 จึงหยุดการทำงาน รับอินพุต [คะแนน] รอบละ 1 ครั้ง นับและแสดงผลรวมจำนวนนักศึกษาที่ได้เกรดแต่ละเกรด คำนวณและแสดงคะแนนเฉลี่ย (คะแนนรวมทั้งหมด/จำนวนนักศึกษา) คำนวณและแสดง GPA เฉลี่ยของชั้น ((จำนวนนักศึกษาได้ A * 4 + จำนวนนักศึกษาได้ B * 3 + จำนวนนักศึกษาได้ C * 2 + จำนวนนักศึกษาได้ D * 1 + จำนวนนักศึกษาได้ F * 0)/จำนวนนักศึกษาทั้งหมด)
แบบฝึกหัด #2 ตัวอย่างเอาท์พุต Please enter your score: 75 Your grade is B Please enter your score: 43 Your grade is F Please enter your score: 999 Program end. Calculating the scores… Total students with A: 0 Total students with B: 1 Total students with C: 0 Total students with D: 0 Total students with F: 1 Average student score: 59 Average student GPA: 1.5 ตัวอย่างผลการทำงานของโปรแกรมที่ได้จากแบบฝึกหัด #2