เฉลยข้อสอบ A1-001
โดย รศ. ดร.พันธุ์ปิติ เปี่ยมสง่า
📘 โจทย์: สวัสดี (A1-001)
A1 = ข้อง่าย | 001 = เลขที่อ้างอิงของโจทย์
🧠 สรุปเนื้อหาโจทย์:
- รับ ชื่อ และ นามสกุล จากผู้ใช้
- แสดงผล 2 บรรทัด:
- บรรทัดที่ 1: Hello ชื่อ นามสกุล
- บรรทัดที่ 2: ชื่อแฝง → เอา 2 ตัวแรกของชื่อ + 2 ตัวแรกของนามสกุล
📌 ตัวอย่าง:
Input: Katy Perry Output: Hello Katy Perry KaPe
🐍 แนวทางการเขียนโปรแกรมภาษา Python
- อ่านโจทย์ให้เข้าใจ
- เขียนโค้ดในไฟล์ .py เช่น
a1-001.py
- ใช้
input()
รับข้อมูล 2 บรรทัด - ใช้
print()
แสดงผลตามรูปแบบที่โจทย์กำหนด - อัปโหลดไฟล์ .py ไปยังระบบ TOI National Grader
- ระบบจะรันทดสอบหลาย test case ให้อัตโนมัติ
- โปรแกรมต้องแสดงผลให้ "ตรงเป๊ะ" กับรูปแบบที่โจทย์กำหนด
💻 ตัวอย่างโค้ด Python
print(f"Hello {first_name} {last_name}") print(first_name[:2] + last_name[:2])
⚠️ ข้อควรระวัง ⚠️
- ห้ามพิมพ์ “Input:” หรือ “Output:”
- ใช้เฉพาะ
input()
และprint()
เท่านั้น - ระวัง ช่องว่าง ตัวพิมพ์ใหญ่/เล็ก และบรรทัดว่าง
- คำตอบต้อง เหมือนตัวอย่างทุกตัวอักษร เช่น Hello ไม่ใช่ hello
⚠️ หากชื่อหรือนามสกุลมีน้อยกว่า 2 ตัวอักษร โปรแกรมอาจ error → แต่โจทย์เบื้องต้นจะไม่หลอกเราแน่นอน
💻 แนวทางการเขียนโปรแกรมภาษา C
- อ่านโจทย์ให้เข้าใจ
เขียนโค้ดในไฟล์ .c เช่น a1-001.c
- ใช้
scanf();
รับข้อมูล 2 บรรทัด - ใช้
printf();
แสดงผลตามรูปแบบที่โจทย์กำหนด - อัปโหลดไฟล์ .c ไปยังระบบ TOI National Grader
- ระบบจะรันทดสอบหลาย test case ให้อัตโนมัติ
- โปรแกรมต้องแสดงผลให้ "ตรงเป๊ะ" กับรูปแบบที่โจทย์กำหนด
💻 ตัวอย่างโค้ด C
prinft("Hello %s %sn”, firstname, lastname); printf(“%.2s%.2s”, firstname, lastname)
⚠️ ข้อควรระวัง ⚠️
- ห้ามพิมพ์ข้อความอื่นนอกเหนือจากที่โจทย์กำหนด เช่น “Please input name:” หรือ “Output:”
- ใช้เฉพาะ
scanf();
และprintf();
เท่านั้น - ระวัง ช่องว่าง ตัวพิมพ์ใหญ่/เล็ก และบรรทัดว่าง
- คำตอบต้อง เหมือนตัวอย่างทุกตัวอักษร เช่น Hello ไม่ใช่ hello
🖥️ แนวทางการเขียนโปรแกรมภาษา C++
- อ่านโจทย์ให้เข้าใจ
เขียนโค้ดในไฟล์ .cpp เช่น a1-001.cpp
- ใช้
cin
รับข้อมูล 2 บรรทัดเช่น cin >> firstName >> lastName; - ใช้
count
แสดงผลตามรูปแบบที่โจทย์กำหนดเช่น cout << “Hello” << “ “ << firstName << “ “ << lastName << endl; - อัปโหลดไฟล์ .c ไปยังระบบ TOI National Grader
- ระบบจะรันทดสอบหลาย test case ให้อัตโนมัติ
- โปรแกรมต้องแสดงผลให้ "ตรงเป๊ะ" กับรูปแบบที่โจทย์กำหนด
💻 ตัวอย่างโค้ด CPP
cout << “Hello” << “ “ << firstName << “ “ << lastName << endl; cout << firstName.substr(0,2) << lastName.substr(0,2) << endl;
⚠️ ข้อควรระวัง ⚠️
- ห้ามพิมพ์ข้อความอื่นนอกเหนือจากที่โจทย์กำหนด เช่น “Please input name:” หรือ “Output:”
- ระวัง ช่องว่าง ตัวพิมพ์ใหญ่/เล็ก และบรรทัดว่าง
- คำตอบต้อง เหมือนตัวอย่างทุกตัวอักษร เช่น Hello ไม่ใช่ hello
📤 แนวทางการอัปโหลด
📥 วิธีดาวน์โหลดโจทย์:
- คลิกเมนู Statement ทางซ้าย
- คลิกปุ่ม Download task statement ทางด้านขวามือ
📥 วิธีการ Upload โปรแกรมเพื่อตรวจสอบความถูกต้อง
- คลิกที่เมนู Submission ด้านซ้ายมือ
- คลิกปุ่ม choose file เพื่อเลือกไฟล์โปรแกรมนามสกุล .c หรือ .cpp หรือ .py
- คลิกปุ่ม Submit เพื่อส่งโปรแกรม
💡 ใครติดขัดสามารถแจ้งทีมงาน ม.บูรพา ได้เลยครับ
ขอให้สนุกกับการฝึกทำโจทย์ ฝึกบ่อย ๆ เดี๋ยวก็เก่งเอง 💪
#TOIZero #Python #C #C++ #ฝึกเขียนโปรแกรม #สายโอลิมปิกก็มา