Računalnik je naprava, ki nam omogoča reševanje najrazličnejših problemov: od najpreprostejšega računanja do krmiljenja vesoljske rakete. Z računalnikom danes pravzaprav počnemo mnogo več, kot samo rešujemo probleme: urejamo besedila, iščemo najrazličnejše informacije, komuniciramo, se izobražujemo, si dopisujemo, se zabavamo, telefoniramo (da, tudi napravice, ki jih nosite v žepu, so dejansko računalniki!), ... Težko je najti področje, kamor računalniki še niso posegli.
Kako lahko računalnik pripravimo do tega, da zmore početi vse naštete reči (in še mnogo več)? Tako, da zanj napišemo ustrezne programe. Program ni nič drugega kot zaporedje navodil za reševanje določenega problema. Računalnik izvršuje programe, ki mu jih napišemo. Z besedo programiranje pa označujemo dejavnost pisanja programov. Zaradi razširjenosti računalnikov in računalniških naprav je programiranje danes ena od ključnih veščin.
Računalniki so zanesljivi: vsak program bodo vedno izvedli na enak način. V nasprotju z nami se zlepa ne utrudijo. Vendar pa so tudi razmeroma »neumni«, saj zahtevajo izjemno natančna navodila.
»Kupi čokolado!« Ljudem se zdi takšno navodilo sila enostavno. Vendar – ali je res tako? Kako bi ga razložil »vesoljcu«, ki ne ve, kaj pomeni kupiti in kako je videti čokolada? Kako bi mu pojasnil, da mora poiskati trgovino, da potrebuje denar? Računalnik je točno tak vesoljec!
Seveda moramo računalniku navodila podati v pravilnem zaporedju, sicer se kaj hitro »zmede«.
Razvrsti naslednja navodila v smiselno zaporedje:
Ljudje se med seboj sporazumevamo v različnih jezikih. Tudi za podajanje navodil računalniku – torej programiranje – uporabljamo posebne jezike. Imenujemo jih programski jeziki. Tako kot naravnih (človeških) jezikov je tudi programskih cela vrsta. V tem učbeniku bomo programirali v slikovnem programskem jeziku, ki je primeren za popolne začetnike. Vendar pa večina besedilnih programskih jezikov (npr. java, C++, C#, python, pascal ipd.) temelji na podobnih idejah. Zato se ti v prihodnje po potrebi ne bo težko naučiti še katerega drugega programskega jezika.
Katere naravne jezike poznaš? So med njimi kakšne podobnosti?