APC 2008

APC 2008 เป็นรายการทดสอบทักษะการเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษา C/C++ ออนไลน์ ซึ่งผู้เข้าทดสอบสามารถสอบจากที่ใดก็ได้ โดยในปีนี้ APC 2008 ได้เปิดลงทะเบียนให้กับนักเรียน นิสิต นักศึกษา ครู อาจารย์ และผู้สนใจทั่วไป ตั้งแต่วันที่ 1 – 15 สิงหาคม 2551

วันสอบจริง (16 ส.ค.) จะมีเวลาทั้งหมด 3 ชั่วโมง (เวลา 20.00 – 23.00 น.) โจทย์ทั้งหมด 4 ข้อ เพื่อให้ผู้เข้าทดสอบแก้ปัญหาตามที่โจทย์ต้องการด้วยภาษา C/C++ หลังจากนั้น จะมีการประกาศอันดับคะแนนของผู้เข้าทดสอบ ภายในเวลาไม่เกิน 21.00 น. ของวันเดียวกัน

การทดสอบรายการนี้ ไม่มีรางวัลใดๆ ให้ แต่จัดเพื่อเป็นการประเมินทักษะของผู้เข้าทดสอบเอง และเตรียมความพร้อมสำหรับการทดสอบรายการต่อๆ ไป

Difficulty

ลักษณะของโจทย์ปัญหาทั้งหมด เป็นเป็นลักษณะเดียวกับข้อสอบแข่งขันคอมพิวเตอร์โอลิมปิก สอบคัดเลือกรอบที่ 2 ซึ่งอยู่ในระดับง่ายถึงปานกลาง แต่ต้องอาศัยความรอบคอบ ซึ่งผู้เข้าทดสอบจำเป็นต้องมีพื้นฐานการเขียนโปรแกรมด้วยภาษา C/C++ มาพอสมควร รวมไปถึงการออกแบบโครงสร้างข้อมูลพื้นฐาน จึงจะสามารถแก้ปัญหาโจทย์ได้

ตั้งแต่วันที่ 1 – 15 สิงหาคม 2551 เวลา 21.00 น. จะเป็นช่วง Practice Session โดยผู้ที่ลงทะเบียนแล้ว จะสามารถเข้าสู่ระบบเพื่อดาวน์โหลดโจทย์ข้อสอบเก่า APC 2007 (จำนวน 4 ข้อ) และส่งโปรแกรมเพื่อทดสอบระบบการให้คะแนนได้ในทันที ทั้งนี้เพื่อทำความคุ้นเคยกับระบบตรวจ รวมไปถึงศึกษาแนวข้อสอบเก่าของการทดสอบด้วย

Scoring

ลักษณะการให้คะแนนจะเป็นลักษณะเดียวกับการให้คะแนนในการแข่งขัน คอมพิวเตอร์โอลิมปิก นั่นคือ ผู้เข้าทดสอบจะต้องส่ง Source code ภาษา C หรือ C++ ที่ได้ทำการเขียนไว้เพื่อแก้ปัญหาโจทย์แต่ละข้อ ผ่านทางแบบฟอร์มในหน้าเว็บไซต์ (หลังจากเข้าสู่ระบบแล้ว) โดยในแบบฟอร์มนั้น จะให้เลือกว่า Source code ที่ส่งนั้น เป็นโปรแกรมแก้ปัญหาโจทย์ข้อใด และเขียนด้วยภาษาอะไร ตรงนี้ต้องเลือกให้ถูกต้องตามที่ผู้เข้าทดสอบต้องการ หลังจากนั้นกดปุ่มเพื่อยืนยันการส่ง

เมื่อกดปุ่มส่งไฟล์โค้ดโปรแกรมไปแล้ว โปรแกรมของผู้เข้าทดสอบจะถูกนำไปเข้าคิวเพื่อรอตรวจโดยอัตโนมัติ จากนั้นเมื่อโปรแกรมของผู้เข้าทดสอบได้รับการตรวจ ระบบจะทำการแสดงผลของการตรวจโปรแกรมนั้นๆ ทางหน้าจอ (โดยปกติจะไม่เกิน 30 วินาที ขึ้นอยู่กับปริมาณงานในคิวของระบบ)

ในระหว่างการทดสอบจริง ระบบจะทำการตรวจโปรแกรมที่ส่งเข้ามาด้วย ชุดข้อมูลตัวอย่าง จำนวน 1-2 ชุดเท่านั้น และแสดงผลว่าโปรแกรมนั้นๆ ผ่านชุดข้อมูลตัวอย่างหรือไม่ ซึ่งชุดข้อมูลตัวอย่างนี้ เป็นเพื่อการตรวจสอบโปรแกรมในเบื้องต้นเท่านั้น ไม่เกี่ยวกับการให้คะแนนจริงแต่อย่างใด

การให้คะแนนจริง จะเกิดหลังจากหมดระยะเวลาการทดสอบ นั่นคือ โปรแกรมที่ส่งขึ้นมาล่าสุด ของโจทย์แต่ละข้อของผู้เข้าทดสอบ จะถูกนำมาตรวจใหม่อีกครั้ง ด้วย ชุดข้อมูลทดสอบจริง จำนวน 10-25 ชุด (โจทย์แต่ละข้ออาจไม่เท่ากัน) หากโปรแกรมของผู้เข้าทดสอบ สามารถให้คำตอบที่ถูกต้องในแต่ละชุดข้อมูลทดสอบได้ จะได้รับคะแนน ซึ่งถ้าโปรแกรมนั้นตอบถูกในทุกๆ ชุดข้อมูลทดสอบของข้อนั้น จะได้รับคะแนนเต็ม 100 คะแนนสำหรับโจทย์ข้อนั้นทันที

การตัดสินของคณะกรรมการฯ ถือเป็นที่สิ้นสุด

Judgement and System Environments

หลังจากส่งโปรแกรมเข้าสู่ระบบแล้ว ระบบจะทำการตรวจและคืนค่าผลการตรวจกลับไปให้กับผู้ที่ส่ง ซึ่งผลการตรวจใช้อักษรย่อต่างๆ ดังต่อไปนี้ P หมายถึง คำตอบถูกต้อง (Corrected) | – หมายถึง คำตอบผิด (Incorrected) | X หมายถึง โปรแกรมผิดพลาด (Crashed) เช่น ประกาศหน่วยความจำไม่พอ หรือการหารด้วยศูนย์เป็นต้น | T หมายถึง รันนานเกินไป (Time Limit Exceeded) โจทย์แต่ละข้อจะระบุเวลามากสุดที่อนุญาตให้โปรแกรมใช้ เช่นผลการตรวจดังนี้ PPT– หมายความว่า โปรแกรมที่ส่งได้รับการตรวจจากชุดข้อมูลทดสอบจำนวน 5 ชุด โดยให้คำตอบที่ถูกต้องในชุดที่ 1 และ 2 ส่วนเมื่อทดสอบด้วยชุดที่ 3 พบว่าโปรแกรมรันนานเกินไป และโปรแกรมให้คำตอบที่ผิดในชุดที่ 4 และ 5 (รวมแล้วได้คะแนน 40% คือถูกต้อง 2 จาก 5 ชุด)

ระบบตรวจทำงานบน Linux OS และใช้ GNU GCC เป็น Compiler ไม่อนุญาตให้ #include <conio.h> และเรียกใช้ฟังก์ชัน system()

ชนิดข้อมูลทั้งประเภท int และ long บนระบบตรวจมีขนาด 32 bits ใช้ Format code เป็น %d และ %ld ตามลำดับ

ชนิดข้อมูล long long บนระบบตรวจมีขนาด 64 bits ใช้ Format code เป็น %I64d (ไอใหญ่ หกสิบสี่ ดีเล็ก)

Further Information

ในระหว่างการทดสอบ หากมีคำถามเกี่ยวกับโจทย์ข้อใดๆ หรือเกี่ยวกับระบบ ผู้เข้าทดสอบสามารถแจ้งผ่านแบบฟอร์มที่ทางระบบจัดทำไว้ หลังจากนั้น คณะกรรมการฯ จะทำการตอบคำถามนั้นกลับไป โดยคำตอบที่ได้รับจะปรากฎในเมนู ประกาศ และหากว่าคณะกรรมการฯ เห็นว่าคำถามนั้นเป็นประโยชน์ต่อผู้เข้าทดสอบคนอื่นๆ ก็จะทำการประกาศให้ผู้เข้าทดสอบคนอื่นเห็นประกาศนั้นด้วย

นอกเหนือระยะเวลาทดสอบ ขอให้ส่งแจ้งปัญหามาทางอีเมล์ devteam

การทดสอบ APC 2008 นี้ ไม่มีส่วนเกี่ยวข้องใดๆ เกี่ยวกับการสอบแข่งขันคอมพิวเตอร์โอลิมปิก สสวท. รอบที่ 2

คณะกรรมการฯ ได้รับความร่วมมือจากสาขาคอมพิวเตอร์ สสวท. ในการวางระบบไว้บนเครื่อง Server ของเว็บไซต์ Programming.in.th แต่ในส่วนของตัวระบบรวมถึงข้อสอบในการทดสอบครั้งนี้ ถือเป็นความรับผิดชอบของคณะกรรมการจัดการแข่งขันเพียงผู้เดียว ไม่เกี่ยวข้องกับทางสาขาคอมพิวเตอร์ สสวท. แต่อย่างใด (ยังไงจะติดตามข่าวมานำเสนอ)

ดาวน์โหลดไฟล์รายละเอียดเต็ม ได้จากที่นี่

ที่มา – APC2008

Comments are closed.