1.我的理解是流水線最多200個(gè)輪胎,只在入口檢測(cè),到對(duì)應(yīng)位置打開(kāi)對(duì)應(yīng)輸出?首先標(biāo)定各個(gè)輸出與入口的距離存入數(shù)組(假設(shè)為p1,p2,p3...),然后整個(gè)線體一圈假定N個(gè)脈沖,計(jì)數(shù)器為環(huán)形計(jì)數(shù)器最好,不是的話需要程序取余數(shù)但是可能溢出會(huì)導(dǎo)致取余數(shù)不準(zhǔn)。當(dāng)入口感應(yīng)到輪胎則記錄當(dāng)前編碼器數(shù)字假設(shè)為P,然后就得到了每個(gè)輸出輸出時(shí)的位置(P+P1)MOD N,當(dāng)當(dāng)前值大于等于此值時(shí)輸出打開(kāi)一段時(shí)間。上述可以構(gòu)造一個(gè)200*40的數(shù)組實(shí)現(xiàn),然后輸出過(guò)后可以再設(shè)置個(gè)標(biāo)志位,當(dāng)所有標(biāo)志位ON之后就可以清除這個(gè)輪胎的位置數(shù)據(jù)了。
2.可以理解成原本Y0對(duì)應(yīng)Y0,Y1對(duì)應(yīng)Y1,。。。程序可以先做一次映射,比如Y0--M0,Y1--M1。那么原本的映射關(guān)系可以看成是M0=Y0*1+Y1*0+....所以所要做的是構(gòu)建一個(gè)單位矩陣,對(duì)角線全為1,映射關(guān)系就是矩陣的乘積,所以輸入數(shù)字改變映射關(guān)系就是改變這個(gè)矩陣,也就是每一行1的位置,這個(gè)應(yīng)該就沒(méi)啥難度了吧,這樣可以實(shí)現(xiàn)全輸出任意映射的切換。
3.沒(méi)太看懂題目?感覺(jué)用個(gè)存儲(chǔ)1--8的8個(gè)寄存器隊(duì)列,移動(dòng)一次先出后入一次記憶工位,產(chǎn)品對(duì)應(yīng)關(guān)系,然后另有8個(gè)寄存器存儲(chǔ)報(bào)警。報(bào)警發(fā)生時(shí),現(xiàn)根據(jù)隊(duì)列找到對(duì)應(yīng)關(guān)系然后存入報(bào)警信息不就好了?
4.怎么提取,輸入起始位置和長(zhǎng)度提?要是我就直接整個(gè)字符串異或0b1000 0000,因?yàn)锳SC范圍也就到0X7F,這樣把H00轉(zhuǎn)化成合法字符串用字符串指令操作好再異或回來(lái)。
5.二分法,思路很簡(jiǎn)單只不過(guò)寫的時(shí)候細(xì)節(jié)很多。