Programování v Pascalu
- N_o_c_l_a_f
- Začátečník

- Registrován: 22. lis 2005
Re: Programování v Pascalu
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 )
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
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
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
Re: Programování v Pascalu
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.
Buď zadáš ručně 0.375 nebo si uděláš parser na ty zlomky.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Programování v Pascalu
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
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
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- yuri.cs
- Mírně pokročilý

- Registrován: 03. led 2007
- Bydliště: hl.m. piva
- Kontaktovat uživatele:
Re: Programování v Pascalu
eh?1/5 + 2/3 = 3/8
It will be amazing in case after 10GHz we will see 20GHz, 30GHz and so on, just like we witnessed the thorny way from 10MHz to 33MHz in the eighties. -xbitlabs.com
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
no a to je ten problém, který nevím jak zapsat v tom tvaru do pascalu..
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
yuri.cs píše:eh?1/5 + 2/3 = 3/8
to je tvar toho zlomku
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Programování v Pascalu
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...
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...
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
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
když to sečtu pod sebou takto
1/2
2/3
-----
3/5
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
nevím hoši, jinak díky za všechny rady... už fakt nevím co s tím. Kašlu na to.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Programování v Pascalu
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
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
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
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
, ale prostě učitel nám to tak blbě řekl, nebo sem to spíše blbě pochopil.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Programování v Pascalu
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
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
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- N_o_c_l_a_f
- Začátečník

- Registrován: 22. lis 2005
Re: Programování v Pascalu
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.
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.
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
Re: Programování v Pascalu
Mě by pořád zajímalo jakou chybu to mohlo vyhodit u array of real
- N_o_c_l_a_f
- Začátečník

- Registrován: 22. lis 2005
Re: Programování v Pascalu
Jakou asi, kdyz zadaval string do realu? 
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
Re: Programování v Pascalu
Z toho co napsal jsem pochopil že chyba je přímo na tom řádku definice
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
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í..
- N_o_c_l_a_f
- Začátečník

- Registrován: 22. lis 2005
Re: Programování v Pascalu
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
) - 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.
Jinak ja v prvaku na stredni delal v Pascalu vyrazne lepsi veci ( coz neni tak slozity
-----
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.
- dales.luk
- Začátečník

- Registrován: 10. říj 2010
Re: Programování v Pascalu
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) - 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ě