SlideShare a Scribd company logo
1 of 30
Download to read offline
C++ za 90 minuta
(možda malo manje)

http://fizika.pmf.ni.ac.rs/mmilan

4. novembar 2013
2011
Istorija






C – 1970. god, Dennis Ritchie
C++ - nadogradnja C-a
Skoro svaki C program radi u C++
C++ objektno orijentisan
Primena – aplikacije, sistem, nauka itd
C++


Jezik slobodnog formata
 Dodatni

space i tab se ignorišu
 Prazne linije – ignorišu
 Više naredbi u jednoj liniji
 Jedna naredba u više linija
Preporuka





Na početku programa – zaglavlje
Imena promenljivih – neki smisao
Komentari – za promenljive, delove koda...
Prazne linije – razdvajaju blokove koda
Struktura programa
/*
Opis programa
*/
#include direktive
int main()
{
konstante
promenljive
radi nešto...
return 0;
}

// komentar
#include


#include <stdio.h>
 Standard

Input and Output Library
 Funkcije ulaz/izlaz (printf, fprintf, scanf, fscanf, fopen,
itd)


#include <math.h>
 Matematičke

operacije
 sin, cos, pow, sqrt, acos, itd


#include “moj_fajl.h"
Promenljive


Deklarisanje promenljivih:
int a;
int b = 10;
int rezultat = a + b;



Globalne i lokalne








Zavisi od mesta deklarisanja
U funkciji (unutar {...})– važi za tu funkciju -> lokalna
Globalna – pristupa bilo gde u kodu

Moraju početi slovom ili _donjom crtom, ne smeju da
sadrže navodnike, razmake i slične specijalne znake
Razlikuju mala i VELIKA slova
Tipovi podataka




Različiti tipovi
promenljivih koriste
memoriju na
različite načine
Deklraisanje –
rezerviše memoriju
Izbor tipa podataka
0.1234567890123456789012345678901234567890
3.1415927410125732421875000000000000000000 float
3.1415926535897931159979634685441851615905 double
3.1415926535897932384626433832795028841971 Pi
Konstante


Standardan (loš) način
#define MAX 100;



Bolji način
const unsigned int N = 100;
Operatori



Aritmetički
 Dodela


vrednosti:

+=, *=, -=, /=

 Inkrement,


++, --

dekrement

X = 15
Y = 10 + X++; //Y=10+15
Y = 10 + ++X; //Y=10+16



Logički
Kontrola toka programa


Uslovi
 If...else
 Switch



Petlje
 For
 While
 Do...while
If ... else


Uslovno grananje
if (uslov)
naredba
else if (drugi uslov)
naredba
else
naredba



Primer:
if (n > 0) {
if (a > b)
z = a;
}
else
z = b;
Switch
switch (promenljiva) {
case mogucnost1:
naredba;
break;
case mogucnost2:
naredba;
break;
...
default:
naredbe;
}

switch (x) {
case 1:
"x je 1";
break;
case 2:
"x je 2";
break;
default:
"x je nepoznato";
}
***
if (x == 1) {
"x je 1";
}
else if (x == 2) {
"x je 2";
}
else {
"x je nepoznato";
}
For petlja
for (start; uslov; promena vrednosti) {
naredbe;
}


Primer
for (int i=10; i>0; i--) {
printf(“%d”, i);
}



Rezultat:10,9,8,7,6,5,4,3,2,1
While petlja


Nepoznat broj ponavljanja
while (uslov) {
naredbe;
}



Primer:
broj = 1;
while (broj < 5) {
broj = broj + 1; // ili broj += 1;
}
Do ... While petlja


Isto kao while petlja, ali uslov je na kraju
do {
naredbe;
} while (uslov);
Break i Continue
Break
 Prekida

petlju
 5 4 STOP


Continue
 Preskače

korak u petlji
 5 4 STOP 2 1



Primer:

for (n = 5; n > 0; n--) {
if (n == 3) {
printf(“STOP“);
break; // ili continue
}
printf(“%dn”, n);
}
Funkcije


Definicija:
tip ime_funkcije (lista_parametara) {
.... telo_funkcije(blok_naredbi)....
}



Primer:
int zbir (int a, int b) {
int r;
r = a + b;
return (r);
}
Opseg važenja
Funkcije u kodu


int main() { ... }



Deklarisanje funkcija
 Pre

main()
 tip ime ( arg_tip1, arg_tip2, ...);



Može i cela funkcija pre main()
Nizovi


Definicija:
tip ime [broj elemenata]



Primer:

• Niz – argument funkcije:

int A[20];


Vrednosti članova:
int broj[] = { 16, 2, 77, 40, 12071 };
broj[3] = 10;



Višedimenzionalni
int matrica [5][5];

int funkcija (int niz[])
int mojniz [40];
funkcija (mojniz);
Strukture


Grupa podataka označena jednim imenom
struct ime_strukture {
type1 member_name1;
type2 member_name2;
type3 member_name3;
...
} ime_objekta;



Primer:
struct kretanje {
float brzina;
float polozaj;
bloat ubrzanje;
...
} automobil, bicikla;



Korišćenje:
v = automobil.brzina
automobil.polozaj = x;
Štampanje podataka



Naredba printf ili fprintf
Format:
printf(„Tekst %d još teksta %f n", A, B);

%[širina].[preciznost]f
Snimanje u fajl





FILE * ime_fajla;
ime_fajla = fopen (“ime.tip","w")
fprintf(“...”, ...)
fclose(ime_fajla)
Zadaci
1.
2.
3.
4.

Računanje faktorijela
Računanje sume članova niza
Računanje rastojanja između dve tačke
Štampanje prostih brojeva manjih od N
Zadatak 1


Napisati funkciju za izračunavanje n!



Test primer za glavni program
n

=5
 n! =120
Zadatak 2


Funkcija za izračunavanje sume članova niza od
N elemenata.



Test primer za glavni program:
N

=5
 a(0) = 4, a(1) = 2.5, a(2) = 17, a(3) = 21, a(4) = 7
 SUMA = 51.5
Zadatak 3


Funkcija za izračunavanje rastojanja između dve
tačke. Koordinate tačaka date su kao:
 A.x,



A.y, A.z i B.x, B.y, B.z

Test primer za glavni program:
A=

(3, 5, 8) i B = (6, 2, 1)
Zadatak 4


Funkciju ili program koji štampa sve proste
brojeve manje od N.



Test primer:
N

= 35
 Razmisliti o (vremenski) najefikasnijem rešenju

More Related Content

Similar to C++ za 90 minuta

Javascript #1 - StartIt centar Indjija
Javascript #1 - StartIt centar IndjijaJavascript #1 - StartIt centar Indjija
Javascript #1 - StartIt centar IndjijaDušan Stanković
 
GitOps u teoriji Terraform praksi-Nebojša Ilić
GitOps u teoriji Terraform praksi-Nebojša IlićGitOps u teoriji Terraform praksi-Nebojša Ilić
GitOps u teoriji Terraform praksi-Nebojša IlićCOMINGComputerEngine
 
Web дизајн (it), део 1, школска 2010 11, триместар 3
Web дизајн (it), део 1, школска 2010 11, триместар 3Web дизајн (it), део 1, школска 2010 11, триместар 3
Web дизајн (it), део 1, школска 2010 11, триместар 3Nikola Reljin
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Feguest199a1d0
 

Similar to C++ za 90 minuta (7)

Python - osnove
Python - osnovePython - osnove
Python - osnove
 
Javascript #1 - StartIt centar Indjija
Javascript #1 - StartIt centar IndjijaJavascript #1 - StartIt centar Indjija
Javascript #1 - StartIt centar Indjija
 
Sestaci
SestaciSestaci
Sestaci
 
GitOps u teoriji Terraform praksi-Nebojša Ilić
GitOps u teoriji Terraform praksi-Nebojša IlićGitOps u teoriji Terraform praksi-Nebojša Ilić
GitOps u teoriji Terraform praksi-Nebojša Ilić
 
Paskal zadaci
Paskal zadaciPaskal zadaci
Paskal zadaci
 
Web дизајн (it), део 1, школска 2010 11, триместар 3
Web дизајн (it), део 1, школска 2010 11, триместар 3Web дизајн (it), део 1, школска 2010 11, триместар 3
Web дизајн (it), део 1, школска 2010 11, триместар 3
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Fe
 

More from Milan Milošević

Inflacija, crne rupe i Fizika u Nišu
Inflacija, crne rupe i Fizika u NišuInflacija, crne rupe i Fizika u Nišu
Inflacija, crne rupe i Fizika u NišuMilan Milošević
 
Observational tests of Tachyonic and Holographic Models of Inflation
Observational tests of Tachyonic and Holographic Models of InflationObservational tests of Tachyonic and Holographic Models of Inflation
Observational tests of Tachyonic and Holographic Models of InflationMilan Milošević
 
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fiziku
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fizikuKako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fiziku
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fizikuMilan Milošević
 
Sunce - zvezda iz Sunčevog sistema
Sunce - zvezda iz Sunčevog sistemaSunce - zvezda iz Sunčevog sistema
Sunce - zvezda iz Sunčevog sistemaMilan Milošević
 
Observational parameters of Inflation in Holographic cosmology
Observational parameters of Inflation in Holographic cosmologyObservational parameters of Inflation in Holographic cosmology
Observational parameters of Inflation in Holographic cosmologyMilan Milošević
 
Numerical inflation: simulation of observational parameters
Numerical inflation: simulation of observational parametersNumerical inflation: simulation of observational parameters
Numerical inflation: simulation of observational parametersMilan Milošević
 
Od crne rupe do Nobelove nagrade za fiziku
Od crne rupe do Nobelove nagrade za fizikuOd crne rupe do Nobelove nagrade za fiziku
Od crne rupe do Nobelove nagrade za fizikuMilan Milošević
 
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinu
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinuOd velikog praska do Nobelove nagrade za fiziku za 2019. godinu
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinuMilan Milošević
 
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivo
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivoEvolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivo
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivoMilan Milošević
 
Kako videti nevidljivo? - prva fotografija crne rupe
Kako videti nevidljivo? - prva fotografija crne rupeKako videti nevidljivo? - prva fotografija crne rupe
Kako videti nevidljivo? - prva fotografija crne rupeMilan Milošević
 
CERN mesto gde je nastao "internet"
CERN mesto gde je nastao "internet"CERN mesto gde je nastao "internet"
CERN mesto gde je nastao "internet"Milan Milošević
 
Kako je svet postao globalno selo?
Kako je svet postao globalno selo?Kako je svet postao globalno selo?
Kako je svet postao globalno selo?Milan Milošević
 
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacija
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacijaNETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacija
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacijaMilan Milošević
 
NETCHEM CPD: Video konferencijsko povezivanje
NETCHEM CPD: Video konferencijsko povezivanjeNETCHEM CPD: Video konferencijsko povezivanje
NETCHEM CPD: Video konferencijsko povezivanjeMilan Milošević
 
Overview of collected WARIAL data from NETCHEM consortium
Overview of collected WARIAL data from NETCHEM consortiumOverview of collected WARIAL data from NETCHEM consortium
Overview of collected WARIAL data from NETCHEM consortiumMilan Milošević
 

More from Milan Milošević (20)

Inflacija, crne rupe i Fizika u Nišu
Inflacija, crne rupe i Fizika u NišuInflacija, crne rupe i Fizika u Nišu
Inflacija, crne rupe i Fizika u Nišu
 
Observational tests of Tachyonic and Holographic Models of Inflation
Observational tests of Tachyonic and Holographic Models of InflationObservational tests of Tachyonic and Holographic Models of Inflation
Observational tests of Tachyonic and Holographic Models of Inflation
 
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fiziku
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fizikuKako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fiziku
Kako smo videli nevidljivo - od crne rupe do Nobelove nagrade za fiziku
 
Sunce - zvezda iz Sunčevog sistema
Sunce - zvezda iz Sunčevog sistemaSunce - zvezda iz Sunčevog sistema
Sunce - zvezda iz Sunčevog sistema
 
Observational parameters of Inflation in Holographic cosmology
Observational parameters of Inflation in Holographic cosmologyObservational parameters of Inflation in Holographic cosmology
Observational parameters of Inflation in Holographic cosmology
 
Numerical inflation: simulation of observational parameters
Numerical inflation: simulation of observational parametersNumerical inflation: simulation of observational parameters
Numerical inflation: simulation of observational parameters
 
Od crne rupe do Nobelove nagrade za fiziku
Od crne rupe do Nobelove nagrade za fizikuOd crne rupe do Nobelove nagrade za fiziku
Od crne rupe do Nobelove nagrade za fiziku
 
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinu
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinuOd velikog praska do Nobelove nagrade za fiziku za 2019. godinu
Od velikog praska do Nobelove nagrade za fiziku za 2019. godinu
 
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivo
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivoEvolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivo
Evolucija zvezda i nastanak crnih rupa - kako smo videli nevidljivo
 
Kako videti nevidljivo? - prva fotografija crne rupe
Kako videti nevidljivo? - prva fotografija crne rupeKako videti nevidljivo? - prva fotografija crne rupe
Kako videti nevidljivo? - prva fotografija crne rupe
 
Kako preživeti internet?
Kako preživeti internet?Kako preživeti internet?
Kako preživeti internet?
 
CERN mesto gde je nastao "internet"
CERN mesto gde je nastao "internet"CERN mesto gde je nastao "internet"
CERN mesto gde je nastao "internet"
 
Kako je svet postao globalno selo?
Kako je svet postao globalno selo?Kako je svet postao globalno selo?
Kako je svet postao globalno selo?
 
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacija
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacijaNETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacija
NETCHEM CPD: Audio prezentovanje jednosmerna i dvosmerna komunikacija
 
NETCHEM CPD: Video konferencijsko povezivanje
NETCHEM CPD: Video konferencijsko povezivanjeNETCHEM CPD: Video konferencijsko povezivanje
NETCHEM CPD: Video konferencijsko povezivanje
 
Fizika mobilnog telefona
Fizika mobilnog telefonaFizika mobilnog telefona
Fizika mobilnog telefona
 
30 godina World Wide Web-a
30 godina World Wide Web-a30 godina World Wide Web-a
30 godina World Wide Web-a
 
"Svet nauke" o svetu nauke
"Svet nauke" o svetu nauke"Svet nauke" o svetu nauke
"Svet nauke" o svetu nauke
 
NETCHEM Forum
NETCHEM ForumNETCHEM Forum
NETCHEM Forum
 
Overview of collected WARIAL data from NETCHEM consortium
Overview of collected WARIAL data from NETCHEM consortiumOverview of collected WARIAL data from NETCHEM consortium
Overview of collected WARIAL data from NETCHEM consortium
 

C++ za 90 minuta