1. 汽車輪渡口,過江渡船每次能載10輛車過江,過江車輛分為客車類和貨車類,上渡船有如下規定:同類車先到先上船,客車先于貨車上渡船,且每上4輛客車,才允許上一輛貨車。若等待客車不足4輛,則從貨車代替,若無貨車等待允許客車上船。試寫一個算法模擬渡口管理。
算法設計:
1客車和貨車均建立一個鏈式隊列,初始均為空。以后來一輛車不是貨車就是客車,因此可以說整個程序的事件驅動event就是這兩個,客車表示1,貨車表示0.
2輪船還沒有到達時客車和貨車均按次序排在各自隊列中。
3輪船到達時,根據兩個隊列的情況,分別處理。處理如下:
a 客車數不滿4輛,則將排在前面的貨車上船,但總數不能超過10,若沒有貨車等待,客車直接上船。
b 客車數滿4,但不滿8輛,客車先上,排在前面的只有一輛貨車可以上船,若沒有貨車等待則貨車不上。
c 客車滿8輛但不滿10,客車上船,排在前面的貨車最多可以上2輛,但總數不能超過10。
d 客車滿10,則全上客車,但總數不能超過10。
MSComm 控件通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復雜的API函數,而且在VC、VB、Delphi等語言中均可使用。 Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應用程序提供了通過串行接口收發數據的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅動(Event-driven)方法,一是查詢法。
結合單片機和M a t l a b 兩者的優點,基于事件驅動的中斷通信機制,提出一種Matlab 環境下PC 機與
單片機實時串行通信及數據處理的方法;完成單片機數據采集系統與PC 機的RS-232/RS-485 串行通
信及其通信數據的分析處理、文件存儲、F I R 濾波及圖形顯示;簡化系統開發流程,提高開發效率。
該方法已成功應用于一個P I C 1 6 F 8 7 6 單片機應用系統實例之中