TESTO Su un fiume, che regola l'uscita di barche da un porto, si trova un ponte mobile a una corsia che collega tra di loro due strade a doppio senso di marcia. L'attraversamento del ponte è gestito da due semafori che, a intervalli regolari, consentono il transito da una o dall'altra sponda. Un sensore rileva il passaggio delle barche che contemporaneamente blocca il traffico delle auto e consente l'apertura del ponte. Inoltre, è stato calcolato che una barca impiega per passare al più 10 minuti, al termine dei quali, se non ve ne sono altre in transito, viene consentita la chiusura del ponte e la riapertura del traffico. Il programma da me svolto gira, ma non in maniera corretta. Nonostante io ritenga di aver individuato il problema (slide 4-5), non sono in grado di modificarlo. Sperando in sede di esame di arrivare ad una soluzione, Le propongo ugualmente l’elaborato poiché non mi sembra di essere così lontano dalla impostazione ottimale. Codice Test Simulazione Dal momento che il sensore si attiva i semafori si spengono e il ponte si apre; tuttavia il sensore torna a zero perché la barca ha finito di passargli davanti e il conteggio si blocca e il ponte rimane aperto. L’errore è quasi sicuramente nella riga: Tuttavia non so come risolvere il problema. Ho tentato di sostituire lo statement con “(sensore‘event) and (sensore = ‘1’)” ma il compilatore dava errore. “(sensore’last_value)”, ma ottenevo soltanto un ponte che dal primo fronte positivo di sensore non faceva altro che chiudersi e aprirsi dopo ogni conteggio.