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