Úvod do programovania v C++
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ť.