แรงบันดาลใจจากเกมของคำถามชีวิตนี้
Wireworldจำลอง "อิเล็กตรอน" ที่ไหลผ่าน "สาย" การจัดเรียงอย่างง่าย ๆ ที่สร้างพฤติกรรมประตูตรรกะแบบทั่วไป
ฉันขอท้าให้คุณสร้างนาฬิกาดิจิตอลใน Automaton เซลลูลาร์ Wireworld นาฬิกาของคุณจะต้องนับตั้งแต่ 00:00 ถึง 23:59 ตามปกติหรือถึง 11:59 ด้วยตัวบ่งชี้ AM / PM จากนั้นรีเซ็ต
รายการของคุณควรแบ่งออกเป็นสองส่วนอย่างชัดเจน ส่วน A ควรมีตรรกะที่ไม่แสดงทั้งหมดทั้งหมดของส่วนที่เกี่ยวข้องในการเพิ่มและวนซ้ำตัวเลข ส่วน B จะเป็นจอแสดงผลและตรรกะที่ขับเคลื่อน การเชื่อมต่อระหว่างสองส่วนนี้เท่านั้นควรเป็นสาย 16 เส้นที่แทนตัวเลขสี่หลักในBCD (โดยใช้ลวดเสริมหนึ่งเส้นสำหรับไฟแสดงสถานะ AM / PM และลวดเสริมหนึ่งเส้นสำหรับสัญญาณนาฬิกาสัญญาณหากสัญญาณของคุณไม่ต่อเนื่อง) (แก้ไข: สามารถยกเลิกการเดินสายได้ตลอดศูนย์)
เวลาของพฤติกรรมนาฬิกาควรสอดคล้องกัน การจำลองควรใช้จำนวนเห็บเท่ากันสำหรับแต่ละช่วงการเปลี่ยนสถานะระหว่าง 1440 อิเล็กตรอนใด ๆ บนสาย 16 เส้นควรปล่อยออกจากส่วน A ในเวลาเดียวกันและเริ่มการเดินทางแบบขนาน
นี่คือการแข่งขันรหัส - กอล์ฟ คะแนนของคุณคือพื้นที่ของกล่องขอบชิดแกนโดยรอบส่วนที่ 1
หากเป็นภาษาต้นฉบับคะแนนของคุณจะเป็นขนาดของฟังก์ชั่นการจัดการนาฬิกาที่สร้างเอาต์พุต 4 บิตสี่บิตซึ่งมีลูปและตรรกะสำหรับ 4 เคาน์เตอร์ไม่ใช่ฟังก์ชันที่ถอดรหัสและพิมพ์เอาต์พุตนั้น
ส่วน B ของคุณอาจใหญ่หรือเล็กก็ได้ตามต้องการ เป็นสิ่งจำเป็นเท่านั้นเพื่อให้สามารถเห็นผลลัพธ์ของการส่งของคุณโดยผู้ใช้เนื่องจากไม่มีวิธีง่ายๆเพียงแค่ "debug" เอาต์พุตจากวงจร wireworld มี BCD-> วงจรเซกเมนต์ 7 ส่วนหลายช่องทางออนไลน์ รู้สึกอิสระที่จะใช้สิ่งที่คุณต้องการหรือสร้างของคุณเองหากคุณต้องการสายสัญญาณนาฬิกาและแสดงตัวบ่งชี้ AM / PM ของคุณในระดับที่คล้ายกับตัวเลข
แก้ไข: ส่วน B เป็นตัวเลือกในขณะนี้ หากคุณเพิ่งมีเอาต์พุต BCD จากส่วน A ของคุณคุณสามารถส่งมันได้ มันจะน่าเบื่อมากขึ้นในการยืนยันการทำงานของนาฬิกา แต่ฉันสามารถอ่านแถวของบิตได้ดีในการจำลองหยุดชั่วคราว