Uvod

Al prav se piše kaša ali kasha,
se šola novočŕkarjov srdita
z ljudmi prepira starega kopita;
kdo njih pa pravo trdi, to se praša.
(France Prešeren, Zabavljivi sonetje)

Algoritem in program. Pojma, ki sta neločljivo povezana, a v resnici tako različna. Povezana sta tako kot besedilo in njegov pomen. Za pisanje besedila potrebujemo črke in pravila pisanja, ki jih določa jezik, v katerem pišemo. Po drugi strani pa se ne moremo naučiti jezika ne da bi v njem kaj smiselnega izrazili. Ravno tako se ne moremo naučiti programirati, ne da bi s svojim programom ne zakodirali smiselnega postopka oziroma algoritma.

Misel seveda lahko zapišemo v različnih jezikih ali na različne načine. Pesnikova puščica se je usmerila v preprost pojem kot je kaša (ali pač kasha). Podobno tudi postopke lahko zapišemo v različnih programskih jezikih. In ponovno, podobno kot imamo v različnih naravnih jezikih glagole, samostalnike in pridevnike, imajo tudi različni programski jeziki podobne osnovne sestavne dele. Sicer so le-ti različni glede na družino jezikov, a, če se omejimo na takoimenovane ukazne jezike, so na primer na eni strani ukazni gradniki prireditev, pogojni stavek in zanke (pogojna, naštevalna) ter gradniki, v katerih hranimo informacijo, spremenljivke, tabele in nizi. Z vsakim od gradnikov se bomo spoznali v tem poglavju o programiranju.

Poleg ukaznih in podatkovnih gradnikov nudijo programski jeziki še podporo za tri osnovne prijeme programiranja: razdelitev (modularizacija), posplošitev (abstrakcija) in zakrivanje (enkapsulacija). Prvi v seznamu priporoča razdelitev velikega problema na manjše probleme, ki se rešujejo povsem neodvisno vsak v svojem sklopu. Drugi prinaša možnost, da zapišemo postopek posplošeno ne glede na konkretne podatke in tretji omogoča, da postopek preprosto uporabimo, ne da bi vedeli, kako se postopek izvede. Podpora za prijeme je raznolika, a mi bomo spoznali v tem učbeniku samo gradnik, ki se imenuje funkcija.

Vsi omenjeni gradniki so v osnovi neodvisni od programskega jezika. V tem učbeniku si jih bomo pogledali skozi oči slikovnega (vizualnega) programiranja in jezika Blockly. Jezik je zelo primeren za začetnike, saj jim skrije sintaktična pravila, kar pomeni, da pridejo prej do delujočih programov. Na ta način bo kasneje tudi lažje pričeti z besedilnim (tekstualnim) programiranjem.

Vaši avtorji

Slovenija, 26. aprila 2018

Avtorji

Gregor Anželj
dr. Janez Brank
dr. Andrej Brodnik
dr. Luka Fürst
mag. Matija Lokar

Strokovna recenzenta

dr. Matej Črepinšek
Romana Zver

Konzulent

Radovan Krajnc