osnove programiranja - c/c++fmpe.edu.ba/images/nastava/948/informatika_2017-18/osnove_progra… ·...
TRANSCRIPT
-
FAKULTET ZA MENADMENT I POSLOVNU EKONOMIJU predmet: INFORMATIKA
Osnove programiranja -
C/C++prof.dr. Demal Kulain
Kiseljak-Tuzla, januar 2018.
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
Danas je intencija poznavati barem osnoveprogramiranja i...
...biti sposoban za koritenje barem jednogjezika za razvoj programa i/ili njihovemodifikacije...
C... C++... C#... PHP... Java... VBA...
Znaaj programskih jezika
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
Programski jezik je alat pomou kojegprogramer kreira sopstvene programe,generirajui posebne instrukcije koje raunar"razumije.
Program je skup instrukcija programskogjezika.
Znaaj programskih jezika
-
Faze u programiranju
Raunar insistira na jasnoi...
Zato, prvo trebamo: model rjeenja problema
Dakle, trebaju nam faze analize i specifikacije problema, koje uglavnom podrazumijevaju:
Algoritam i Dijagrama toka
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
...Faze u programiranju
Trea faza je kljuna, jer predstavljaimplementaciju podatkovnih objekataalgoritma i dijagrama u programski jezik
Faza se oznaava kao: Kodiranje
Rezultat: Izvorni program, Source code
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
...Faze u programiranju
etvrta faza je prevoenje izvornog programado jezika raunara Koji je to jezik?
Faza se oznaava kao: Prevoenje ili Kompajliranje
Izvodi se ako nema sintaksikih greaka!
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
...Faze u programiranju
Peta faza je provjera programa sa setompodataka za koje znamo unaprijed znamotaan izlaz Naime, esto se kod uspjeno kompajlira,
ali rezultati nisu korektni!? Faza se oznaava kao: Testiranje
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
...Faze u programiranju
Peta faza su eventualne izmjene u kodu,nakon to je program stavljen u upotrebu
Faza se oznaava kao: Odravanje Konano, u sloenijim rjeenjima, potrebno je
napraviti i dokumentaciju Faza se oznaava kao: Dokumentiranje .
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
- Algoritam
- Dijagram toka
***************************************************************
- Kodiranje
- Kompajliranje
- Testiranje
- Odravanje
- Dokumentiranje
Pregled faze u programiranju
Analiza i specifikacija
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
Jedan od temeljnih programskih jezika je C.
Poseban kvalitet C jezika je mogunostkoritenja komandi jezika visokog nivoa uzistovremenu mogunost pristupa hardverskimkomponentama.
C je programski jezik koji se koristi kako zarazvoj aplikacija, tako i za razvoj operativnihsistema.
Osnove jezika C/C++
-
C je, dakle, fleksibilan jezik sa irokom
primjenom:
CAD, igre, komercijalni sistemi, Vetaka inteligencija (ekspertni sistemi, robotika)
Upravljanje procesima, real-time sistemiSistemski softver (operativni sistemi,
kompajleri, linkeri itd.)
Elektronski fakultet u Niu
Primjena jezika C/C++
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
Jezik C spada u jezike visokog nivoa, i u tzv.kompajlerske jezike.
Osnove jezika C/C++
Kompajlerski jer...
...program se iz programskog jezika vieg nivoakompajlira (prevodi) do mainskog jezika, tj.jezika raunara!
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
Dakle...
Instrukcije programskih jezika visokog nivoabliske su govornom jeziku i/ili standardnojmatematikoj notaciji.
Oito, pravi se odmak od raunarskog izvornogkoda... Razlog?
Osnove jezika C/C++
-
Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA
No, da bi uope pristupili pisanju programskogkoda, potreban je odgovarajui software.
Najbolje je koristiti razvojna okruenja pojedinihprogramskih alata.
Npr. elimo li raditi u C/C++ moemo koristitirazvojno okruenje Dev C++:
Osnove jezika C/C++
-
Razvojno okruenje jezika C/C++
- Naravno, da bi napravili program, moramo znati odreene osnove odabranog jezika...
- Dev C++
-
Predstavljanje cjelobrojnih podataka:
- int cjelobrojni podatak za ije se predstavljanje koriste
16 ili 32 bita
- char mali cjelobrojni podatak (veliina 1 bajt)
Predstavljanje realnih vrijednosti:
- float realni podatak u jednostrukoj tanosti (32 bita)
- double realni podatak u dvostrukoj tanosti (64 bita)
Osnovni tipovi podataka jezika C/C++
-
Varijante navedenih tipova podataka dobijaju se dodavanjem kljunih rijei:
- short ,
- long ,
- unsigned i signed
short - memorijski prostor za predstavljanje podatka se smanjuje na pola,
long - memorijski prostor za predstavljanje podatka se udvostruava,
unsigned - radi se o neoznaenom podatku,
signed radi se o oznaenom podatku
Osnovni tipovi podataka jezika C/C++
-
Rezultati su, takoe, numerikog tipa
Operatori inkrementiranja (++) i dekrementiranja (--)
Operatori osnovnih operacija *, /, %
Osnovni aritmetiki operatori
-
Ovoj grupi operatora pripadaju:
< (manje),
(vee),
>= (vee ili jednako),
== (jednako),
!= (razliito).
Relacioni operatori
-
Operator dodjele
Operator proste dodjele je = (ne treba ga mijeati sa relacionim operatorom ==)
Lijevi operand ovog operatora je lijeva vrednost (ime promenljive), a desni operand je proizvoljni izraz.
Bitno pravilo:
Prvo se izraunava izraz na desnoj strani. Nakon toga se dobijena vrijednost upisuje u memorijsku lokaciju koja je rezervirana za uvanje te promenljive.
-
Openito, program predstavlja skup definicija:
- promjenljivih,
- simbolikih konstanti,
- tipova i
- funkcija.
Obavezan dio svakog C/C++ programa je funkcija main, i svaki program sadri tano jednu definiciju funkcije main.
Main poziva operativni sistem u trenutku poziva programa.
Struktura C/C++ programa
-
Opi oblik deklaracije promjenljive je:
Tip ime_varijable;
Primjeri:
int a, b;
long int i;
double zapremina;
Varijable (Promjenljive)
-
Opi oblik deklaracije konstante je:
Const Tip_konstante = izraz;
Primjeri:
const int a=3, b=5;
const float Pi=3.14;
Konstante
-
scanf i printf (u C),
cin i cout (u C++)
Deklaracije funkcija za upravljanje ulaznim/izlaznim resursima nalaze se u bibliotekama
stdio.h i iostream
Vano: Za ukljuivanje se koristi pretprocesorska direktiva include
Naredbe ulaza i izlaza
-
Format include direktive:
#include
Dakle, kada se u programu koriste funkcije ulaza i izlaza,
treba navesti sljedee:
#include (u C)
ili #include (u C++)
Naredbe ulaza i izlaza
-
Naredbom IF implementira se osnovi tip selekcije (grananja)
Dijagram toka ove strukture:
izraz
Naredba 1 Naredba 2
FT
Naredbe selekcije - IF
Ekvivalentan kod je:
if ()
else
-
Programske petlje omoguavaju viestruko ponavljanje odreenog dijela programa u toku njegovog izvravanja.
U programskom jeziku C postoje tri vrste programskih petlji:
1) for
2) while
3) do-while
Programske petlje
-
Programske petlje - FOR
FOR (izraz1; izraz2; izraz3) {naredba
}
Pri tome, argumenti su:izraz1 poetno stanje kontrolne varijable izraz2 uvjet
izraz3 prirast kontrolne varijable
-
naredba
izraz
da
ne
While petlja omoguava ponavljanje naredbe programa dok je definirani uvjet zadovoljen (Da, Istina, True)
Ekvivalentan kod je:
WHILE (izraz) {
naredba }
Programske petlje - While
-
Razlika: uvjet za ponavljanje petlje u kodu nalazi se iza njenog tijela tako da se naredba mora izvriti barem jednom!
naredba
izraz
da
ne
Ekvivalentan kod je:
DO {
naredba }
WHILE (izraz);
Programske petlje DO - WHILE
-
Nastavna jedinka: