設計一個智力競賽搶答器,可同時供8名選手或8個代表隊參加比賽,他們的編號分別是0、1、2、3、4、5、6、7,各用一個搶答按鈕,按鈕的編號與選手的編號相對應,分別是So、S1、S2、S3、S4、S5、S6、S7。
② 給節目主持人設置一個控制開關,用來控制系統的清零(編號顯示數碼管滅燈)和搶答的開始。
③ 搶答器具有數據鎖存和顯示的功能。搶答開始后,若有選手按動搶答按鈕,編號立即鎖存,并在LED數碼管上顯示出選手的編號,同時蜂鳴器給出音響提示。此外,要封鎖輸入電路,禁止其他選手搶答。優先搶答選手的編號一直保持到主持人將系統清零為止。
• 擴展功能
實現最優二叉樹的構造;在此基礎上完成哈夫曼編碼器與譯碼器。 假設報文中只會出現如下表所示的字符:
字符 A B C D E F G H I J K L M N
頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57
字符 O P Q R S T U V W X Y Z , .
頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2
要求完成的系統應具備如下的功能:
1.初始化。從終端(文件)讀入字符集的數據信息,。建立哈夫曼樹。
2.編碼:利用已建好的哈夫曼樹對明文文件進行編碼,并存入目標文件(哈夫曼碼文件)。
3.譯碼:利用已建好的哈夫曼樹對目標文件(哈夫曼碼文件)進行編碼,并存入指定的明文文件。
4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。