| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.14 Prihlásený: 07.11.19 Príspevky: 152 Témy: 52 Bydlisko: Dubovce |
Zdravím, Potreboval by som pomôcť ohľadom podmienok IF. Zadanie bolo: Užívateľ zadá poradové číslo mesiaca (1..12) a program vypíše či je ten mesiac letný, jarný, jesenný alebo zimný. Kód: Kód: program mesiace; uses Classes; type mesiac = 1..12; var m: mesiac; begin write('Zadajte aktualny mesiac (1..12): '); readln(m); if (1<=m) and (2<=m) then writeln('Aktualne je zimne obdobie.'); if (3<=m) and (m<=5) then writeln('Aktualne je jarne obdobie.'); if (6<=m) and (m<=8) then writeln('Aktualne je letne obdobie.'); if (9<=m) and (m<=11) then writeln('Aktualne je jesenne obdobie.'); if m=12 then writeln('Aktualne je zimne obdobie.'); readln; end. Problém je v tom že keď zadám napr. 3 tak program vypíše že to je zároveň zimné a jarné obdobie mesiaca.
|
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 22.11.2016 16:53 | |
|
Máš zmätok v tých porovnávaniach. Čo znamená toto: [c]2 <= m[/c], matematicky? A toto: [c]3 <= m[/c]? Raz dávaš konštanty z pravej strany, raz z ľavej, nedivím sa že si si chybu nenašiel hneď, je to neprehľadné. Čísla daj na jednu stranu, premennú na druhú a otáčaj iba znamienko nerovnosti. A napokon, to m = 12 skús zaradiť na začiatok ku 1 a 2, pomôže ti OR
_________________ always is always wrong |
|
Registrovaný: 01.05.14 Prihlásený: 07.11.19 Príspevky: 152 Témy: 52 Bydlisko: Dubovce | Napísal autor témy GamerSK: 22.11.2016 17:06 | |
|
teraz to vypadá takto ale nefunguje to. Kód: program obdobia; uses Classes; type mesiac = 1..12; var m: mesiac; begin write('Zadajte aktualny mesiac (1..12): '); readln(m); if (m=>1) and (m<=2) or (m=12) then writeln('Aktualne je zimne obdobie.'); if (m=>3) and (m<=5) then writeln('Aktualne je jarne obdobie.'); if (m=>6) and (m<=8) then writeln('Aktualne je letne obdobie.'); if (m=>7) and (m<=11) then writeln('Aktualne je jesenne obdobie.'); readln; end. ERROR: Kód: Compile Project, Target: obdobia.exe: Exit code 1, Errors: 2 obdobia.lpr(10,15) Error: Illegal expression obdobia.lpr(10,16) Fatal: Syntax error, ")" expected but "ordinal const" found
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 22.11.2016 17:19 | |
|
trochu ma to rozculuje, ze nechapes tieto zaklade veci... ale tiez som bol niekedy podobne nenauceny....
jednak to nemas rozumne ozatvorkovane, nehovoriac o tom ze m=12 je podla jazyka vzdy pravda, ked sa podari priradit, alebo sprostost. Nechcel si "=="?
druhak nauc sa pouziva >, <, >=, <=, je medzi nimi rozdiel. Netusim ale co je =>, okrem teda metody objektu v php.
if ((m == 12) or ((m>=1) and (m<3)) toto je 12,1,2 ale UZ NIE 3 lebo 3 nie je mensie ako 3
if((m>=3) and (m<6)) 3,4,5 ale zase uz nie 6
... profit
BTW. Nemajú metódy objektov v PHP len šípku ("->")? Toto je v asociatívnych poliach rozdeľovač indexu a hodnoty... Hihihi ~k
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 22.11.2016 17:28 | |
|
@GamerSK Ako už napísal void, nepoznáš operátory nerovnosti? >= a <=, rovná sa musí byť vždy vpravo. Čo sa stane, ak na vstup pošleš 7? Niečo opravíš a ďalšie nepochopiteľne rozbiješ. @void V pascale nie je ==, ale správne = pre porovnanie, sprostý jazyk ja viem, neučil by som sa ho a už vôbec nie ako prvý
_________________ always is always wrong |
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 22.11.2016 17:33 | |
|
Hah, celkom hanba... pascal som sa aj ja ucil ako prvy...
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 05.08.16 Prihlásený: 03.02.17 Príspevky: 6 Témy: 3 Bydlisko: Žilina |
Pozri si ako funguje if a else neviem ci ma pascal aj else if ale to je jedno teraz sa ti kontroluje kazdy jeden IF tak si predstav ze tam posles 7 1. IF nevypise 2. IF nevypise 3. IF vypise 4. IF vypise
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 23.11.2016 9:25 | |
|
Tak ešte raz od základov: Operátory porovnania poznáme nasledujúce Kód: = rovný < menší > väčší <= menší alebo rovný >= väčší alebo rovný
žiadne => neexistuje, pozor na to! Píš to v poradí, v akom to vyslovuješ. Premennú vždy píš vľavo. Je to tak zaužívané a lebo sa to dobre číta a je to prehľadné. To máš ako rozdiel medzi Kód: if (obloha = modra) { ak obloha je modra tak... } a Kód: if (modra = obloha) { ak modra je obloha tak... } to druhé sa proste číta blbo. Else ti netreba, pretože ide o disjunktné množiny (tzn. neexistuje mesiac, ktorý je zároveň taký aj onaký). Ak si dáš pozor na rozsahy, nemajú sa prečo spustiť až dve podmienky. (alebo máš pre marec vypísať, že je na prelome? No to je vlastne jedno, len upravíš rozsahy) Môžeš to napísať tak ako to máš - čiže 1-2, 3-5, 6-8, 9-11 a 12, alebo jednoducho cez OR (tých možností nie je zas tak veľa, tu sa určite nepomýliš), čiže: 12 alebo 1 alebo 2, 3 alebo 4 alebo 5 atď... Ďalšia vec pri tom AND a OR v jednom - pozor na prioritu! toto Kód: (A and B) or C má úplne iný význam ako toto Kód: A and (B or C)
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 27.06.09 Prihlásený: 04.03.23 Príspevky: 332 Témy: 3 Bydlisko: Košice - ok... | Napísal focko: 23.11.2016 21:39 | |
|
@Leo3033 else if je pomerne zaujímavá záležitosť niektoré jazyky ho majú ako syntaktickú konštrukciu (python a ruby) a potom iné to interpretujú jak if vnorené do else (Céčkové), ale vyzerá to, že funguje aj v packale: Kvadratická rovnica s if-else if-else
_________________ GitHub: mfocko | mfocko.xyz OSs: archLinux + fedora (+ Windows 10 Pro Insider Preview, only if needed) Server: archLinux [nginx + Docker (GitLab) + SSH/SFTP + local mirror (FTP/rsync - archLinux, Fedora) + samba + transmission] |
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| podmienky v PHP, ASP | 16 | 827 | 26.02.2008 20:25 emer | | Licencne podmienky v Ostatné | 1 | 587 | 03.06.2011 21:17 emer | | podmienky tlaciarne v Grafické programy | 0 | 717 | 01.04.2008 18:06 Kamahl | | jQuery a podmienky v JavaScript, VBScript, Ajax | 2 | 612 | 09.04.2009 22:33 Flety | | Excel 2 podmienky v Ostatné programy | 2 | 346 | 13.12.2013 19:02 bizmos | | Podmienky pouzivania Youtube. v Služby a webstránky | 7 | 676 | 21.02.2012 12:44 walther | | google maps podmienky v Ostatné | 2 | 1170 | 22.07.2011 16:32 jablko05 | | MYSQL vypis podmienky v Databázy | 6 | 786 | 07.09.2010 20:15 camo | | if empty - podmienky v PHP, ASP | 2 | 450 | 27.01.2010 13:09 davider137 | | PHP a podmienky v PHP, ASP | 5 | 640 | 13.11.2007 10:01 mondzo | | Podmienky používania (programy) v Krčma | 5 | 441 | 29.07.2012 22:52 eMp | | Alza a záručné podmienky v Obchody, reklamácie a právo | 4 | 451 | 10.04.2014 22:26 winyx | | Vnorenie podmienky - neviem kam v PHP, ASP | 4 | 346 | 31.05.2016 7:25 BX | | vloženie podmienky do phpmailer v PHP, ASP | 5 | 416 | 05.08.2014 10:22 chrono | | podmienky pre kupu zdroja v PC skrinky, zdroje a všetky druhy chladenia | 1 | 405 | 08.02.2009 19:28 OmeGa | | Podmienky reklamacie na slovensku v Obchody, reklamácie a právo | 16 | 797 | 10.12.2013 18:13 Daron |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|