Čo je to program

O čom tu celý čas rozprávame? Čo je to program? Čo je to algoritmus? Čo je to programovací jazyk? Ak si myslíš, že tieto základy už vieš, môžeš túto sekciu preskočiť, inak si ju radšej prečítaj.

Algoritmus je postupnosť niekoľkých dobre definovaných inštrukcií -- úkonov, ktorá slúži na vykonanie nejakej úlohy. Napríklad algoritmus na uvarenie čaju môže byť nasledovný:

Zoberieme pohár, vrecúško čaju a rýchlovarnú kanvicu. Naplníme kanvicu
vodou, zapojíme do zásuvky a zapneme. Kým voda nevrie, čakáme. Do pohára
vložíme vrecúško čaju a zalejeme vriacou vodou. Kanvicu vypneme a vypojíme zo
zásuvky. Počkáme 8 minút a potom vyberieme vrecúško.

Super, vieme uvariť čaj (teda ak máme kanvicu atď..), ale v tejto chvíli nás zaujímajú počítače. A počítač nevie naplniť kanvicu vodou, ani nevie, čo je kanvica alebo čo je voda. Predošlý algoritmus je ozajstným algoritmom len vtedy, ak vieme, čo znamenajú jednotlivé úkony (napríklad čo znamená zobrať pohár).

Keď budeme vytvárať algoritmy pre počítače, tak budeme používať celkom iné inštrukcie ­— také, ktorým počítač rozumie a vie ich aj vykonávať.

Medzi inštrukcie, ktoré počítač vie vykonávať patria napríklad jednoduché aritmetické operácie (sčítanie, delenie\dots), čítanie z pamäte, ukladanie do pamäte, ale aj mnoho ďalších.

Avšak aby im dobre rozumel, musia byť zapísané ako hromada núl a jednotiek. A tým zase veľmi nerozumieme my ľudia. Preto existujú Programovacie jazyky. Tie sú (väčšinou) dobre čitateľné ľuďmi a navyše si ich vie počítač prepísať do svojich jednotiek a núl.

My sa budeme zaoberať programovacím jazykom C++, ktorý patrí medzi vyššie programovacie jazyky ­— to znamená, že sa lepšie číta ľuďmi a zvláda toho oveľa viac ako nižšie.

Program je skupina inštrukcií v nejakom programovacom jazyku. A tieto programy obvykle niečo robia, inak by nám boli nanič.

V našom prípade budeme pracovať s programami, ktoré načítajú nejaký vstup a vypíšu nejaký výstup. Napríklad sčítací program môže načítať dve čísla a vypísať ich súčet.

Napríklad toto:

int main() {
}

je program v jazyku C++, ktorý nerobí vôbec nič. Ale dá sa skompilovať.