Ú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ň