Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik...
Transcript of Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik...
![Page 1: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/1.jpg)
Osnove programiranja
prof.dr. Džemal Kulašin
Kiseljak, juni 2018.
![Page 2: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/2.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Svaki akademski obrazovani korisnik trebao bipoznavati barem osnove programiranja i...
...biti sposoban za korištenje barem jednogjezika za razvoj programa i/ili njihovemodifikacije.
C++... C#... PHP... Java... VB(A)...
Uvod
![Page 3: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/3.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Programski jezik je alat pomoću kojegprogramer kreira sopstvene programe,generirajući posebne instrukcije koje računar"razumije“.
Program je skup instrukcija programskogjezika.
Programski jezici
![Page 4: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/4.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Temeljni programski jezici su C/C++.
C++ je programski jezik koji se koristi kako zarazvoj aplikacija, tako i za razvoj operativnihsistema.
Poseban kvalitet ovog jezika je mogućnostkorištenja komandi jezika visokog nivoa uzistovremenu mogućnost pristupa hardverskimkomponentama.
Osnove jezika C/C++
![Page 5: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/5.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Jezik C++ spada u jezike visokog nivoa, i u tzv.kompajlerske jezike.
Osnove jezika C/C++
Kompajlerski jer...
...program se iz programskog jezika višeg nivoakompajlira (prevodi) do mašinskog jezika, tj.jezika računara!
![Page 6: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/6.jpg)
Faze u programiranju
� Programiranje je zahtjevno, jer računar insistira na jasnoći!?!
� Algoritam!
� Dijagrama toka!
� Naredne faze?
![Page 7: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/7.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Opće faze u razvoju programa su:
- Algoritam
- Dijagram toka
***************************************************************
- Kodiranje (Izvorni program, Source code)
- Prevođenje (Kompajliranje, Compiling)
- Rješenje (Izvršni program, Execute program)
Faze u programiranjuRazrada problema
![Page 8: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/8.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
No, da bi uopće pristupili pisanju programskogkoda, potreban je odgovarajući software .
Najbolje je koristiti razvojna okruženja (IDE)pojedinih programskih alata.
IDE - Integrated Development Environment
- Za C/C++ možemo koristiti Dev C++:
Osnove jezika C/C++
![Page 9: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/9.jpg)
IDE jezika C/C++
![Page 10: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/10.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Pored ostalog, podrazumijeva se...
- Poznavanje tipova podataka,
- Deklaracije varijabli, konstanti...
- Korištenje naredbi učitavanja, ispisa...
- Korištenje naredbi za ponavljanje... itd.
Osnove jezika C/C++
![Page 11: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/11.jpg)
Predstavljanje cjelobrojnih podataka:
- int – cjelobrojni podatak - 16 ili 32 bita
- char – mali cjelobrojni podatak (veličina 1 bajt)
Predstavljanje realnih vrijednosti:
- float – realni podatak u jednostrukoj tačnosti (32 bita)
- double – realni podatak u dvostrukoj tačnosti (64 bita)
Osnovni tipovi podataka jezika C/C++
![Page 12: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/12.jpg)
• Rezultati su, takođe, numeričkog tipa
• Operatori inkrementiranja (++) i dekrementiranja (--)
• Operatori osnovnih operacija *, /, %
Osnovni aritmetički operatori
![Page 13: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/13.jpg)
Ovoj grupi operatora pripadaju:
< (manje),
<= (manje ili jednako),
> (veće),
>= (veće ili jednako),
== (jednako),
!= (različito).
Relacioni operatori
![Page 14: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/14.jpg)
Operator dodjele
Operator proste dodjele je = (ne treba ga miješati sa relacionim operatorom ==)
Lijevi operand ovog operatora je lijeva vrednost (ime promenljive), a desni operand je proizvoljni izraz.
Bitno pravilo:
Prvo se izračunava izraz na desnoj strani. Nakon toga se dobijena vrijednost upisuje u memorijsku lokaciju koja je rezervirana za čuvanje te promenljive.
![Page 15: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/15.jpg)
Općenito, program predstavlja skup definicija:
- promjenljivih,
- simboličkih konstanti,
- tipova i
- funkcija.
Obavezan dio svakog C/C++ programa je funkcija main, i svaki program sadrži tačno jednu definiciju funkcije main.
Main poziva operativni sistem u trenutku poziva programa.
Struktura C/C++ programa
![Page 16: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/16.jpg)
Opći oblik deklaracije promjenljive je:
Tip ime_varijable;
Primjeri:
int a, b;
long int i;
double zapremina;
Varijable (Promjenljive)
![Page 17: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/17.jpg)
Opći oblik deklaracije konstante je:
Const Tip_konstante = izraz;
Primjeri:
const int a=3, b=5;
const float Pi=3.14;
Konstante
![Page 18: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/18.jpg)
• 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
• Važno: Za uključivanje se koristi pretprocesorska direktiva include
Naredbe ulaza i izlaza
![Page 19: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/19.jpg)
Format include direktive:
#include <ime_fajla>
Dakle, kada se u programu koriste funkcije ulaza i izlaza,
treba navesti sljedeće:
#include <stdio.h> (u C)
ili #include <iostream> (u C++)
Naredbe ulaza i izlaza
![Page 20: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/20.jpg)
Naredba IF implementira osnovni tip selekcije (grananja)
Dijagram toka ove strukture:
izraz
Naredba 1 Naredba 2
FT
Naredbe selekcije - IF
Ekvivalentan kod je:
if (<izraz>)
<naredba1>
else
<naredba2>
![Page 21: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/21.jpg)
Programske petlje omogućavaju višestruko ponavljanje određenog dijela programa u toku njegovog izvršavanja.
U programskom jeziku C postoje tri vrste programskih petlji:
1) for
2) while
3) do-while
Programske petlje
![Page 22: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/22.jpg)
Programske petlje - FOR
FOR (izraz1; izraz2; izraz3) {
naredba }
Pri tome, argumenti su:
izraz1 – početno stanje kontrolne varijable izraz2 – uvjet
izraz3 – prirast kontrolne varijable
![Page 23: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/23.jpg)
naredba
izraz
da
ne
While petlja omogućava ponavljanje naredbe programa dok je definirani uvjet zadovoljen
Ekvivalentan kod je:
WHILE (izraz) {
naredba }
Programske petlje - While
![Page 24: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/24.jpg)
Razlika: Uvjet za ponavljanje petlje u kodu nalazi se iza tijela, te se naredba mora izvršiti barem jednom!
naredba
izraz
da
ne
Ekvivalentan kod je:
DO {
naredba }
WHILE (izraz);
Programske petlje – DO - WHILE
![Page 25: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/25.jpg)
FZF Travnikpredmet: INFORMATIKA
Napraviti programsko rješenje kvadratne jedna čine u jeziku C++
Moramo početi od teorije:
- Opći oblik jednačine?
- Kakva su rješenja kvadratne jednačine?
- Razrada na plo či: koeficijent a, D, rješenja...
Primjer rješenja uz C++
![Page 26: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/26.jpg)
FZF Travnikpredmet: INFORMATIKA
Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima. Oblik parabole može opisivati mnoge pojave u prirodi poput gibanja tijela izbačenog horizontalno ili pod uglom. Poznati su mnogi građevinski objekti poput mostova ili lukova paraboličnog oblika. Ovakav oblik pojavljuje se i u poslovnim izračunima profita i u raznim drugim područjima života. Kvadratna se funkcija koristi u izračunu kvadratnih površina i drugih geometrijskih problema kao i u statističkim analizama...
Značaj kvadratne funkcije
![Page 27: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/27.jpg)
![Page 28: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/28.jpg)
FZF Travnikpredmet: INFORMATIKA
Testne vrijednosti:
a=1 b=-8 c=12 ... (D>0)
a=1 b=-6 c=10 ... (D<0)
a=1 b=4 c=4 ... (D=0)
a=0 - poruka da se ne radi o kv. jednacini!
Primjer rješenja uz C++
![Page 29: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/29.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Podvarijanta jezika VB je VBA, čije je razvojno okruženje prisutno na svakom računaru!
Pokretanje VBA okruženja:
Developer: Visual Basic
ili: Alt + F11
Programski jezik VB(A)
![Page 30: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/30.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Pozivamo novi modul:
Insert – Module
Desni dio ekrana je prostor za kodiranje, tj. pisanje programskog koda
![Page 31: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/31.jpg)
Fakultet za menadžment i poslovnu ekonomijuKatedra za menadžment i IS
Kodirati programsko rješenje u VBA koje konvertuje rezultate testova u slovne
ocjene (5/F, 6/E itd.)
Kriterij pretvorbe je aktuelna skala ocjenjivanja!
Primjer rješenja uz VBA
![Page 32: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/32.jpg)
Function SlovnaOcjena(Rezultat As Integer) As String
Select Case Rezultat
Case Is < 55
SlovnaOcjena = "5/F"
Case Is < 65
SlovnaOcjena = "6/E"
Case Is < 75
SlovnaOcjena = "7/D"
Case Is < 85
SlovnaOcjena = "8/C"
Case Is < 95
SlovnaOcjena = "9/B"
Case Is <= 100
SlovnaOcjena = "10/A"
End Select
End Function
![Page 33: Osnove programiranja - Cpp i VBAfmpe.edu.ba/images/nastava/948/Informacioni... · FZF Travnik predmet: INFORMATIKA Kvadratna funkcija i njezin graf nalaze se u mnogim naučnim područjima.](https://reader031.fdocument.pub/reader031/viewer/2022011813/5e40068400b82b1d4e3f8cf2/html5/thumbnails/33.jpg)
Nastavna jedinka: