Osnovni pojmovi

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: III. Gimnazija Osijek - Informatika 2
Knjiga: Osnovni pojmovi
Otisnuo/la: Gost (anonimni korisnik)
Datum: ponedjeljak, 28. listopada 2024., 12:18

1. Programski jezik ‒ što je to?


Računala se danas koriste u svim dijelovima ljudskog života: za razonodu i zabavu, vođenje poslova u manjim ili većim poduzećima, u različitim istraživanjima (civilnim i vojnim), u uređajima za svakodnevnu uporabu (pametni tv uređaji, pametni telefoni, perilice rublja…) i sl. Naravno da tehnička obilježja tih uređaja nisu potpuno jednaka i da su vezana za njihovu namjenu, ali namjenu svakog od tih uređaja određuje program koji se u tom trenutku na njemu koristi.

Na samom početku razvoja, računala nisu bila „programibilna”, odnosno njihovu je namjenu određivalo sklopovlje, a ne program. Kada se namjena računala trebala promijeniti, mijenjani su određeni dijelovi u računalu. Nedostaci takvih računala brzo su uočeni i počeo je razvoj višenamjenskih računala kakva imamo danas.

Program je skup naredbi ili instrukcija poredanih prema strogo određenom redoslijedu nakon čijeg izvršavanja dobivamo određeni rezultat. Glavni je dio programa naredba ili instrukcija. Osobe koje pišu programe su programeri, a proces nastajanje programa – programiranje. Program se piše umjetno stvorenim jezicima koje nazivamo programski jezici.

Kako čovjek rješava probleme? Čovjek koristi:
  • Učenjem,
  • Znanjem,
  • Pamćenjem,
  • Iskustvom,
  • Logičkim rasuđivanjem,
  • Intuicijom,
  • Osjećajima,
  • Itd.
Što od toga ima i može računalo? Računalo na raspolaganju ima samo:
  • Pamćenje,   
  • Logičko rasuđivanje.
Da bi računalo riješilo zadatak, treba ga pretvoriti u oblik koji uključuje samo te dvije sposobnost.

1.1. Programski jezici od početka do danas

Slika 1. Programski jezici nastali u proteklih 70 godina


Najstariji programski jezik i jedini koji računalo razumije bez dodatnog prevođenja naziva se strojni jezik (machine language). Sastoji se od nizova nula i jedinica. Nastao je polovinom prošlog stoljeća i vezan je za građu središnje jedinice za obradu podataka. Upravo zato programi pisani strojnim jezikom nisu bili prenosivi s računala na računalo.  Programiranje pisanjem nula i jedinica je vrlo složeno za programera pa su strojne naredbe ubrzo zamijenjene riječima ili simbolima. Takve jezike nazivamo simboličkim jezicima. Simbolički jezici dijele se na niže i više programske jezike.

Najpoznatiji predstavnik nižih programskih jezika je asembler u kojem je jedna strojna naredba zamijenjena s jednom simboličkom naredbom (MUL – množenje, ADD – zbrajanje…). No i takvo programiranje je prilično složeno za programera jer je i asembler vezan za građu računala. Ne zaboravimo, prije izvršavanja programa pisanog asemblerom moramo ga prevesti u strojni jezik razumljiv računalu.

Viši programski jezici nastali su 60-ih godina dvadesetog stoljeća. Bliži su ljudskom načinu razmišljanja jer su naredbe kratke riječi (najčešće vezane za englesko govorno područje), koje se lako pamte. Većina naredbi viših programskih jezika zamjenjuje cijeli niz strojnih naredbi. Rabeći više programske jezike, programi postaju kraći i razumljiviji. Najpopularniji viši programski jezici su C, C++, C#, Python, Java… Programi pisani višim programskim jezicima mogu se izvršavati na različitim modelima računala i različitim operativnim sustavima. Program napisan u višem programskom jeziku nazivamo izvorni program (source code).

Da bi računalo moglo izvršiti program pisan višim programskim jezikom (izvorni program), moramo ga prevesti u strojni jezik. Za prevođenje programa u strojni jezik postoje posebni programi prevoditelji. Dijelimo ih u dvije skupine:

interpreteri su programi prevoditelji koji prevode naredbu po naredbu izvornog programa i svaku naredbu odmah izvršavaju; ne stvaraju izvršni kod

kompajleri su programi prevoditelji koji prevode cijeli program, stvaraju izvršnu verziju programa, a zatim nju izvršavaju.



1.2. Pitanja, vježbe i zadatci

Na ova pitanja odgovori u svoju bilježnicu!


1.       Što je program?

2.       Kako nazivamo glavni dio svakog programa?

3.       Tko su programeri?

4.       Što su programski jezici i kako se oni dijele?

5.       Što je strojni jezik?

6.       U čemu je razlika između simboličkih jezika niže i više razine?

7.       Što su programi prevoditelji i u koje se skupine dijele?

8.       Koja je razlika između kompajlera i interpretera?


2. Algoritam

Algoritam u svakodnevnom životu vrlo često upotrebljavamo. Kad smo bili mali učili su nas vezati vezice na cipelama i naučili smo jedan algoritam. Onda smo se pripremali za kretanje u školu pa su nas učili kako prijeći cestu na kojoj postoji semafor i onu bez semafora. Opet smo naučili jedan ili više algoritama. Svaki put kad pečemo palačinke zapravo slijedimo algoritam koji će nas dovesti do slasnoga i ukusnog deserta.


   

Recept za palačinke: Da bismo dobili ukusne palačinke moramo pratiti recept po koracima!


Algoritam je razrađen postupak koji nas u konačnom broju koraka vodi prema rješenju problema. Redoslijed koraka u algoritmu je iznimno važan, kao što je važan i pri pečenju palačinki. Algoritam možemo zapisati govornim jezikom, primjerice recept za one naše palačinke od prije.

No, kakve veze s tim ima računalo i programiranje?

Prije smo rekli da je tijekom proceduralnog programiranja najvažnije dobro razraditi postupak za rješavanje problema, a taj postupak nije ništa drugo nego algoritam!

Algoritme kojima ćemo rješavati zadatke računalom možemo zapisati na dva načina:

a) pseudojezikom

b) dijagramom tijeka (grafičkim simbolima).


Zanimljivosti...

Riječ algoritam dolazi od latinskog prijevoda imena arapskog matematičara Abu Abdullah Muhammad ibn Musa al-Khwarizmi-a koji se smatra ocem algebre jer je definirao osnovna pravila rješavanja linearnih i kvadratnih jednadžbi.

Prvi zapis algoritma prilagođen računalu pripada Adi Byron iz 1842 (pa se zbog ovoga smatra prvom programerkom), a računao je Bernoullijeve brojeve. Računalo za koje je napisan je bio analitički stroj, kojeg je zamislio, ali nikad u potpunosti proveo u djelo, Englez Charles Babbage. Analitički stroj je trebalo biti prvo programabilno računalo, sastavljeno u potpunosti od mehaničkih dijelova. Mehanički dijelovi i fizička glomaznost su glavni razlozi zašto nikad nije završen.

Izvor: hr.wikipedia.org/wiki/Algoritam




2.1. Pseudokod

Pseudojezik ili pseudokôd je umjetno stvoren jezik u kojem govornim jezikom (riječima) zamjenjujemo pojedine naredbe ili instrukcije. Osnovne naredbe pseudojezika prikazane su tablici:

Napomena: Način pisanja naredbi u pseudojeziku podložan je promjenama pa pratite novosti na stranici www.ncvvo.hr.

2.2. Dijagram tijeka

Dijagram tijeka prikazuje algoritam s pomoću grafičkih simbola prikazanih u tablici:


2.3. Pitanja, vježbe i zadatci

Na ova pitanja odgovori u svoju bilježnicu!


1.       Što je algoritam?

2.       Kako možemo zapisati algoritam?

3.       Što je pseudojezik?

4.       Nacrtajte simbole koji se koriste u dijagramu tijeka i objasnite njihovo znače.

5.       Pokušajte izvršiti sljedeće jednostavne algoritme. Neka vam netko čita instrukcije:

  1. ustanite
  2. podignite lijevu nogu
  3. spustite lijevu nogu
  4. podignite desnu nogu
  5. spustite desnu nogu
  6. sjednite.

Zamijenimo sada naredbe broj 3 i 4.  Pokušajte izvršiti novi algoritam:

  1. ustanite
  2. podignite lijevu nogu
  3. podignite desnu nogu
  4. spustite lijevu nogu
  5. spustite desnu nogu
  6. sjednite.

Jeste li uspjeli izvršiti drugi algoritam? Što se dogodilo? Uočavate li sada zbog čega je redoslijed naredbi u algoritmu (a poslije i u programu) vrlo važan? Napišite odgovor u svoju bilježnicu!