Računarsko programiranje
Ovaj članak ili neki od njegovih odlomaka nije dovoljno potkrijepljen izvorima (literatura, veb-sajtovi ili drugi izvori). |
Programiranje ili računarsko programiranje (engleski: programming) jeste vještina pomoću koje korisnik stvara i izvršava algoritme koristeći određene programske jezike da bi napravio računarski program. Programiranje sadrži elemente umjetnosti, nauke, matematike i konstruisanja.
Programski jezici
[uredi | uredi izvor]Svaki programer piše programski kod u nekom programskom jeziku. Različiti programski jezici podržavaju različite stilove programiranja (programska paradigma). Različiti programski jezici zahtjevaju različite nivoe znanja, umijeća i detalja koje programer treba posjedovati.
Jedini programski jezik koji računar može direktno izvršavati je mašinski jezik (mašinski kod ili binarni kod). U počecima računarstva programeri su pisali u mašinskom kodu, što je bilo vrlo komplikovano i zamorno. Sljedeći korak u razvoju računarskog programiranja ogleda se u upotrebi simboličkih jezika, poznatih pod zajedničkim nazivom asembler. Asemblerski jezici sastoje se od jednostavnih instrukcija koje se direktno i jednoznačno mogu prevesti u mašinski kod koji se direktno izvršava. Iako mnogo pogodnije i od mašinskog programiranja, asemblersko programiranje karakteriše velika količina posla koju programer mora obaviti, zbog činjenice da su operacije i dalje elementarne. Zbog toga su stručnjaci stvorili programske jezike višeg nivoa pomoću kojih se piše izvorni kod koji se u mašinski kod prevodi posredstvom specijalnih programa - prevodilaca čiji je zadatak da prevede kod višeg programskog jezika u mašinski kod tzv. interpreter i kompajler.
Koraci u programiranju
[uredi | uredi izvor]Pri izradi svakog programa potrebno je proći kroz 4 osnovne faze ili koraka:
- Analiza problema
- Kreiranje algoritma (crtanje dijagrama toka)
- Pisanje programskog koda
- Unos programskog koda u računar i pokretanje programa
Analiza problema
[uredi | uredi izvor]Prvi korak u izradi računarskog programa je analiza potreba, razmatranje situacije i problem koji treba riješiti definisati preko jednačina, uslova i kroz tzv. pseudo algoritam. Programeru mora biti jasno kako će se dešavati promjene, zavisnosti, uzroci i posljedice, da bi sve to prenio i precizirao kroz programski kod. Sve mora biti matematički precizirano. Kod jednostavnijih programa ovaj dio je u domenu usmene analize, dok se kod složenijih programa ovaj dio radi u pisanoj i simboličkoj formi uz uredno dokumentiranje svih promjena ( ovaj dio spada u domen softverskog inženjerstva).
Kreiranje algoritma
[uredi | uredi izvor]Riječ algoritam potiče od imena arapskog matematičara Al Harizmija koji se smatra tvorcem algoritma kao skupom precizno definisanih pravila za izvršavanje aritmetičkih operacija. Algoritam je procedura (postupak) sa skupom jasno definisanih koraka koji nedvosmisleno vode ka rješenju problema. Svaki algoritam mora ispoštovati 5 osnovnih zakonitosti algoritma:
- Definisanost (svi koraci moraju biti jasni i nedvosmisleni)
- Konačnost (izvršenje algoritma se mora obaviti u određenom broju koraka)
- Posjedovanje ulaza i izlaza ( moraju se definisati ulazi kojih može biti: ni jedan, jedan ili više i izlazi kojih mora biti bar jedan ili više)
- Efikasnost (algoritam se izvršava u razumnom vremenskom intervalu)
- Rezultativnost (algoritam mora dati rješenje problema a ako nema rješenja onda poruku da rješenje ne postoji).
Pisanje programskog koda
[uredi | uredi izvor]Nakon završetka algoritma, pristupa se pisanju programskog koda na papiru. U ovom koraku se svaki korak algoritma prevodi u odgovarajuću komandu u programskom jeziku u kojem se piše.
Unos koda u računar i testiranje programa
[uredi | uredi izvor]Kada su izvršene sve (analitičke) pripreme i ručno ispisan kod potrebno ga je unijeti u računar prilagođavajući programskom alatu u kojem će se program testirati i izvršavati. Svaki programski jezik ima svoj editor koji omogućuje unos programskog koda tzv. Izvorni kod uz kontrolu ispravnosti ispisa ključnih riječi i sintakse uopće. Uz editor u svakom programskom alatu nalazi se i interpreter koji omogućava testiranje svake linije koda ili koda u cjelini kako bi se blagovremeno otklonile eventualne greške u sintaksi ili definisanim varijablama, dimenzionisanju varijabli i sl. Nakon unosa kompletnog programa u računar program se treba pokrenuti da bi se vidjelo da li radi. Program se treba više puta pokrenuti da bi se vidjelo da li program radi za različite ulazne vrijednosti,a ovo podrazumjeva i sve granične vrijednosti.
Elementarne algoritamske strukture
[uredi | uredi izvor]Algoritamske strukture se dijele u tri osnovne grupe:
- Linijska (sekvencija)
- Razgranata (selekcija)
- Ciklična (iteracija)
Primjer algoritma kada nije poznat konačan broj iteracija sa provjerom na početku petlje | |||
---|---|---|---|
Primjer u BASIC-u | Primjer u C-u | ||
Kod provjere istinitosti na ulazu u petlju postoji mogućnost da se ne izvrši ni jedno ponavljanje. Razlog je jednostavan, ako uslov nije ispunjen odmah se "preskače" na sljedeću liniju izvan petlje. Za ovu vrstu petlje u većini programa se koristi ključna riječ "WHILE" prilagođena sintaksi programskog jezika. |
zbir = 0 WHILE zbir < 200 INPUT a zbir = zbir + a WEND PRINT zbir END |
#include <stdio.h> void main() { int a, zbir = 0; while (zbir < 200) { scanf("%d", &a); zbir += a; } printf("%d\n", zbir); } |
|
Primjer algoritma kada nije poznat konačan broj iteracija sa provjerom na kraju petlje | |||
Primjer u BASIC-u | Primjer u C-u | ||
Kod provjere istinitosti na kraju petlje, ne postoji mogućnost da se ne izvrši ni jedno ponavljanje. Razlog je jednostavan, provjera se vrši u posljednjem redu bloka kôda, te se mora proći barem jedanput kroz čitav blok. Za ovu vrstu petlje u većini programa se koristi ključna riječ "DO..WHILE" prilagođena sintaksi programskog jezika. |
zbir = 0 DO INPUT a zbir = zbir + a WHILE (zbir < 200) PRINT zbir END |
#include <stdio.h> void main() { int a, zbir = 0; do { scanf("%d", &a); zbir += a; } while (zbir < 200); printf("%d\n", zbir); } |
Ekonomskim konceptima se dalje bavi Softversko inženjerstvo
Razvoj softvera
[uredi | uredi izvor]Stvaranje nekog programa uključuje:
- Analizu potreba
- Tehnički opis
- Dizajn i Arhitekturu
- Kodiranje
- Prevođenje
- Isprobavanje
- Dokumentaciju
- Održavanje
Također pogledajte
[uredi | uredi izvor]- Programski jezik
- Spisak programskih jezika
- Računarski program
- Algoritam
- Kompajler
- Interpreter
- Funkcionalno programiranje
- Logičko programiranje
- Paralelno programiranje
- Izvorni kod
- Softver
Vanjski linkovi
[uredi | uredi izvor]- Programiranje.Org - Zajednica programera
- Knjige vezane za programiranje, besplatne za skidanje (en)
- Game Maker (en)
- BHWebmasteri, besplatni tečajevi programiranja (bs)
- Code-it! Tutorijali / vodiči -> Programiranje, C#, C++, VB, PHP, Java, SQL, VB .NET, HTML... Arhivirano 11. 10. 2007. na Wayback Machine (hr)