View Full Version : IMplementazione semafori C++
Salve ragazzi,
dovrei implementare in c++ un programma che si comporti cioè come una coda di auto al semaforo.. arrivano delle macchine si accodano poi quando scatta il verde si libera la coda...tutto regolato da un timer... Potreste aiutarmi io sono proprio 0 in programmazione..
Ciao
-----
AGGIUNGO QUESTO MAGARI VI AIUTA A COMPRENDERE MEGLIO...
Praticamente un programma che funzioni proprio come un semaforo...semaforo rosso (le macchine si accodano) semaforo verde (la coda viene liberata)...tutto gestito da un timer....sapreste aiutarmi?
se sei a zero di programmazione no, non sappiamo aiutarti :Prrr:
scherzi a parte, cercati un tutorial di C++, possibilmente in inglese, e poi torna con richieste più specifiche ;)
ciao
Guarda è un esercizio che spesso viene dato all'università nei primi corsi di programmazione (io lo feci ai miei tempi in C).
Probabilmente se cerchi con iau o gugol trovi gia il sorgente.
Si lo so avete perfettamente ragione, ma io studente di matematica mi trovo a dover preparare questo esame in 10 giorni senza nessuna nozione di programmazione :cry:
NOn so proprio dove mettermi le mani! Cmq sto anche cercando su internet se trovo qualche sorgente o qualche cosa di interessante...se riuscite a trovare qualche cosa di interessante vi sarei molto grato se me lo segnalate..
Grazie mille ragazzi
Se parli di semaforo come struttura di sincronizzazione, non è implementabile in C++ se non con l'aiuto delle API del sistema operativo... Quindi ci devi dire anche il sistema operativo...
Allora:
Il progetto consiste nell'implementare un semaforo che gestisca una coda di macchine....proprio come un semaforo che incontri per strada..Quando è rosso la coda si riempie e quando è verde la coda si vuota...Tutto gestito da un timer...
Io avevo pensato di creare un array di N elementi..ogni x secondi un elemento
entra nell'array.... (semaforo rosso)
Intanto c'è un timer quando il timer arriva a 0 il semaforo diventa verde e la coda si rivuota.....
Dopo z secondi diventa arancione dopo z+2 secondi diventa rosso si riempie di nuovo l'array e cosi via....
Grazie mille Simone
Mi puoi dire che esame è ?
Anche l'implementazione del timer è un dettaglio che dipende dal sistema operativo...
l'esameè di "laboratorio di algoritmi"..
Il prof mi ha detto:
"devi fare un programma che si comporti come un normale semaforo nella strada...quando è verde la cosa si vuota...quando è rosso la coda si riempie..."
Tutto l'altro lho dedotto io....credi che abbìa dedotto male??
l'esameè di "laboratorio di algoritmi"..
Il prof mi ha detto:
"devi fare un programma che si comporti come un normale semaforo nella strada...quando è verde la cosa si vuota...quando è rosso la coda si riempie..."
Tutto l'altro lho dedotto io....credi che abbìa dedotto male?? e il timer come lo sai implementare tu? usi qualche funzione specifica del sistema operativo? oppure soluzione niubba fate un loop succhia-CPU che controlla il tempo con le funzioni standard del C ad ogni iterazione? :D
71104: lo sai che la firma mi piace, ma la potresti riportare a dimensioni da regolamento ? ;)
avete un regolamento troppo rigido! :cry:
io nn sono molto pratico del c++ magari se potreste aiutarmi
con wxwidgets c'è una classe wxTimer..
per le macchine in code perchè un array? una semplice variabile a cui aggiungi o sottrai non è uguale?
io nn sono molto pratico del c++ magari se potreste aiutarmi non possiamo aiutarti perché non sappiamo come il tuo professore vuole che tu lavori; che framework devi usare? oppure devi usare delle API? quali? Windows? Linux? Mac? esistono fottilioni di maniere diverse di realizzare un timer nel mondo della programmazione :D
jappilas
19-11-2005, 15:05
esistono fottilioni di maniere diverse di realizzare un timer nel mondo della programmazione :D
verissimo... però sono curioso di sapere di che ordine di grandezza è il fottilione... 10 seguito da 25 , ehm, zeri ? :sofico:
scusate oggi sono un po' faceto... :D
scherzi a parte, per risolvere il problema può effettivamente tornare utile anche il cosidetto spinlock (la cui implementazione varia da api all' altra come per i timer se non ricordo male )
Devi aver seguito almeno un corso di sistemi operativi, comunque, sotto windows, la bibbia è MDSN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/using_semaphore_objects.asp)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.