modus_ponens
Član broj: 75014 Poruke: 71 *.dynamic.sbb.co.yu.
|
Evo u cemu je stvar:
Ono sto se sigurno zna, jeste da generatore treba prvo prozvati, i to moze i proizvoljnim redoslijedom. A za ostale elemente, potrebno je tacno odrediti red elementa u kolu (logicki red, definisan kao u ORT-u). Dakle, po definiciji, generatori bi imali red 1, i prozivali bi se prvo oni. Medjutim, kola koja su vezana na generatore, ne moraju neposredno da imaju red 2(tj.ne znaci da ako su vezani za generator moraju da se odmah poslije generatora prozovu), jer im drugi ulaz moze biti zakacen na izlaz nekog prethodnog elementa, koje nije generator.
Da ilustrujem kao primjer uvezanosti elemenata (-> znaci "povezan je sa"),npr.: "Generator1"->"dvoulazno I kolo(ulaz1)" , dok istovremeno "Generator2"->"Invertor"->"dvoulazno I kolo(ulaz2)". Drugim rijecima, generatore 1 i 2 prozivam prvo, sigurno, ali onda moram prozvati prvo invertor(on je reda 2), pa onda tek "I kolo", jer je ono ipak reda 3, a ne reda 2(bas zbog drugog ulaza,iako je jednim ulazom vezano za gen1). Ovakav redoslijed prozivanja sigurno omogucava ispravnu simulaciju, pod uslovom da je naravno, kolo bilo dovedeno u definisano stanje po ukljucenju, ali to su vec finese...
Meni je sva poteskoca u odredjivanju algoritma koji ce mi precizno odrediti red svakog elementa kola, na osnovu ulaznog fajla. Kad bih se s tim iskobeljao, bilo da ima kasnjenje ili ne, bilo bi maltene pravolinijski ...
Metod kada nema kasnjenja moze i da se realizuje na "grubu silu" - ubace se svi elementi u listu, cak se ni ne pazi ko se prvo proziva, ali ukoliko se (za fiksiran vremenski trenutak) vrijednost bilo kog izlaza elementa promijenila, treba ici ponovo kroz listu. Ja sam probao da ovako implementiram i sa kasnjenjem, dodajuci samo koncept "zakazivanja dogadjaja", ali nisam mogao izbjeci pojavu laznih dogadjaja, ukoliko ne bih tacno znao kojim redoslijedom trebam prozivati elemente.
Dakle, mreza nema povratnih petlji (sa nekog izlaza, na ulazi istog tog kola, npr.), ali ima "najkomplikovaniji" slucaj koji je objasnjen, gore, u pasusu 2 :)
Poenta je sto sam ja krenuo ovom direkcijom , a mozda ima i boljih nacina razmisljanja, ipak OOP nudi dosta sarolikih mogucnosti, a ako imas neku idejicu jos, slobodno kazi.
Ipak, hvala na trudu i misljenju,cijenim to :) !
|