โจทย์จาก http://programming.in.th/task/rev2_problem.php?pid=0001
ในการเรียนวิชาคอมพิวเตอร์ ณ โรงเรียนแห่งหนึ่ง ใช้วิธีการเก็บคะแนนในรูปแบบของ
- คะแนนเก็บ 30 คะแนน
- คะแนนสอบกลางภาค 30 คะแนน
- คะแนนสอบปลายภาค 40 คะแนน
โจทย์
ให้นักเรียนเขียนโปรแกรมตัดเกรดเพื่อช่วยงานทะเบียนวัดผลของโรงเรียนแห่งนี้
ข้อมูลนำเข้า
บรรทัดแรก จำนวนเต็มบวก a (0 <= a <= 30) เป็นคะแนนเก็บของนักเรียน
บรรทัดที่สอง จำนวนเต็มบวก b (0 <= b <= 30) เป็นคะแนนสอบกลางภาคของนักเรียน
บรรทัดที่สาม จำนวนเต็มบวก c (0 <= c <= 40) เป็นคะแนนสอบปลายภาคของนักเรียน
ข้อมูลส่งออก
บรรทัดแรก เป็นอักขระใช้แทนเกรดของนักเรียน โดยที่ใช้อักขระตามเงื่อนไขดังต่อไปนี้
- A ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 80 - 100
- B+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 75 - 79
- B ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 70 - 74
- C+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 65 - 69
- C ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 60 - 64
- D+ ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 55 - 59
- D ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 50 - 54
- F ถ้าคะแนนรวมของนักเรียนอยู่ในช่วง 0 - 49
print "Grade Calculation Program"
work = input("Work score = ") #first input
while (work < 0) or (work > 30) : #check outrange
print "Error please reinput"
work = input("Work score = ")
mid = input("Midterm score = ") #first input
while (mid < 0) or (mid > 30) : #check outrange
print "Error Please Reinput"
mid = input("Mideterm score = ")
final = input("Final score = ") #first input
while (final<0) or (final>45) : #check outrange
print "Error Please Reinput"
final = input("Final score = ")
total = work + mid + final
#grade calculation
if total >= 80 :
grade = "A"
elif total >= 75 :
grade = "B+"
elif total >= 70 :
grade = "B"
elif total >= 65 :
grade = "C+"
elif total >= 60 :
grade = "C"
elif total >= 55 :
grade = "D+"
elif total >= 50 :
grade = "D"
else :
grade = "F"
#display output
print "Your grade =",grade
และนี่คือ Output ที่แสดงออกมา
Grade Calculation Program
Work score = 31
Error please reinput
Work score = 25
Midterm score = 30
Final score = 35
Your grade = A
ไม่มีความคิดเห็น:
แสดงความคิดเห็น