Když si přečtete nadpis této lekce, možná sio zaťukáte na hlavu a řeknete si, proč volím takové příklady. Copak dneska někdo potřebuje počítač na to, aby sečetl dvě čísla? No, odpovím, že normálně nepotřebuje. Ale teď vážně: Mnohá literatura volí někdy zbytečně těžké příklady, takže člověk potom víc přemýšlí nad tím, jak to vlastně funguje než nad tím, jak je zapsaný zdrojový kód. Záměrně proto volím příklady velmi jednoduché, abychom se mohli soustředit skutečně na tu programovací část, než přemýšlet nad tím, jak to algoritmicky dát dohromady. Proto jsou naše lekce v praxi zatím dost nepoužitelné, protože skutečně jak si myslíte: program, který umí jen sčítat je skoro zbytečný. Ale to nic neříká o tom, že součet někde kdesi v programu nikdy nebudeme potřebovat! Ba naopak: Využijeme mnoho aritmetických i jiných operací!
Rozeberme si zatím naši jednoduchou úlohu: K tomu, abychom dvě čísla mohli sečíst, nám stačí vlastně doplnit jen několik řádků v našem programu. Především to musí být nějaká proměnná, do které uložíme výsledek. (Tedy prozatím, protože jak si ukážeme později s využitím funkce proměnnou jako výsledek potřebovat nebudeme.) Proměnné definujeme v bloku před tělem programu, který označíme: Var (Z anglického variable.)
Když máme definovaný typ proměnné, pro jednoduchost si zvolíme celočíselný typ INTEGER, můžeme do programu napsat kód, který sečte například 45+55 a výsledek vypíšeme na obrazovku:

program capp;

{$APPTYPE CONSOLE}

uses
  SysUtils;
Var
  xSoucet: integer;                     //Definovany typ promenne

begin
  write('************ MUJ PRVNI PROGRAM ************');
  writeln;
  xSoucet:= 45+55;                      //Provedeni souctu
  write('Vysledek souctu: 45+55 je: '); //Vystup na obrazovku
  writeln(xSoucet);                     //Dopsani vysledku do vystupu
  readln;
end.

Aby bylo snazší se v kódu programu vyznat, doplnil jsem jej komentáři, které se v Delphi zapisují, pokud jsou jednořádkové, za zdvojené lomítko: //. Pokud byste chtěli okomentovat část v několika řádcích pod sebou, můžete použít složené závorky.
Program funguje, pokud se na obrazovce objeví výstup, který říká, že výsledek součtu čísel 45 a 55 je 100. To už je úspěch, ale ne tak docela. Takový program by se uživateli moc nehodil, když pomineme skutečnost, že program, který nám sečte dvě čísla, můžeme napsat pro dítě, které se učí matematicky na prvním stupni základní školy.
Ptáte se, jak bychom to mohli vylepšit? Představte si, že budete chtít sečíst úplně jiná čísla. Přece nebudete psát jiný program, to bychom takových programů museli napsat nekonečně mnoho a zdaleka bychom nebyli hotovi! Je jasné, že nám chybí možnost zadat čísla, která budeme chtít sečíst. Tak zkusme náš kód doplnit:
Budeme potřebovat další dvě proměnné (je-li výsledek celé číslo, zvolíme obě také jako INTEGER), které stejně jako v případě výsledkové proměnné definujeme do stejného bloku Var. Pak musíme kdesi v programu napsat část kódu, která zajistí, že program načte do těchto proměnných hodnoty, které zadáme z klávesnice. Bude to procedura/y:


Tentokrát ji použijeme s parametrem… (O tom si ještě budeme povídat obecně.)
Výsledek by mohl, vypadat třeba takto:

program capp;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Var
  xSoucet: integer;                      //Definovany typ promenne vysledku
  xA, xB: integer;                       //Vstupni promenne

begin
  write('************ MUJ PRVNI PROGRAM ************');
  writeln;
  write('Zadejte prvni cislo: ');       //Vyzva k zadani cisla
  readln(xA);                           //Nacteni hodnoty cisla
  write('Zadejte druhe cislo: ');
  readln(xB);
  xSoucet:= xA + xB;                    //Provedeni souctu
  write('Vysledek souctu je: ');        //Vystup na obrazovku
  writeln(xSoucet);                     //Dopsani vysledku do vystupu
  write('Stisknete ENTER');
  readln;
end.

A je to. Program umí sečíst dvě námi zadaná celá čísla. Je to sice velmi jednoduchý příklad, ale cílem nebylo naučit se sčítat, ale ukázat si, že program je vlastně oboustranná komunikace mezi počítačem a uživatelem. A to se nám v tomto případě povedlo. Součet nám pouze dokazuje, že program načetl vstupní hodnoty dobře, protože si sami můžeme výsledek zkontrolovat. Nepředpokládáme přitom, že program vyhodnotí 45+55 jinak než 100.

Obrázek není k dispozici!
PDF dokument >>
© 2010-2011 by Ing. Jaroslav Halva | design by Sunlight webdesign