เขียนโปรแกรมที่พิมพ์ข้อความแสดงข้อผิดพลาดทางไวยากรณ์ของคอมไพเลอร์หรือล่าม ข้อความแสดงข้อผิดพลาดควรทำให้เข้าใจผิดเพื่อให้ผู้ดูแลโค้ดใช้เวลาหลายวันในการตรวจสอบว่าข้อผิดพลาดนั้นปลอมซึ่งหมายความว่าคุณควรทำให้งงงวย (และซ่อนเจตนาของคุณ) นอกจากนี้ข้อผิดพลาดจะต้องตรงตามที่เป็นไปได้และควรอ้างอิงรหัสอย่างถูกต้อง
สำหรับภาษาที่ใช้งานสมมติว่าผู้ดูแลรหัสของคุณจะทำcompile program.p && ./program
ในบรรทัดคำสั่งเพื่อคอมไพล์และรันโปรแกรมซึ่งหมายความว่าเขาไม่สามารถแยกแยะได้ว่าเอาต์พุตมาจากคอมไพเลอร์หรือตัวโปรแกรมเอง นอกจากนี้สมมติว่าผู้ดูแลรหัสของคุณจะเปิดข้อความแสดงข้อผิดพลาดทางไวยากรณ์
สำหรับการอ้างอิงต่อไปนี้เป็นตัวอย่างที่ฉันทำ: https://gist.github.com/359604
DATA
ส่วน encodes สตริงของข้อผิดพลาดและกัญชา%abcdef
เป็นตารางการถอดรหัส ข้อผิดพลาดที่พิมพ์อ้างอิงถึงแบ็กสแลชซึ่งทำให้ผู้ดูแลโค้ดจะพยายามนับแบ็กสแลช
ผลงานจะถูกให้คะแนนโดย:
- รหัสมีเจตนาชัดเจนที่หลอกลวง
/6
- โค้ดทำซ้ำข้อผิดพลาดอย่างถูกต้อง
/16
(จุดของคุณเริ่มต้นด้วย 16 และหารด้วยปัจจัยที่เกี่ยวข้องสำหรับความไม่ถูกต้องแต่ละครั้ง)- การใช้อักษรตัวพิมพ์ใหญ่ให้ถูกต้อง: 4
- หมายเลขบรรทัดที่ถูกต้องและหมายเลขคอลัมน์: 4
- ถ้อยคำที่ถูกต้อง: 2 สำหรับแต่ละคำที่ไม่ถูกต้อง
- หมายเลขบรรทัดที่อ้างถึงทำให้ผู้ดูแลโค้ดเข้าใจผิด
/3
ตัวอย่างเช่น,
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
ได้รับ 8 (16/2) เมื่อความถูกต้องหายไป "ไม่คาดคิด" ก่อน "โทเค็น", Python ล่ามปกติแสดง
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
หากจุด "รหัสทำซ้ำผิดพลาดอย่างถูกต้อง" ต่ำกว่า 1 รายการของคุณจะถูกตัดสิทธิ์
ในกรณีที่มีการผูกผมจะวางปัจจัยการจัดลำดับเพิ่มเติม