prevod - vyvojovy diagram
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
prevod - vyvojovy diagram
ahojte, mohol by mi niekto poradit???
mam vyvojovy diagram, chcem ho skontrolovat, ci je spravny a pripadne poradit, ako tam mam dať, aby mi to vypisovalo od najvyššej hodnoty. dikes
mam vyvojovy diagram, chcem ho skontrolovat, ci je spravny a pripadne poradit, ako tam mam dať, aby mi to vypisovalo od najvyššej hodnoty. dikes
- Prílohy
-
- prevod.docx
- (60.88 KiB) 57 stiahnutí
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
pozrel som to len zbežne a zavrel, nechcelo sa mi to znova načítavať lebo je to trápne docx. Myslel som že najprv robí div a potom mod, teda opačné poradie tých príkazov. Teraz pozerám že má najprv mod a potom div, tak hej, v takom prípade to bude iba jednotkaBX napísal:Jak jednotku alebo nulu? Ved posledne x bude vzdy jeden a teda zvysok bude vzdy jeden nie?Cim zacina kazdy binarny kod?
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
No zbezne som pozrel. Este popracuj na tom zobrazeni toho binarneho kodu, pretoze zase vypisujes len jeden znak a to zvysok(i); Musis vypisat vsetko, teda bud zvysok (bez indexu, ale neviem ci sa to moze), alebo zase v cykle od j=0 do j=i; respektive skor od j=i do j=0, vypis zvysok(j) aby sa vypisal od zadu 
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
Po poriadku:
V jednom cykle zistis zvysok (x mod 2), vydelis x (x div 2) a i zvysis o jedna (i=i+1). V prvom prechode cysklom ma i hodnotu 0 tak zvysok ulozis do zvysok(0), v druhom prechode ma i hodnotu 1 tak ulozis zvysok do zvysok(1) atd...
V dalsom cykle musis ale vybrat vsetky tieto zvysky. Od 0 az po neviem kolko... Tak urobis novy cuklus, kde budes j zvysovat o jedna a vypisovat zvysok(j) az do hodnoty i (pretoze i sa v predchadzajucom cykle zvysovalo do vtedy, kym x nebolo nula. Teda tolko zvyskov si vlastne nacitala)
A tak ti staci normalne dalsi cyklus:
repeat
vypis(zvysok(j)
j=j+1
until(j=i)
Lenze... binarny kod sa vypisuje od zadu vsak? To vieme... tak ale potom nemozme vypisat zvysok od nula po i, ale od i po nula. Aby posledny zvysok bol prvy (tak dosiahneme to, ze ho napiseme "od zadu")
Tak len treba opravit podmienku a hotovo.
repeat
vypis(zvysok(i)
i=i-1
until(i=0)
V jednom cykle zistis zvysok (x mod 2), vydelis x (x div 2) a i zvysis o jedna (i=i+1). V prvom prechode cysklom ma i hodnotu 0 tak zvysok ulozis do zvysok(0), v druhom prechode ma i hodnotu 1 tak ulozis zvysok do zvysok(1) atd...
V dalsom cykle musis ale vybrat vsetky tieto zvysky. Od 0 az po neviem kolko... Tak urobis novy cuklus, kde budes j zvysovat o jedna a vypisovat zvysok(j) az do hodnoty i (pretoze i sa v predchadzajucom cykle zvysovalo do vtedy, kym x nebolo nula. Teda tolko zvyskov si vlastne nacitala)
A tak ti staci normalne dalsi cyklus:
repeat
vypis(zvysok(j)
j=j+1
until(j=i)
Lenze... binarny kod sa vypisuje od zadu vsak? To vieme... tak ale potom nemozme vypisat zvysok od nula po i, ale od i po nula. Aby posledny zvysok bol prvy (tak dosiahneme to, ze ho napiseme "od zadu")
Tak len treba opravit podmienku a hotovo.
repeat
vypis(zvysok(i)
i=i-1
until(i=0)
-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
aha už chápem, takže pod ten cyklus čo tam má a končím x:=0 nedám vypísať zvyšok ale dám druhý cyklus...aha...ďakujeeeeem....
//autoeditácia príspevku ( 30 Dec 2009, 14:52 )
takto dáko????
//autoeditácia príspevku ( 30 Dec 2009, 14:52 )
takto dáko????
- Prílohy
-
- prevod.doc
- (103 KiB) 22 stiahnutí
Takto ako to mas, by si vypisovala jednu hodnotu, ktora neexistuje...
Napr. x=3 i=0
zvysok(0) = x mod 2 -> zvysok(0) = 1
x = x div 2 -> x = 1
i = i+1 -> i = 1
x <> 0
zvysok(1) = x mod 2 -> zvysok(1) = 1
x = x div 2 -> x = 0
i = i+1 -> i = 2
x == 0
vypis(zvysok(2)) ...a tu nemas nic ulozene
takze treba dat
Napr. x=3 i=0
zvysok(0) = x mod 2 -> zvysok(0) = 1
x = x div 2 -> x = 1
i = i+1 -> i = 1
x <> 0
zvysok(1) = x mod 2 -> zvysok(1) = 1
x = x div 2 -> x = 0
i = i+1 -> i = 2
x == 0
vypis(zvysok(2)) ...a tu nemas nic ulozene
takze treba dat
Kód: Vybrať všetko
vypis(zvysok(i-1))-
tina.olbreitova
Amateur
- Príspevky: 31
- Registrovaný: 07 dec 2009, 19:41
Tak ako to je to nemoze byt (vsak si precitaj ten moj predchadzajuci prispevok, som tam priklad uviedol, ze v com je problem). A treba upravit tento riadok:
tymto:
Potom by uz vsetko malo byt dobre 
Ak by bol problem, tak mozem podrobnejsie vysvetlit
Kód: Vybrať všetko
vypis(zvysok(i))tymto:
Kód: Vybrať všetko
vypis(zvysok(i-1))Ak by bol problem, tak mozem podrobnejsie vysvetlit