Mystirious Skrevet 24. oktober 2006 Del Skrevet 24. oktober 2006 Hei jeg har en innleverings oppgave, men har ikke skjønt helt hva de mener..Er det noen som gidder å hjelpe til? Lag en klasse som dere kaller Kanal som har følgende funksjonalitet: -Den skal ha en metode som leser blokker av (int n) databiter (fra en senderprosess) - Den skal ha en metode som gir blokker av (int n) databiter (til en mottakerprosess) - Utblokken skal være lik innblokken, bortsett fra at hver enkelt bit (som ved innputt har verdi 0 eller 1) ved utlesing kan være utvisket. Det vil si at dersom innputtverdi av biten er 0 er utputtverdien 0 eller ?, der symbolet ? betyr "ukjent verdi". Dersom innputtverdi av biten er 1 er utputtverdien 1 eller ?. Denne utviskingen skjer for hver bit med en sannsynlighet ", og er uavhengig av hva som skjer med andre biter. Dere kan definere feltvariable og/eller andre metoder som dere finner nødvendig. Dersom minst en bit i en blokk er utvisket, er blokken å anse som upålitelig og dermed ubrukelig. Lag et klientprogram som bruker klassen Kanal, og som gj¿r f¿lgende: - Leser inn fra bruker: Blokklengden n, en verdi for en heltallsvariabel ØnsketAntallFeil, og utviskingssannsynlighet ". Legg vekt på å sjekke at innleste verdier gir mening i forhold til problemet, det vil si at n og ØnsketAntallFeil er positive heltall og at 0.0 <E < 1.0. -Oppretter et Kanal-objekt. - Sender og mottar så mange tilfeldig genererte blokker at vi observerer ubrukelige blokker i et antall av ÂnsketAntallFeil. - Skriver ut antall observerte utviskete bit, antall ubrukelige blokker og antall meldinger sendt. Kontrollerer at utviskingssannsynligheten for hver bit er som forventet, og beregner og skriver ut relativ frekvens av ubrukelige blokker. Utfør programmet for dataverdiene ("E, n) = (0.05,30), (0.01,100), (0.001,500), (0.0001,1000), og (0.00001,1000). I hvert tilfelle må ØnsketAntallFeil være minst 50. Hvilken effekt har det å øke eller redusere verdien av variabelen ØnsketAntallFeil? Lenke til kommentar
krigun Skrevet 24. oktober 2006 Del Skrevet 24. oktober 2006 Herlig... "databiter", "utvisket", "innputt", "utlesing", "utviskingen", "utviskingssannsynlighet"... Si til læreren: "Feil i oppgaven, enten skriv den om til norsk, eller skriv den på engelsk." Lenke til kommentar
Mystirious Skrevet 24. oktober 2006 Forfatter Del Skrevet 24. oktober 2006 LOL...det sier jeg å! Men han sier at meningen med oppgaven er at det skal være vanskelig å forstå...men, men ...hvis det e noe som har tips let me know... Lenke til kommentar
pgdx Skrevet 24. oktober 2006 Del Skrevet 24. oktober 2006 UiB, ja... Herlig, han Øyvind-fyren. Er forresten ferdig med oppgaven. Lenke til kommentar
Jarmo Skrevet 24. oktober 2006 Del Skrevet 24. oktober 2006 Emnetittelen i denne tråden er ikke god nok, om ikke dette blir endret slik at det er lettere å forstå hva slags informasjon tråden omhandler vil denne bli stengt! En god emnetittel er en tittel som forklarer godt hva innholdet i posten din går ut på. En bruker bør kunne skaffe seg oversikt over hovedinnholdet i posten bare ut fra å lese tittelen. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler. Bruk -knappen i første post for å endre emnetittelen. (Dette innlegget vil bli fjernet ved endring av emnetittel. Vennligst ikke kommenter dette innlegget, men rapporter gjerne dette innlegget når tittelen er endret, så vil det bli fjernet.) Lenke til kommentar
Mystirious Skrevet 25. oktober 2006 Forfatter Del Skrevet 25. oktober 2006 ja...så drange har du noen tips til denne oppgaven eller? Lenke til kommentar
pgdx Skrevet 25. oktober 2006 Del Skrevet 25. oktober 2006 Ja, tips, ja... Du bør ihvertfall begynne med å lage datastrømmen som et integer-array, hvor 0 representerer 0/false og 1 representerer 1/true. Opprett paritetsbit ved å lage et nytt array som er en lenger enn det forrige: int[] nyttArray = new int[(gammeltArray.length+1)] Kopier alle bitene over samtidig som du regner ut antall enere: for (int i = 0; i < gammeltArray.length; i++) { nyttArray[i] = gammeltArray[i]; if (gammeltArray[i] ==1) antall1ere++; } Regn ut om det er partall enere og sett paritetsbit på bakgrunn av det: if (antall1ere %2 == 1) nyttArray[(nyttArray.length-1)] = 1; Deretter kjører du denne utviskingsgreien på hele arrayet ved å hente inn en nextDouble() fra Random-klassen (import java.util.Random): Random tilfeldig = new Random(); for (int i = 0; i < nyttArray.length; i++) { if (sannsynlighet > tilfeldig.nextDouble()) { nyttArray[i] = 2; } } her representerer 2 et utvisket bit. Litt semipseudokvasikode som mest sannsynlig inneholder en god del logiske og syntaktiske feil, men håper du får litt ut av det. Lenke til kommentar
darkness| Skrevet 25. oktober 2006 Del Skrevet 25. oktober 2006 Tråd stenges pga manglende endring av emnefelt. Lenke til kommentar
Anbefalte innlegg