Diskuze: Pascal - moje dotazy...
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, trošku offtopic – pokud se teprve učíš programovat, zkus kouknout na nějaký modernější jazyk – například C#. Máme tu na to výborně popsané tutoriály včetně cvičení. https://www.itnetwork.cz/csharp/zaklady
Program ti vypíše aj ten "Konec" avšak hneď skončí a ty si to nevšimneš, je to kvôli tomu že tam máš
read(Dotaz)
čiže sa ti načíta len to písmeno 'n' a popri tom ako ho zadávaš stlačíš enter a ten ti zožerie ten readln na konci, preto nečaká až kým stlačíš enter. Stačí namiesto read(Dotaz) dať
readln(Dotaz)
Ahoj, nie som žiaden expert na Pascal, mám ho len na strednej, ale jediná vec, ktorá sa mi tam nepozdáva je možno načítavanie vstupu príkazom Read. Ak načítavaš len jeden znak do premennej typu char, najlepšie by asi bolo použiť ReadKey alebo ReadLn. Nie som si ale 100% istý či to je ono, kód inak vyzerá z môjho pohľadu v poriadku.
Nechcem ťa nijako uraziť, ale len pre istotu sa spýtam, či mám brať tvoj príspevok doslovne a do vstupu zadávaš "NE". Pokiaľ áno, tak ti to jednoznačne padá na tom, tvoj program očakáva presne jeden znak, ak mu podsunieš dva a viac tak zrejme spadne.
Edit: Alebo ako už bolo napísané hore (a dokumentácia to potvrdzuje), príkaz Read "neabsorbuje" Enter na konci, ale ponechá ho na vstupe. Nahradenie ReadKey alebo ReadLn by ti mohlo pomôcť.
Díky moc, bylo to fakt tím readLn(Dotaz); teď to maká podle
mýho původního plánu.
Ale je mi divný, že se příkaz read() nezastavil na předchozím
řádku writeLn; Zatím v tom mám zmatky.
Daniel Vítek:
Proč to je mimo téma? Jedu podle "R. Hylmar: Programování pro úplné
začátečníky" a vše probíhá jenom v Práskalovi. Až s ní budu hotovej,
chci se vrhnout podle možností do LUA. Podle mě to je nejlehčí jazyk na
výuku, začínat v C apod. by byla asi sebevražda.
Určite ti k tomu má čo povedať najmä aj oslovený p. Vítek, ale nedá sa nevyjadriť aj mne
Po prvé, písaná kniha z roku 2012 sa dá v tejto oblasti považovať za
značne zastaralý zdroj.
Po druhé, prepáč, ale Pascal je už dlho zastaralý jazyk, s ktorým sa dnes
už snáď nikde okrem niektorých stredných škôl nestretneš. Mimo toho, že
pôvodne bol typickým zástupcom prístupu k programovaniu, ktorý je už
desaťročia prekonaný.
No a po tretie ti môžem potvrdiť, že na stránkach ako je táto (a najmä na
tejto) nájdeš veľmi kvalitné materiály k neprebernému množstvu moderných
jazykov, ktoré sú často dokonca jednoduchšie a menej mätúce než Pascal.
Plne súhlasím s tým, že vybrať si C/C++ ako svoj prvý jazyk je harakiri,
ale modernejší C# s kľudnou dušou začiatočníkom sám vedľa Pythonu 3
odporúčam. Pascal je už dlho v štádiu, že nad ním ani ja, ani nikto iný
už vôbec neuvažuje.
Tak že jsou dneska daleko lepší programy je jasný. Ale někdo zasvěcenej taky psal, že Práskal je na výuku ideální, jinak je k ničemu. Takže já ho chápu jenom jako vstupní bránu k dalším krokům v programování. Knížku už mám rozečtenou do půlky a chci ji dojet. Jak říkám, autor všechno popisuje a vysvětluje na Práskalovi, takže nějakej čas se v něm budu muset ještě pohybovat. Potom od něho zdrhnu na něco lepšího.
Tak ako writeln('text') vypíše slovo "text" zakončené novým riadkom tak writeln bez parametra len vypíše nový riadok, takže s tým funkcia read nemá nič spoločné
Ozaj, viem, že ideš postupne podľa knihy, možno to tam niekde ďalej dokonca je, ale snáď ťa zaujme ešte taký malý trik na úsporu kódu: ak si všimneš, pre každý číselný kód v case vlastne vykonávaš tie isté príkazy, len sa ti mení názov nápoja. Čo tak v case len nastaviť obsah nejakej premennej typu string na zvolený nápoj a všetky príkazy vykonať mimo case? Myslím, žs by sa ti zdroják dosť skrátil a sprehľadnil
Matúš Olejník:
Jo vidíš to, to mi vůbec nedošlo...
UzivatelXYZ:
Jojo, určitě zkusím.
Zobrazeno 10 zpráv z 10.