Stránka 2 z 2

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:33
od N_o_c_l_a_f
Ty ale zadavas jako vstup ty zlomky, ne? To jaksi nemuzes. Musis zadat jako vstup cislo /nebo/ udelej si jednoduchej parser /nebo/ nech uzivatele samostatne vlozit citatele a jmenovatele ( a to pak muzes mit jako integer )

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:34
od dales.luk
možná mě nechápete co to má dělat ---> má to dělat toto: zadám hodnotu vektoru jedna napíšu 1, pak mě to vyhodí, abych zadal první císlo prvního vektoru , kde mám zadat číslo př číslo ve tvaru zlomku 1/5 , pak mě to vyhodí at zadám hodnotu vektoru dve, dám 1 a pak mě to napíše at zadám první hodnotu druheho vektoru, zadám zlomek 2/3 a pak to sečte dohromady 1/5 + 2/3 = 3/8

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:37
od bubanek
My to chápem. Ale ty nechápeš že pascal nechápe co je to 3/8.
Buď zadáš ručně 0.375 nebo si uděláš parser na ty zlomky.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:38
od arxeiss
No aha...
Zaprvé musíš udělat to co psal Bubu, musíš použít real a ne integer, a zadruhé musíš udělat co psal Noclaf. Musíš načíst to jako text, pokud chceš teda ten tvar s lomítkem, pak ten text rozpársovat na 2 části podle lomítka, převést na čísla obě dvě části, pak vydělit a to uložit do toho real pole


//bubanek: teď jsi ho zabil :D

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:41
od yuri.cs
1/5 + 2/3 = 3/8
eh?

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:42
od dales.luk
no a to je ten problém, který nevím jak zapsat v tom tvaru do pascalu..

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:42
od dales.luk
yuri.cs píše:
1/5 + 2/3 = 3/8
eh?

to je tvar toho zlomku

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:48
od arxeiss
Už jsem ti to psal jak to zapsat.
A yuri.cs poukazoval na to, že 1/5 + 2/3 není 3/8, ale 13/15
A pokud potřebuješ i výsledek ve tvaru zlomku, tak bych na to šel jěště jinak asi, protože nevím, jak když ti počítač vyhodí, že výsledek toho je 0,8666... tak jak to převedeš na těch 13/15...

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:50
od dales.luk
když jsem to změnil na type VEKTOR = array [1..100] of string; tak to ten tvar 5/6 sebere, ale nesečte..

když to sečtu pod sebou takto

1/2
2/3
-----
3/5

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:54
od dales.luk
nevím hoši, jinak díky za všechny rady... už fakt nevím co s tím. Kašlu na to.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:54
od arxeiss
Tak zaprvé, program nepozná, že 5/6 je možnost jak zapsat zlomek, on to vidí jako text a ten musíš převést na číslo.
Musíš si rozpársovat text na 2 části podle lomítka, a pak získáš 2 čísla, ale furt to bude string, je potřeba text převést na čísla, a ty spolu vydělit.
A nauč se sčítat zlomky :wink:

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 17:57
od dales.luk
já vím jak se to sečítá.. musím najít společný základ 2 a 3 je společná 6tka :)) ..... pak se to vydělí atd... vím :D, ale prostě učitel nám to tak blbě řekl, nebo sem to spíše blbě pochopil.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 18:11
od arxeiss
načteš jako string do pomocné proměnné (ten zlomek ve tvaru x/y)
pomocí funkce split (nebo jiného ekvivalentu pro Pascal) rozdělíš text pomocí /
získáš pole 2 prvků, v prvním bude to před lomítkem, v druhém to za lomítkem
převedeš oba prvky na číslo
pak spolu vydělíš první prvek / druhý prvek
a máš real, pak můžeš sčítat.

Pokud bych to dělal já, tak bych si nechal obě čísla, nedělil bych je, pomocí algoritmu pro nejmenší společný násobek (Wiki) bych si zjistil jemnovatele, dopočítal čitatele a sečetl, a máš tvar zlomku i na výstupu.

Teď nemůžu najít, jak se převádní desetinné číslo na zlomek, takže to bych nedělal :D

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 18:14
od N_o_c_l_a_f
Podle tvych prispevku bych chybu na strane pedagoga nevidel...

Protoze parser je evidentne nad tvoje sily, predelej program aby :
- uzivatel zadal dve cisla a, b - obe integer, jedno popises jako x-ovou slozku vektoru a druhou jako y-ovou = mame prvni vektor
- uzivatel zadal dve cisla c, d - obe integer, jedno popises jako x-ovou slozku vektoru a druhou jako y-ovou = mame druhy vektor

Finalni vektor dostanes jako (a*d)+(c*b) / (b*d)

Takovej program bude hroznej vozembouch, ale evidentne na hrane tvych programatorskych schopnosti.

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 18:25
od bubanek
Mě by pořád zajímalo jakou chybu to mohlo vyhodit u array of real

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 18:47
od N_o_c_l_a_f
Jakou asi, kdyz zadaval string do realu? :)

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 18:49
od bubanek
Z toho co napsal jsem pochopil že chyba je přímo na tom řádku definice

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 20:00
od dales.luk
hoši tak si to zkuste ten program :) však jsem vám ho sem hodil.. Jinak se nedivte, že jsem ještě takový amatér a nemám takové schopnosti programovat, studuji teprve 1. ročník oboru IT na střední škole, něco málo už umím, ale toto mě fakt dostalo :) Jinak já se spíše zaměřuji na opravy PCček, než na samotné programování..

Re: Programování v Pascalu

Napsal: pon 14. kvě 2012, 20:08
od N_o_c_l_a_f
My ti mame poradit, ne to naprogramovat. A pomocnejch rad si tu dostal vic nez dost. Jestli chces abychom ti delali domaci ukoly, tak nam za to taky zaplat.

Jinak ja v prvaku na stredni delal v Pascalu vyrazne lepsi veci ( coz neni tak slozity :D ) - a to jsem byl gymplak, takze jsem to mel jenom jako konicka.

-----
EDIT - minimalne program dle myho prispevku "po 14. květen 2012, 18:14" musis udelat, jinak se potrebujes vratit na pomocnou skolu a zopakovat si ji jeste jednou. ;)

Re: Programování v Pascalu

Napsal: úte 15. kvě 2012, 14:58
od dales.luk
N_o_c_l_a_f píše:My ti mame poradit, ne to naprogramovat. A pomocnejch rad si tu dostal vic nez dost. Jestli chces abychom ti delali domaci ukoly, tak nam za to taky zaplat.

Jinak ja v prvaku na stredni delal v Pascalu vyrazne lepsi veci ( coz neni tak slozity :D ) - a to jsem byl gymplak, takze jsem to mel jenom jako konicka.

-----
EDIT - minimalne program dle myho prispevku "po 14. květen 2012, 18:14" musis udelat, jinak se potrebujes vratit na pomocnou skolu a zopakovat si ji jeste jednou. ;)

Na jakou pomocnou školu prosím tě :D jako na základku?? :D .. Já na žádné pomocné škole na programování nebyl. Minulý rok jsem vyšel základku a teď jsem na SOŠ obor IT, takže programování je pro mě úplná novinka... Pro tebe to asi složitý není, protože si byl ten ,,GYMPLÁK''... Já se zaměřuji na servis PC a programování mě moc nechytá.. Takže kdybych měl na výběr - programování nebo servis, tak jednoznačně servis .. Ale tady je ten problém, že my budeme mít praxi až ve třeťáku. Jinak to že si dělal výrazně lepší věci v PASCALU za to já nemůžu.. Zadání dělá učitel a to já nějak neovlivním.