Elementi in lastnosti programa

Kaj se bomo v tem poglavju naučili?

Spoznali naj bi, nekatere pojme, ki jih srečamo praktično pri vseh programskih jezikih. Ti so: deklaracija, inicializacija, postopek, konstanta, spremenljivka, rezervirana beseda, operator, algoritem in programska  razumljivost in razčlenjenost. Pri tej razlagi se ne bomo spuščali v specifičnosti posameznega programskega jezika.

Nakaj o podatkih

V programu uporabljamo konstantne podatke in podatke, katerih vrednosti beremo, računamo oziroma spreminjamo. Poglejmo, kako lahko v nekem tipičnem programu predstavimo podatke. Imamo naslednje možnosti:


 

Preprosti podatkovni tipi oziroma konstante

V splošnem lahko v danem programskem jeziku pričakujemo predvsem naslednje podatkovne tipe: številčne, tekstovne in (ne nujno) logične.

Številčni podatki so lahko celoštevilčni ali realna števila (števila z decimalno vejico ali, računalniško rečeno, s plavajočo vejico). Pri nekaterih programskih jezikih lahko ločimo še, koliko bitov potrebujemo za pomnenje posameznega podatka oziroma, kako so ti biti uporabljeni. Tako lahko imamo »navadne« celoštevilčne ali realne podatke in podatke z »več biti«, ki nudijo povečano natančnost.

Pri tekstovnih podatkih je najprej pomembno, ali govorimo o posameznih znakih (črke, številke, posebni znaki), ali pa govorimo o nizih znakov (torej delu besedila. 

Logični podatki naj bi imeli samo dve možni vrednosti (pogoj izpolnjen ali ne), kar pogosto označimo z besedicama »true« oziroma »false«.

 

Spremenljivke

Eden najbolj pomembnih pojmov pri programiranju je spremenljivka, to je vsebovalnik (container) za vrednosti, spoznamo pa ga po ustreznem imenu. Različni programski jeziki podajajo pravila, kako tvorimo imena spremenljivk, pa tudi kako deklariramo, kakšen tip podatka lahko vsebujejo. 

Imena spremenljivk se tipično začenjajo s črko, kateri sledijo črke oziroma številke.  Pri nekaterih programskih jezikih je pomembno, ali so črke velike oziroma male. Poleg tega pri marsikaterem programskem jeziku kot znak v imenu lahko uporabljamo tudi nekatere posebne znake, kot je na primer podčrtaj.

Pri večini programskih jezikov moramo  s posebno besedo, ki je pred imenom spremenljivke ali za njim (odvisno od programskega jezika) povedati, kakšen tip podatka pomnimo v spremenljivki. Te – posebne besede se med različnimi programskimi jeziki razlikujejo, so pa si podobne. Tako besedica »int« ali »integer« pove, da bo v spremenljivki pomnjena celoštevilčna vrednost, besedice real, float ali double povedo, da bo spremenljivka pomnila realno število oziroma število s plavajočo vejico. Poleg tega imamo v programskih jezikih še druge izpeljanke iz teh besed.

Pri skriptnih programskih  jezikih običajno ne navajamo tipa spremenljivke, pač pa to interpreter, ki program v takem jeziku tolmači, ugotovi tip spremenljivke iz prve uporabe le-te.

V razliko od konstantnih podatkov, ki jim vrednosti ne moremo spreminjati, je pri marsikaterem programskem jeziku potrebno povedati, kakšne so začetne vrednosti spremenljivk. Temu pravimo »iniciacija« spremenljivk. V nekaterih primerih programskih jezikov (na primer v Javi) imajo sicer spremenljivke avtomatično dogovorjeno začetno vrednost (vrednosti numeričnih spremenljivk so na primer v začetku avtomatično enake nič), vendar je najbolj modro, da se na to ne zanašamo in spremenljivke eksplicitno inicializiramo na želene vrednosti.

Rezervirane besede

 Določene besede imajo v posameznih programskih jezikih poseben imen in jih načeloma ne smemo uporabljati za imena spremenljivk ali funkcij. Pravimo, da so to rezervirane besede. Tipično so to besede, ki omogočajo deklaracijo tipa podatkov (na primer besede int, integer, real, float, double, char ipd) ali jih uporabljamo pri krmiljenju toka programa (na primer besedice if, while, do, for ,..) seveda te besede niso povsem enake pri vseh programskih jezikih, izkušenemu programerju pa je njihov pomen dokaj hitro jasen.

 

Izrazi

Skoraj v vseh programskih jezikih lahko s pomočjo spremenljivk in konstant sestavljamo izraze, ki jih mora računalnik izračunati in tako ugotoviti njihovo vrednost. Tak izraz lahko uporabimo za prireditev (pomnenje) izračunane vrednosti v neki spremenljivki (primernega tipa), lahko pa izračunano vrednost tudi kako drugače uporabimo (na primer za direkten izpis vrednosti, za krmiljenje toka programa ipd.  

Pri tvorbi nekega izraza uporabljamo med posameznimi (konstantnimi ali spremenljivimi) podatki ustrezne aritmetične ali logične operatorje, ki lahko predstavljajo aritmetično operacijo (: +,-,*,-) ali logično operacijo (konjunkcija, disjunkcija ali negacija).

Pri tekstovnih spremenljivkah ali konstantah lahko programer pričakuje možnost povezovanja več besed v daljšo (konkatenacija oziroma veriženje nizov).  Možne so tudi sruge operacije (iskanje besede v danem nizu, iskanje neke črke v danem nizu, primerjava nizov), vendar to tipično delamo z uporabo primernih programskih funkcij. 

Knjižnice funkcij

V večini programskih jezikov je programerju na voljo večja ali manjša množica funkcij za izvajanje komleksnih matematičnih operacij (na primer računanje transcendentnih funkcij, kot so sinus, cosinus ipd), izvajanje vhodno izhodnih operacij, morda izvajanje grafičnih operacij ipd. Programer si običajno zapomni najbolj pogoste funkcije, sicer pa si pomaga s priročnikom. Tudi sicer preprosti programski jeziki (kot je na primer Java) postanejo prav zaradi velikega števila pomožnih funkcij, pomnjenih v knjižnicah,  kompleksna programerska okolja.

 Algoritem programa

Ko govorimo o lastnostih programa, seveda ne moremo mimo njegove najbolj pomembne lastnosti, to je algoritma, ki določa obnašanje programa. Ko govorimo o programiranju, govorimo pravzaprav o sestavljanju programskega algoritma. Pri tem si pomagamo predvsem z izkušnjami. Sam zapis programa v primernem programskem jeziku pa je pravzaprav »kodiranje« in je bolj stvar tehnike in manj programerske spretnosti.

Razumljivost programa

Pri razumljivosti programa gre predvsem za berljivost.

Na razumljivost programa vplivajo:

·         Mnemonična imena

o   Imamo mnemonična imena spremenljivk, konstant, funktorjev in procedur

·         Urejenost

o   urejena in lepo strukturirana koda je lažje berljiva

·         Kratke procedure

o   krajše procedure so razumljivejše

·         Ločitev disjunkcije od konjunkcije

o   možgani razmišljajo linearno, zato je branje "mešanih" programov težko razumljivo

·         Komentarji

o   najprej beremo komentarje

o   namenjeni so razlagi zapletene kode - kjer uporaba ni samoumevna

o   uporabno pri trikih, posebnih prijemih ipd.

o   če je koda sama po sebi razumljiva je komentar odveč