ก่อนที่เราจะเข้าเรื่องอยากแรกที่เราต้องทำความเข้าใจกับ Database ก่อน
Database คือ แหล่งเก็บข้อมูลที่เราสนใจมัน โดยโครงสร้างด้านในมีลักษณะ ดังนี้
ภาพที่ 1 โครงสร้างภายใน database
โดยภายในจะประกอบด้วย
1. Database management system (DBMS) ซึ่งเป็นโปรแกรมที่สร้างหรือจัดการ Database
2. Meta-Data ซึ่งทำหน้าที่ระบุตัวตนของ Database
3. Application program ซึ่งเข้าถึง database ด้วยทำสั่ง query ซึ่งทำให้ดึงข้อมูลมาใช้งานได้
ซึ่งภายใน database นั้นจะเก็บข้อมูลในรูปแบบของตาราง ตามภาพดังกล่าว
รูปแบบการเก็บข้อมูลของ database
โจทย์
จงเก็บเกรดของท่านลงใน Spreadsheet แล้วคำนวณ GPA ออกมาโดยใช้ Spreadsheet ของ Google ที่เก็บใน email.kmutnb.ac.th ของเรา
สิ่งที่ต้องเรียนรู้
จากโจทย์ที่กำหนดให้สิ่งแรกที่สนใจ คือ ตารางเกรดในเว็บไซต์ของมหาวิทยาลัย (http://klogic.kmutnb.ac.th:8080/kris/grade.jsp) แล้วดูว่ามีส่วนประกอบอะไรบ้าง ซึ่งดูได้จากตัวอย่างภาพด้านล่าง
ภาพที่ 2 ตัวอย่างตารางเกรดที่อยู่ในเว็บไซต์ของมหาวิทยาลัย
จากภาพส่วนประกอบมี
1. ชื่อวิชา
2. หน่วยกิตของแต่ละวิชา
3. ตอนเรียน
4. เกรดที่เราได้
5. คะแนนเฉลี่ยประจำภาคนั้นๆ และคะแนนเฉลี่ยสะสมในทุกๆ ภาคการเรียน
6. หน่วยกิตที่ลงประจำภาคนั้นๆ และหน่วยกิตที่ลงสะสมในทุกๆ ภาคการเรียน
7. หน่วยกิตที่ได้ประจำภาคนั้นๆ และหน่วยกิตที่ได้สะสมในทุกๆ ภาคการเรียน ซึ่งแต่ต่างจากหน่วยกิตที่ลงตรงที่หากเราติด F จะไม่นำมารวมด้วย เช่น เราลงเรียนทั้งหมด 19 หน่วยกิต แต่ติด F วิชา 3 หน่วยกิต 3 วิชา หน่วยกิตที่ลงจะมีค่า 19 หน่วย แต่หน่วยกิตที่ได้จะมีค่า 10 หน่วย
8. แต้มระดับคะแนน คือ คะแนนที่เกิดจากนำหน่วยกิตคูณกับเกรดที่ได้ของแต่ละวิชาแล้วนำมารวมกันทั้งหมด
9. สถานภาพ คือ สถานะของนักศึกษา
หลังจากที่เราศึกษาตารางเกรดแล้ว จึงเกิดปัญหาในหัวว่า "เกรดนั้นคำนวณอย่างไร" และ "เราจะคำนวณเกรดใน Spreadsheet ได้อย่างไร"
เกรดนั้นจะมี 2 แบบ คือ GPA หรือเกรดเฉลี่ยต่อเทอม และ GPAX หรือเกรดเฉลี่ยสะสม
1. GPA สามารถคำนวณได้โดย
หาแต้มระดับคะแนนที่หาได้จากนำหน่วยกิตมาคูณกับเกรดที่เราได้
แต้มระดับคะแนน = หน่วยกิต x เกรด
เช่น จากภาพที่ 2 ตารางในวิชา 010123102 PROGRAMMING FUNDAMENTALS จะมีหน่วยกิต 3 หน่วย และได้เกรด A ซึ่งหากเทียบเป็นตัวเลข คือ 4 แล้วนำมาคูณกัน
แต้มระดับคะแนน = 3 x 4 = 12 แต้ม
จากนั้นนำแต้มระดับคะแนนของทุกวิชามารวมกันทั้งหมด จากนั้นนำ "หน่วยกิตที่ลง" ทุกวิชามารวม แล้วนำแต้มระดับคะแนนหารกับหน่วยกิต แล้วเอาทศนิยม 2 ตำแหน่งแบบปัดลง (หากได้ GPA 3.89999 ก็นับ 3.89) จึงได้ GPA ออกมา
GPA = แต้มระดับคะแนน / หน่วยกิต
โดยจากภาพที่ 2 หากนำแต้มระดับคะแนนทุกวิชามารวมกันจะได้ทั้งหมด 68.5 คะแนน แล้วนำ "หน่วยกิตที่ลง" ทุกวิชามารวมซึ่งได้ 18 หน่วย แล้วมาคำนวณ จึงได้ GPA เท่ากับ 3.8
GPA = 68.5 / 18 = 3.8
2. GPAX สามารถคำนวณได้โดย
นำแต้มระดับทุกภาคการเรียนมารวมกัน แล้วนำหน่วยกิตทุกภาคการเรียนมาคำนวณ จากนั้นเอาแต้มระดับทุกภาคการเรียนหารกับหน่วยกิตทุกภาคการเรียนซึ่งจะได้ GPAX ออกมา
นำแต้มระดับทุกภาคการเรียนมารวมกัน แล้วนำหน่วยกิตทุกภาคการเรียนมาคำนวณ จากนั้นเอาแต้มระดับทุกภาคการเรียนหารกับหน่วยกิตทุกภาคการเรียนซึ่งจะได้ GPAX ออกมา
GPAX = แต้มระดับทุกภาคการเรียน / หน่วยกิตทุกภาคการเรียน
เช่น หากภาคการเรียนที่ 1 ได้แต้มระดับทุกภาคการเรียน 68.5 หน่วยกิตรวม 18 และภาคการเรียนที่ 2 ได้แต้มระดับทุกภาคการเรียน 67 หน่วยกิตรวม 18 หากนำคำนวณ
GPAX = (68.5 + 67) / (18 + 18) = 3.76
หลังจากที่เรารู้วิธีการคิดเกรด ปัญหาต่อไปที่พบเจอคือ เราจะเก็บข้อมูลเกรดของเราอย่างไร ซึ่งในที่นี่เราเลือก Spreadsheet ในการเก็บข้อมูล
Spreadsheet
Spreadsheet คือ โปรแกรมที่ลักษณะเป็นตารางซึ่งสามารถเก็บข้อมูลได้ แล้วนอกจากนี้ยังนำค่าในตารางสามารถคำนวณได้โดยใช้สูตรและฟังก์ชัน
ดังนั้นขั้นตอนการคำนวณ GPA มีดังนี้
1. เก็บข้อมูลเกรดที่เราได้
2. ให้แปลงเกรดที่เป็นตัวอักษรให้กลายเป็นค่า โดยใช้หลักเกณฑ์ ดังนี้
A = 4
B+ = 3.5
B = 3
C+ = 2.5
C = 2
D+ = 1.5
D = 1
F = 0
ซึ่งให้ทำการเพิ่มแทรกคอลัมน์เป็นตารางเก็บเกรดที่เป็นค่า ซึ่งช่องที่สร้างให้ใส่ฟังก์ชัน
"=IFS(C7="A",4, C7="B+",3.5, C7="B",3, C7="C+",2.5, C7="C",2, C7="D+",1.5, C7="D",1, TRUE,0)"
โดย C7 คือ ช่องที่เก็บค่าเกรดในวิชานั้นแบบตัวอักษร โดยสูตรหมายความจะแปลงตัวอักษรเกรดให้กลายเป็นค่าให้ถูกต้อง เช่น ในวิชา PHYSICS I นั้นได้ A แล้วสูตรจะเปลี่ยน A ให้เป็น 4
3. หาแต้มระดับคะแนน โดยใช้สูตร
"=SUMPRODUCT(B13:B20,D13:D20)"
โดย B13:B20 คือ ตารางของหน่วยกิต และ D13:D20 คือ ตารางของเกรด ซึ่งสูตรนี้ หมายถึง นำค่าหน่วยกิตกับเกรดที่ในแต่ละวิชามาคูณกันแล้วมารวมกันทุกวิชา
4. หาหน่วยกิตที่ลง (ประจำภาค)
"=SUM(B23:B29)"
โดย B23:B29 คือ ตารางของหน่วยกิตแต่ละวิชา สูตรนี้หมายถึง รวมหน่วยกิตทุกช่อง
5. หาหน่วยกิตที่ลง (สะสม)
"=SUM(G14,G23)"
โดย G14 คือ หน่วยกิตสะสมเดิม และ G23 คือ หน่วยกิตประจำภาค สูตรนี้หมายถึง รวมหน่วยกิตทุกช่อง
6. หาหน่วยกิตที่ได้
"=SUMIF(D23:D29, ">0", B23:B29)"
โดย D23:D29 คือ ตารางเกรด และ B23:B29 คือ ตารางหน่วยกิตแต่ละวิชา สูตรนี้หมายถึง หากมีเกรดใดที่ไม่เป็น ซึ่งค่ามากกว่า 0 ก็ให้บวกรวมหน่วยกิตวิชา แต่ถ้าไม่ก็ไม่ต้องบวกหน่วยกิตวิชานั้น
7. หา GPA และ GPAX
"=FLOOR(I24/G24, 0.01)"
โดยให้ I24 คือ แต้มระดับคะแนน และ G24 คือ หน่วยกิตที่ลง ซึ่งสูตรนี้ คือ นำแต้มระดับคะแนนมาหารกับหน่วยกิตที่ลง เพื่อให้ได้ GPA ซึ่งใช้แต้มระดับคะแนนภาคเรียน / หน่วยกิตที่ลงในภาคเรียน และ GPAX ซึ่งใช้แต้มระดับคะแนนสะสม / หน่วยกิตที่ลงสะสม แล้วปัดทศนิยมลง 2 ตำแหน่ง
ข้อสรุป
1. Database คือ แหล่งเก็บข้อมูลที่เราสนใจมัน ซึ่งเก็บอยู่ในรูปของตาราง
2. ชื่อวิชา, หน่วยกิตของแต่ละวิชา, ตอนเรียน, เกรดที่เราได้, คะแนนเฉลี่ยประจำภาค, หน่วยกิตที่ลงประจำภาค, หน่วยกิตที่ได้ประจำภาคม, แต้มระดับคะแนน และสถานภาพ
3. Spreadsheet คือ โปรแกรมที่ลักษณะเป็นตารางซึ่งสามารถเก็บข้อมูลได้เหมือนกับ Database แล้วนอกจากนี้ยังนำค่าในตารางสามารถคำนวณได้โดยใช้สูตรและฟังก์ชัน
4. GPA = ผลรวมของการคูณระหว่างหน่วยกิตแต่ละวิชาและเกรดหารด้วยผลรวมหน่วยกิตที่ลง ส่วน GPAX = แต้มระดับคะแนนทุกภาคการเรียนหารด้วยผลรวมหน่วยกิตที่ลงทุกภาคการเรียน
ปัญหาที่พบ
ทางเทคนิค
1. ไม่รู้วิธีการคำนวณ GPA ซึ่งแก้ไขด้วยการค้นหาใน Google
2. จำ email ของ Blog สมัยเรียน Programming Fundamental ไม่ได้ ซึ่งแก้โดยการใช้ email อื่นแล้วสมัคร Blog ใหม่
ลิ้งก์ที่เกี่ยวข้อง
ตารางเกรดในเว็บไซต์ของมหาวิทยาลัย : http://klogic.kmutnb.ac.th:8080/kris/grade.jsp
ตารางเกรดและ GPA : https://docs.google.com/spreadsheets/d/19WEuYZ0XIaeph1kkTt2mD3e42Jcb6B8KIWBe9OF_XuU/edit?usp=sharing
วิธีคำนวณเกรดของมหาวิทยาลัย :
No comments:
Post a Comment