Overview of collected WARIAL data from NETCHEM consortium
C++ za 90 minuta
1. C++ za 90 minuta
(možda malo manje)
http://fizika.pmf.ni.ac.rs/mmilan
4. novembar 2013
2011
2. 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
3. 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
4. Preporuka
Na početku programa – zaglavlje
Imena promenljivih – neki smisao
Komentari – za promenljive, delove koda...
Prazne linije – razdvajaju blokove koda
6. #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"
7. 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
13. 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;
14. 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";
}
15. 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
16. While petlja
Nepoznat broj ponavljanja
while (uslov) {
naredbe;
}
Primer:
broj = 1;
while (broj < 5) {
broj = broj + 1; // ili broj += 1;
}
17. Do ... While petlja
Isto kao while petlja, ali uslov je na kraju
do {
naredbe;
} while (uslov);
18. 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);
}
21. Funkcije u kodu
int main() { ... }
Deklarisanje funkcija
Pre
main()
tip ime ( arg_tip1, arg_tip2, ...);
Može i cela funkcija pre main()
22. 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);
23. 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;
28. 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
29. 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)
30. Zadatak 4
Funkciju ili program koji štampa sve proste
brojeve manje od N.
Test primer:
N
= 35
Razmisliti o (vremenski) najefikasnijem rešenju