Algoritmus a algoritmizácia sú určitým
medzikrokom medzi zadaním problému a jeho
vyriešením na počítači. Pomocou algoritmu
dokážeme vyriešiť problém my, no takmer vždy ho
potrebujeme preložiť do jazyka počítača (alebo
iného stroja či človeka), ktorý poveríme jeho
riešením.
Na komunikáciu s akýmkoľvek zariadením
schopným vykonávať algoritmy potrebujeme jazyk.
Vzhľadom na to, že počítač je napriek svojim
neobmedzeným schopnostiam predsa len obmedzený,
je aj jazyk, pomocou ktorého mu vydávame
príkazy, relatívne chudobný. Obsahuje niekoľko
desiatok až stoviek jednoduchých príkazov a
inštrukcií, do ktorých transformujeme vytvorený
algoritmus. Tento jazyk sa nazýva
programovací jazyk
a predstavuje vlastne formalizáciu
algoritmického jazyka do takej podoby, aby ju
bolo možné ďalej spracovať
a prostredníctvom prekladača (pozri ďalej)
preložiť do strojového kódu
(jazyka procesora), ktorý dokáže procesor
prostredníctvom svojej inštrukčnej sady
zrealizovať.
Činnosť, ktorú vykonávame pri zápise algoritmu
do programovacieho jazyka, označujeme ako
programovanie a kedysi
predstavovala jednu z najnáročnejších
myšlienkových činností – v súčasnosti ju
uľahčuje množstvo podporných prostriedkov
a techník a tak možno povedať, že
programovanie už nie je umením, ale často len
remeslom.
Postup realizácie riešenia problému na
počítači: problém – algoritmický jazyk
– programovací jazyk – jazyk procesora
(strojový kód , aplikácia)
Program sme doposiaľ chápali len ako súbor
(uložený na disku počítača), ktorý obsahuje
inštrukcie, podľa ktorých dokáže procesor
pracovať – iným slovom aplikáciu, ktorá je
uložená v tvare strojového kódu.
Pokiaľ sa však začneme pozerať na program
z pohľadu programovania, zahŕňa tento
pojem aj postupnosť príkazov (či už
v podobe súboru alebo len napísanú na
papieri či tabuli) nejakého programovacieho
jazyka, ktoré môžu byť do podoby strojového
kódu preložené.

Súboru obsahujúcemu nám zrozumiteľné príkazy
hovoríme zdrojový kód, pretože
je zdrojom, z ktorého sa môže vytvoriť
aplikácia.
Ak chceme
v nejakej aplikácii robiť zmeny (napr. sa
nám nepáči farba pozadia), potrebujeme ich
vykonať v zdrojovom kóde. Teoreticky je
možné urobiť zmeny aj v preloženej
aplikácii, avšak takéto krkolomné kúsky dokáže
len málokto.
Programovanie v širšom slova zmysle
pozostáva z troch základných fáz:
-
algoritmizácia predstavuje
premyslenie algoritmu, prípadne jeho textový
alebo grafický zápis,
- prepis algoritmu do
počítača spočíva v prepísaní algoritmu
do inštrukcií programovacieho jazyka, pričom
treba algoritmus prispôsobiť špecifickosti
toho-ktorého jazyka. Program okrem inštrukcií
obsahuje rôzne nastavenia a prispôsobenia,
popis premenných a ošetrenie chýb, ktoré
môžu nastať,
- ladenie a testovanie
programu je poslednou fázou a zahŕňa
v sebe hľadanie chýb spôsobených
nedokonalosťou programátora, testovanie
a kontrolu správnosti výsledku.
Niektorí „tiežprogramátori“ sa snažia prvú
(niekedy aj poslednú) fázu vynechávať.
Programovať začnú priamo do počítača, často
nielen bez predchádzajúcej prípravy, ale aj bez
premyslenia postupu. Čas, ktorý ušetria
vynechaním algoritmizácie, potom mnohonásobne
prekročia prepracovávaním zdrojového
kódu.
Tento spôsob programovania má význam jedine
u profesionálnych programátorov
analyzujúcich problémy v hlave, ktorí však
tiež náročnejšie časti riešia za pomoci pera
a papierom alebo nástrojov
špecializovaných na túto fázu riešenia
problému.
Spustenie programu je podmienené jeho prekladom
do strojového kódu, ktorý jediný je schopný
procesor vykonávať. Program doň prekladáme
pomocou podporných nástrojov programovacieho
jazyka, ktoré sú v súčasnosti častou
súčasťou komplexného vývojového prostredia.
Toto obvykle pozostáva z:
- textového editora poskytujúceho základné
(ale častejšie i rozšírené) operácie
s textom
- prekladača, ktorý zo zdrojového kódu
vytvára strojový kód
- ladiacich nástrojov umožňujúcich napr.
zastaviť vykonávanie programu na ľubovoľnom
mieste, sledovať hodnoty premenných
Každá aplikácia (aj tá pomocou ktorej píšeme,
prekladáme a spúšťame program) bola raz
programom napísaným v programovacom
jazyku, z ktorého sa preložila do súčasnej
podoby a takisto každý náš program môže
byť po preložení programom - aplikáciou.