แรงบันดาลใจจากคำถามนี้จากอุปกรณ์อิเล็กทรอนิกส์ SEนี่คือความท้าทายสำหรับคุณ:
เขียนโปรแกรมหรือรูทีนย่อยที่ใช้ตัวเลขทศนิยม (0 ถึง 9) และพูดออกเสียงโดยไม่ต้องใช้เครื่องมือสังเคราะห์เสียงพูดที่มีอยู่
การป้อนข้อมูล:
คุณอาจขอให้ใส่ตัวเลขในรูปแบบที่สมเหตุสมผลเช่นสตริงของ ASCII, อาร์เรย์ของจำนวนเต็ม, ตัวเลขเข้ารหัส BCD เป็นต้นหากวิธีการแก้ปัญหาของคุณเป็นโปรแกรมที่ปฏิบัติการได้คุณอาจใช้อินพุตเป็น พารามิเตอร์บรรทัดคำสั่งอ่านจากอินพุตมาตรฐานหรือรับในลักษณะที่สมเหตุสมผลอื่น ๆ
โปรแกรมของคุณจะต้องสามารถพูดได้อย่างน้อยแปดหลักต่อการร้องขอ คุณอาจสันนิษฐานว่าตัวเลขตัวแรกไม่ใช่ศูนย์เว้นแต่เป็นตัวเลขหลักเดียว
เอาท์พุท:
โปรแกรมของคุณอาจพูดตัวเลขโดยตรงโดยใช้อุปกรณ์เสียงหรืออาจส่งออกไฟล์เสียงที่เล่นได้ ไฟล์เอาต์พุตถ้ามีอาจอยู่ในรูปแบบเสียงมาตรฐานหรืออาจประกอบด้วยข้อมูลตัวอย่างดิบ หากคุณส่งออกข้อมูลตัวอย่างดิบโปรดสังเกตพารามิเตอร์ที่เหมาะสมสำหรับการเล่น (อัตราตัวอย่างบิตต่อตัวอย่างความ endianness ลงนาม / ไม่ได้ลงนาม # ช่อง) รูปแบบที่รองรับโดยaplayเป็นที่ต้องการ
คุณมีอิสระในการตัดสินใจรายละเอียดเกี่ยวกับวิธีการพูดตัวเลข แต่ผลลัพธ์ของคุณควรประกอบด้วยตัวเลขภาษาอังกฤษที่พูดในลักษณะที่เข้าใจได้โดยผู้พูดภาษาอังกฤษทั่วไปและควรชัดเจนพอที่ผู้ฟังจะสามารถถอดความได้อย่างถูกต้อง ตัวเลขสุ่มแปดหลักที่พูด ไม่เพียง beeping nครั้งไม่นับ อย่าลืมที่จะรวมการหยุดระหว่างตัวเลข
เกณฑ์การให้คะแนน:
ใช้กฎการให้คะแนนรหัสกอล์ฟแบบมาตรฐาน: คะแนนของคุณคือความยาวของรหัสเป็นไบต์หรือหากรหัสของคุณเขียนด้วยข้อความ Unicode ในหน่วย Unicode คะแนนต่ำสุดชนะ ภาษาใดก็ได้
ตามคำถามเดิมเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ SE เป็นเรื่องเกี่ยวกับการเขียนโปรแกรมแบบฝังตัวฉันรู้สึกว่าควรโยนกระดูกให้ผู้เขียนโดยใช้ภาษาระดับต่ำ: หากโซลูชันของคุณเขียนด้วยภาษาที่รวบรวมคุณอาจเลือกที่จะนับความยาวของไฟล์ปฏิบัติการที่คอมไพล์ในหน่วยไบต์เป็นคะแนนของคุณ (ใช่ไบต์.class
ที่คอมไพล์แล้วล่วงหน้าเช่นไฟล์Java ก็ใช้ได้เช่นกัน) หากคุณเลือกที่จะใช้ประโยชน์จากตัวเลือกนี้โปรดรวมสำเนาของไฟล์ที่ประมวลผลได้ในคำตอบของคุณ (เช่นฐานสิบหก) พร้อมกับซอร์สโค้ดของคุณ และเวอร์ชันคอมไพเลอร์และตัวเลือกที่คุณใช้ในการสร้าง
การกล่าวถึงอย่างมีเกียรติพร้อมด้วยค่าหัว +50 ตัวแทนจะได้รับคำตอบแรกที่ตรงตามเกณฑ์ของคำถามเดิมกล่าวคือสามารถทำงานบน MCU แบบฝังที่มีแฟลชขนาด 4 kb และ SRAM 1 kb
ข้อ จำกัด:
คุณไม่สามารถใช้ไฟล์หรือทรัพยากรเครือข่ายใด ๆที่ไม่ได้เป็นส่วนหนึ่งของสภาพแวดล้อมรันไทม์มาตรฐานของภาษาที่คุณเลือกเว้นแต่คุณจะนับความยาวของไฟล์หรือทรัพยากรดังกล่าวเป็นส่วนหนึ่งของคะแนนของคุณ (นี่เป็นการไม่อนุญาตเช่นการโหลดตัวอย่างเสียงจากเว็บ)
คุณไม่สามารถใช้เครื่องมือการสังเคราะห์เสียงพูดที่มีอยู่แล้วหรือไลบรารีหรือการรวบรวมข้อมูลเสียง (เว้นแต่คุณจะนับขนาดเป็นส่วนหนึ่งของคะแนนของคุณ) แม้ว่าจะรวมอยู่ในสภาพแวดล้อมรันไทม์มาตรฐานของภาษาที่คุณเลือก