Program, programiranje, programski jezici
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | e-Ekonomac |
Knjiga: | Program, programiranje, programski jezici |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | nedjelja, 24. studenoga 2024., 16:32 |
Opis
1. Ponovimo već naučeno!
Prethodni sat naučili smo što je pojam algoritam u svakodnevnom životu. Proučite sliku ispod i ponovite naučeno!
Svaki pojedini korak u izvršavanju algoritma se zove algoritamski korak. Zamjena algoritamskih koraka dovodi do pogrešaka u realizaciji algoritma (npr. u algoritmu izrade torte, ako ne slijedimo precizno upute nećemo dobiti željenu tortu).
Uvjeti koje mora zadovoljiti dobar algoritam su:
- točnost - daje točan ishod za sve moguće ulaze i problemske situacije
- brzina - daje točan ishod u zadovoljavajućem vremenskom razdoblju
- razumljivost - mora biti razumljiv i primjenjiv i u drugim okolnostima
- slijed – jedan ili više koraka koji se izvode jedan za drugim
- grananje – odluka koji slijed koraka treba izvršiti s obzirom na postavljeni uvjet
- ponavljanje (petlja) – slijed algoritamskih koraka koji se provodi određeni broj puta gdje broj ponavljanja može biti unaprijed određen ili ovisi o zadanom uvjetu
2. Algoritam, program i programiranje
Nakon što smo razjasnili općenito što je algoritam, stavimo pojam algoritma u kontekst svijeta računala.Algoritam je konačan skup koraka koji računalu detaljnu opisuju što treba napraviti. Da bi računalo moglo razumjeti dane upute što i kako treba raditi one trebaju biti napisane nekim programskim jezikom. Uputa računalu napisana u programskom jeziku koja određuju što računalo treba napraviti predstavlja računalni PROGRAM. Program se sastoji od niza algoritamskih koraka odnosno INSTRUKCIJA (ili naredaba) koje se izvršavaju po strogo određenom redoslijedu te nakon njihovog provođenja dobivamo određeni rezultat.
Program je skup naredaba ili instrukcija poredanih po strogo određenom redoslijedu,
nakon čijeg provođenja dobivamo određeni rezultat. Osnovni element programa je
naredba ili instrukcija.
Pisanjem programa bave se programeri, a pišu ih u odabranim programskim jezicima. Izrada programa nije jednostavna. Za pisanje programa nije potrebno samo znanje
programskog jezika, već treba znati primijeniti i ispravan algoritam za njegovo
rješavanje.
3. Zapis algoritma
U osnovi je algoritme moguće zapisivati na dva načina:
- Prirodnim (govornim) jezikom
- Umjetnim jezikom
Na primjer, iz prethodno danih primjera, algoritam bankomat smo prikazali prirodnim jezikom.
Umjetni jezik je jezik u kojem su raspoređena posebna pravila, riječi i simboli s pomoću kojih se zapisuju algoritmi. Osim upotrebe programskog jezika u kojem pišemo programe, razvijena su još dva načina na koje možemo prikazati algoritam - dijagram tijeka i pseudojezik. Oni se primjenjuju u pripremnoj fazi razrade algoritma prije samog kodiranja, odnosno prije pisanja programskih naredaba u određenom programskom jeziku.
Dijagram tijeka služi za grafički zapis algoritma i pri tome se služimo osnovnim standardnim likovima:
Besplatna desktop aplikaciju za izradu i simulaciju dijagrama tijeka http://flowgorithm.org/
Pseudojezik se može smatrati pojednostavljenim programskim jezikom. Njegova su pravila puno jednostavnija nego pravila pravoga programskog jezika, a algoritam zapisan pseudojezikom može se lako prepisati u bio koji viši programski jezik.
Na slici ispod vidimo opis osnovnih naredaba pseudojezika:
Primjer jednostavnih naredbi zapisanih pomoću pseudojezika:
Primjer načina zapisa algoritma, izvadak iz uputa za državnu maturu iz informatike:
4. Faze programiranja
Algoritam je razrađen postupak koji nakon konačnog broja koraka dovodi do rješenja problema.
Pogledajmo primjer jednog problema:
Pogledajmo sada kroz koje smo sve korake prošli od uočavanja problema do njegova rješenja:
Strelice na slici pokazuju da ćemo se morati vraćati na neke prethodne korake ako nismo dovoljno dobro odradili neki od njih.
Koraci u izradi algoritma:
Zadatak:
Poredaj po brojevima faze programiranja - Nakon klika na poveznicu (ljubičasti tekst) idi u Zabavni kutak -
5. Programski jezici
Umjetni jezik osmišljen za komunikaciju s računalom u kojem pišemo programe zove se PROGRAMSKI JEZIK. Svaki programski jezik određen je dopuštenim znakovima, ključnim riječima i pravilima koja nam govore kako ćemo pisati i kombinirati naredbe programa. Danas postoje mnogi različiti programski jezici i svaki od njih ima neke svoje posebnosti.
Domaći rad: izraditi umnu mapu sa spomenutim te aktualnim programskim jezicima u svijetu (odabrati 5 najzastupljenijih programskih jezika trenutno u svijetu). Za svaki od njih kratko navedite uporabu.
Razvoj programskih jezika kroz generacije:
Već u prvom razredu smo naučili da računala razumiju samo jezik nula i jedinica. Takav jezik je nastao u ranim 50-im godinama prošlog stoljeća i naziva se strojnim jezikom. Strojni jezik je razumljiv računalu, ali je složen za programiranje jer se sve naredbe zapisuju nizovima nula i jedinica. Možete samo zamisliti koliko je teško uočiti pogrešku u takvim nizovima nula i jedinica!
S obzirom da nam je prirodnije koristiti se riječima nego nizovima nula i jedinica, programeri koji su razvijali programe u strojnom jeziku, težili su razvijanju programskih jezika koji umjesto nula i jedinica rabe riječi i simbole. Takvi se jezici nazivaju simboličkim programskim jezicima. Simboličke jezike dijelimo na jezike niže i više razine.
U jezicima niže razine (npr. asemblerski jezik) pojedine se naredbe označavaju karticama koje podsjećaju na njihovu namjenu (npr. MUL - množenje, ADD - zbrajanje). Iako su čovjeku razumljiviji od strojnog jezika, ti jezici pripadaju skupini jezika usmjerenih na računalo. Svaka naredba u nižem simboličkom jeziku mijenja jednu naredbu u strojnom jeziku.
U programskim jezicima više razine, koji su nastali otprilike 1960. godine, naredbe su kratke riječi koje se lako pamte. Za razliku od jezika niže razine, većina naredaba viših programskih jezika mijenja niz naredbi strojnog jezika. Glavna karakteristika viših simboličkih jezika je orijentiranost prema programeru - jezik je sličniji govornom jeziku, a za programiranje nije nužno detaljno poznavanje hardvera.
Primjeri viših programskih jezika s kojima ste možda već susreli u osnovnoj školi su Logo, Basic ili C (rabe se njihove razne inačice). Učeći spomenute jezike, osim usvajanja sintakse programskog jezika, usvaja se i tehnika tzv. strukturnoga programiranja. Radi se o tome da se početni problem podijeli u više manjih problema. Rješavamo jedan po jedan, a zatim ih spajamo u cjelinu kao Lego kockice. Takav pristup programiranju često se naziv i top-down programiranje jer se osnovni problem razlaže u više manjih cjelina.
Iako danas programe piše u višim programskim jezicima računalo i dalje razumije samo strojni jezik. Zbog toga postoje programi prevoditelji koji programe napisane u višem programskom jeziku prevode u strojni jezik. Programe prevoditelje dijelimo u dvije skupine: kompajlere i interpretere.
Kompajleri (engl. compliers) prevode cijeli program, stvaraju izvršnu (.exe) inačicu koju zatim izvršavaju, a interpreteri prevode naredbu po naredbu i svaku naredbu odmah izvršavaju.
Posljednjih godina u programiranju prevladavaju tzv. objektno orijentirani jezici. Za razliku od proceduralnih jezika u kojima je naglasak na algoritmu u objektnom programiranju glavnu ulogu imaju objekti koji sadržavaju podatke i funkcije (koje se u objektnom programiranju nazivaju metodama).