Algoritmus a programovanie

  • Algoritmus je návod, opis, postup ako niečo vyriešiť
  • Algoritmy zapisujeme v jazyku, ktorému počítač rozumie - takému jazyku hovoríme programovací jazyk
  • Programovanie je prepis algoritmu do programovacieho jazyka – náš programovací je C++. Programovací jazyk má určité pravidlá zápisu (tzv. syntax), ktoré musíme pri písaní programov dodržiavať
  • Programy väčšinou zapisujeme, opravujeme a testujeme pomocou špecializovaných programov - vo vývojových prostrediach.

Prečo je dobré vedieť programovať

  • vo svojej profesii budete navrhovať, popisovať a vysvetľovať návody, plánovať určité kroky, ktoré veľmi pripomínajú algoritmy
  • budete pracovať s existujúcimi programami, ktoré treba často prispôsobiť špeciálnym požiadavkám
  • budete vedieť vytvárať programy, ktoré doteraz nikto nevytvoril.

Prečo programovať v prostredí C++Builder

  • môžeme rýchlo naprogramovať plnohodnotné aplikácie pre MS Windows 95, 98, 2000, XP
  • vieme využívať všetky dobré vlastnosti MS Windows (grafika, sieť, beh viacerých úloh súčasne, schránka)
  • ľahko vytvoríme vzhľad aplikácie, dokážeme elegantne písať a opravovať naše programy.

Prostredie C++Builder

Prostredie sa skladá z niekoľkých okien – často budeme mať zobrazené tieto 4 okná. Ich význam postupne vysvetlíme.

Hlavné okno

Menu obsahuje niektoré užitočné povely:

File|New Application – vytvorí nový program (aplikáciu) File|Save All – uloží všetko čo sme vytvorili na disk File|Open Project – otvorí program, ktorý sa nachádza na disku

Svoje programy ukladajte do samostatných adresárov (inak sa pravdepodobne prepíšete súbory patriace inému programu a budete mať problémy).

Aj nový !prázdny" program, ktorý sme práve vytvorili, vieme spustiť (z menu: Run|Run). Program sa najskôr skompiluje – preloží sa z jazyka C++ do strojového kódu (čísla, ktorým počítač dobre rozumie a dokáže rýchlo vykonávať), a potom sa spustí. Uvidíme okno, ktoré sa dá presúvať, minimalizovať alebo zatvoriť.

Ako v C++Builderi programujeme

Väčšinou vykonávame nasledovné kroky:

  • navrhneme vzhľad programu
  • ak chceme, aby program niečo rozumné vykonával, musíme programovať
  • potom program skompilujeme a spustíme
  • otestujeme, či program dobre pracuje a ak nie, ukončíme ho a budeme odstraňovať chyby.

Pritom sa k niektorým krokom podľa potreby vraciame a viackrát opakujeme.

Paleta s komponentmi

Paleta s komponentmi obsahuje komponenty – tlačidlá, posuvné lišty, menu (poznáme ich aj z iných programov) a ďalšie. Komponenty ukladáme na formulár – okno budúceho programu. Napríklad:

Potrebujeme komponent Image (obrázok) zo záložky Additional

Ďalej použijeme komponent Button (tlačidlo) zo záložky Standard.

Ak spustíme takýto, uvidíme okno s jedným tlačidlom. Môžeme naň klikať myšou, ale zatiaľ nič sa nestane.

Vlastnosti komponentov

Pomocou okne Object Inspector (Inšpektor) nastavujeme komponenty, ktoré sme položili do formulára. Okno má dve dôležité záložky:

  • Properties (vlastnosti) - napríklad, vlastnosti Top, Left, Width, Height určujú polohu a rozmery komponentu
  • Events (udalosti) - napríklad, tlačidlo vie reagovať na udalosť OnClick (kliknutie myšou)

Každá vlastnosť má svoje meno (ľavý stĺpik) a hodnotu (pravý stĺpik)

Krátky úvod do programovania

Predchádzajúci program oživíme tak, aby sa po kliknutí na tlačidlo niečo vykonalo. Teraz sa potrebujeme dozvedieť niečo o programovaní v C++:

  • program v C++ sa skladá z niekoľkých (aj veľmi veľa) funkcií
  • každá funkcia obsahuje príkazy, ktoré sa postupne vykonávajú:
o pomocou niekoľký základných príkazov, riadime beh programu o množstvo ďalších príkazov, ktoré niečo vykonávajú

Dvojklikneme na tlačidlo Button1. V Okne s programom sa objaví nasledovný text:

Pozor, tento text sami nepíšte ani z neho sami nič nemažte, inak vám program nebude fungovať .

Tým sme nastavili udalosť tlačidla OnClick - pri kliknutí na tlačidlo sa vykoná funkcia. Funkcia sa skladá:

  • z hlavičky void __fastcall TForm1::Button1Click(TObject *Sender)
o hlavičke ešte nemusíme úplne rozumieť o ale dokážeme rozpoznať názov funkcie Button1Click

  • a tela funkcie funkcie, ktoré obsahuje príkazy uzavreté v zložených zátvorkách { }
o telo funkcie Button1Click je zatiaľ prázdne o môže však obsahovať príkazy rozpísané aj na niekoľkých riadkoch

Ukážka tela funkcie, ktorá už obsahuje príkazy a niečo vykonáva: void __fastcall TForm1::Button1Click(TObject *Sender) { TCanvas *g=Image1->Canvas; g->TextOut(0, 0, "Ahoj"); }

Program skompilujeme a spustíme. Ak nám C++Builder vyhlási chyby:

  • musíme program skontrolovať, či sme sa nepomýlili (nezabúdajte na medzery, veľké a malé písmená, bodkočiarky, úvodzovky)
  • pokúsime program opäť skompilovať a spustiť

Keď už program beží a myšou klikneme na tlačidlo, vykonajú sa príkazy funkcie Button1Click:

TCanvas *g=Image1->Canvas; ... príkaz "inicializuje" grafickú plochu, do ktorej sa dá kresliť g->TextOut(0, 0, "Ahoj!"); ... do v ľavého horného rohu grafickej plochy vypíše text Ahoj!

Príkazy sa vykonávajú v poradí, v akom sú napísané. Väčšinou je poradie príkazov dôležité (to je teraz aj náš prípad), inokedy môžeme poradie príkazov zamieňať.