ÚPLNÝ ZÁKLADY Jak jste si už jistě všimli, počítače ještě nedospěly do takového stádia jako ve většině SCI-FI filmů (např. Star track), kde počítači řeknete "Počítači spočítej mi Filbuotovu rovnici pro dvě neutronový torpéda." I na našem počítači můžete mnoho věcí dělat jednoduše pomocí uživatelského softwaru. Ale ten musí nějak vznikat a navíc vždy dělá něco jinýho než chcete. A proto se dost lidí rozhodne programovat. Většinou stejně zůstanou na uživatelské úrovni, protože "pro programování nemaj buňky". Ale stále větší procento lidí u programování zůstane. A abych si rozšířil konkurenci, chci vám do tajů programování pomoci vniknout. Takže hned na úvod vám chci sebrat iluze. Naučit se programovat neni vůbec jednoduchý. Musíte se naučit jinak myslet, ale hlavně nesmíte podlehnout iluzi, že chyba je v počítači (já vim, to vy si nikdy myslet nebudete, ale mě se to stává pořád takže bacha). Tady máte základní pravidla: 1) V každém programu je chyba. 2) V každém programu je příkaz navíc. Takže každý program se dá zkrátit jen na jeden příkaz, ve kterém je stejně chyba. Ne ale teď už vážně. Programuje se pomocí ALGORITMŮ. Nevíte-li co to algoritmus je, koukněte se do encyklopedického slovníku. Tam zjistíte, že algoritmus je posloupnost konečného počtu elementárních kroků vedoucí k vyřešení daného typu úloh. Převede-li to do polopatické češtiny tak je to hromada jednoduchejch úkonů, který se všelijak kombinujou, až to nakonec něco udělá (nebo taky ne). Oblíbený příkladem autorů takovýchto článků jsou kuchařské recepty.(Např. za stálého míchání vyléváme do záchoda) Takže algoritmus na sečtení dvou čísel je takovej, že vezmu dvě čísla a sečtu je. Pro tři čísla to můžu udělat tak, že sečtu první dvě čísla a výsledek přičtu ke třetímu (využili jsme tak elementární operaci sčítání dvou čísel). Jestli ani teď nevíte, co je algoritmus, tak jsem asi neschopnej to vysvětlit, jenže vy stejně nepřiznáte, že tomu nerozumíte, takže já budu pokračovat dál. Na programování je nádherný to, že ty algoritmy kombinujete, využíváte jeden ve druhym, algoritmus sloužící k něčemu, použijete na něco úplně jinýho atp. To byla teorie a teď k praxi. Ve většině jazyků musí algoritmus nějak začínat a končit. V Paskalu dělíme program na hlavní program a podprogramy (to jsou jeho součásti). Hlavní program je ohraničen klíčovými slovy BEGIN, END., podprogram pak BEGIN, END;(Paskal není case senzitivní tzn. že mu je jedno píšete-li malými nebo velkými písmenama) Takže program Begin Begin End; End. má jeden podprogram. Zkuste ho spustit (v Paskalu stisknete CTRL-F9) a uvidíte co se stane. Nestalo se nic, protože jak jste si jistě všimli tento program jen začal a hned skončil. Takže když to shrnu tak každej program v Pascalu musí začínat BEGINem a konči END.em. A teď se vás pokusim naučit něco těžšího. Je to používání proměnných. Proměnná je taková věc, do které si můžete uložit nějakou informaci, kterou by jste si museli pamatovat vy. Do proměnné se hodnoty přiřazují jednoduše. Napíšete prostě jméno proměnné na levou stranu, za ní napíšete := a za to její budoucí hodnotu. Např. A:=13;. Ještě jsem vám zapomněl říci, že v Pascalu musí většina řádek končit středníkem. To je moje obvyklá chyba, že zapomenu napsat středník a Pascal pak píše zajímavý chybový hlášky. Ale zpátky k proměnným. Kdyby to bylo tak jednoduchý tak jak jsem to popsal, tak by to bylo moc jednoduchý (to je ale nádherná věta). Proto jsou proměnné rozděleny do typů. Typ určuje, co do proměnné uloženo být může a co ne. Typ BYTE číslo 0..255 SHORTINT -128..127 WORD 0..65535 INTEGER -32768..32767 LONGINT -2147483648..2147483647 Asi se ptáte proč se nepoužívá jen LONGINT, když jsou ty ostatní v něm obsažený. Odpověď je jednoduchá. Čím větší číslo tím více zabírá paměti a tím hůř (pomaleji) se s ním počítá. Potom máme taky neceločíselný typy, jako třeba REAL. Teď si zkuste jednu věc. Napište v Pascalu REAL vjeďte na něj kurzorem a objeví se vám nápověda (někomu help). Tam se toho o reálných typech dovíte víc. Jak si už bystřejší z vás všimli, help je celkem zajímavá věc. Najdete tam vše, co potřebujete vědět, takže až se octnete v úzkých, stiskněte F1 a uvidíte, co se dá dělat (já jsem se z helpu naučil programovat a taky to tak asi vypadá). Ale už podruhé zpátky k proměnným. Ještě existují typy nečíselné, které slouží k ukládání něčeho jiného, než čísla. Jsou to CHAR a STRING. Do charu se vejde 1 písmeno, do stringu 255. A teď už ukázka použití. var a,b:integer;{a,b jsou integer} ch:char; {ch je char (znak)} s,ahoj:string; {s je string(řetězec)} begin a:=5; {do a se uloží číslo 5} s:='ahoj'; {do s se uloží slovo ahoj(musí být uzavřeno do apostrofů)} b:=a; {do b se uloží hodnota proměnné a = 5} a:=b*š; {do a se uloží b * 3 = 5 * 3 = 15} s:=s+' tele';{s bude mít hodnotu 'ahoj tele'} ch:='e'; {do ch se uloží 'e'} ahoj:='fon';{do ahoj se uloží hodnota 'fon'} s:=s + ahoj + ch;{v s bude hodnota 'ahoj telefone'} {a teď špatně 5:=a; ukládala by se hodnota A do pětky a to je blbost a:=s + ch; a je číselný typ takže do něj nemůžeme ukládat slova } end. Chcete-li vidět, co tyto příkazy dělají, nejdříve si tuto ukázku exportujte tímto tlačítkem, nahrajte do Pascalu, otevřete WATCH okno (v menu pod jménem Watch), přepněte se do toho okna, stiskněte INS a napište název proměnné, kterou chcete sledovat. Pak se přepněte zpátky do okna, ve kterém je ten program a mačkáním F8 můžete program krokovat a sledovat co se děje. Příště si povíme o praktičtějších věcech jako jsou procedury a funkce. (poznámka: neuvedl jsem všechno, zvídavější se pobrouzdají po helpu (doporučuji EXAMPLY=příklady, když si je zkopírujete (menu Edit!Copy Example potom vlezte do editovacího okna a zmáčkněte SHIFT-INS) tak můžete vyzkoušet co dělají)) HIPP výheň