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 orij...
C++


Jezik slobodnog formata
 Dodatni

space i tab se ignorišu
 Prazne linije – ignorišu
 Više naredbi u jednoj linij...
Preporuka





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

//...
#include


#include <stdio.h>
 Standard

Input and Output Library
 Funkcije ulaz/izlaz (printf, fprintf, scanf, fscanf,...
Promenljive


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



Globalne i lokalne








Zav...
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.14159265...
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++; ...
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 ...
Switch
switch (promenljiva) {
case mogucnost1:
naredba;
break;
case mogucnost2:
naredba;
break;
...
default:
naredbe;
}

s...
For petlja
for (start; uslov; promena vrednosti) {
naredbe;
}


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



...
While petlja


Nepoznat broj ponavljanja
while (uslov) {
naredbe;
}



Primer:
broj = 1;
while (broj < 5) {
broj = broj ...
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...
Funkcije


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



Primer:
int zbir ...
Opseg važenja
Funkcije u kodu


int main() { ... }



Deklarisanje funkcija
 Pre

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



Mo...
Nizovi


Definicija:
tip ime [broj elemenata]



Primer:

• Niz – argument funkcije:

int A[20];


Vrednosti članova:
i...
Strukture


Grupa podataka označena jednim imenom
struct ime_strukture {
type1 member_name1;
type2 member_name2;
type3 me...
Štampanje podataka



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

%[širina].[preciznos...
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 pros...
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) ...
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...
Zadatak 4


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



Test primer:
N

= 35
 Razmisliti o (vre...
Upcoming SlideShare
Loading in …5
×

C++ za 90 minuta

756 views
548 views

Published on

Nova verzija (2013. godina)

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
756
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

C++ za 90 minuta

  1. 1. C++ za 90 minuta (možda malo manje) http://fizika.pmf.ni.ac.rs/mmilan 4. novembar 2013 2011
  2. 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. 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. 4. Preporuka     Na početku programa – zaglavlje Imena promenljivih – neki smisao Komentari – za promenljive, delove koda... Prazne linije – razdvajaju blokove koda
  5. 5. Struktura programa /* Opis programa */ #include direktive int main() { konstante promenljive radi nešto... return 0; } // komentar
  6. 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. 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
  8. 8. Tipovi podataka   Različiti tipovi promenljivih koriste memoriju na različite načine Deklraisanje – rezerviše memoriju
  9. 9. Izbor tipa podataka 0.1234567890123456789012345678901234567890 3.1415927410125732421875000000000000000000 float 3.1415926535897931159979634685441851615905 double 3.1415926535897932384626433832795028841971 Pi
  10. 10. Konstante  Standardan (loš) način #define MAX 100;  Bolji način const unsigned int N = 100;
  11. 11. Operatori  Aritmetički  Dodela  vrednosti: +=, *=, -=, /=  Inkrement,  ++, -- dekrement X = 15 Y = 10 + X++; //Y=10+15 Y = 10 + ++X; //Y=10+16  Logički
  12. 12. Kontrola toka programa  Uslovi  If...else  Switch  Petlje  For  While  Do...while
  13. 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. 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. 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. 16. While petlja  Nepoznat broj ponavljanja while (uslov) { naredbe; }  Primer: broj = 1; while (broj < 5) { broj = broj + 1; // ili broj += 1; }
  17. 17. Do ... While petlja  Isto kao while petlja, ali uslov je na kraju do { naredbe; } while (uslov);
  18. 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); }
  19. 19. 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); }
  20. 20. Opseg važenja
  21. 21. Funkcije u kodu  int main() { ... }  Deklarisanje funkcija  Pre main()  tip ime ( arg_tip1, arg_tip2, ...);  Može i cela funkcija pre main()
  22. 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. 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;
  24. 24. Štampanje podataka   Naredba printf ili fprintf Format: printf(„Tekst %d još teksta %f n", A, B); %[širina].[preciznost]f
  25. 25. Snimanje u fajl     FILE * ime_fajla; ime_fajla = fopen (“ime.tip","w") fprintf(“...”, ...) fclose(ime_fajla)
  26. 26. 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
  27. 27. Zadatak 1  Napisati funkciju za izračunavanje n!  Test primer za glavni program n =5  n! =120
  28. 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. 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. 30. Zadatak 4  Funkciju ili program koji štampa sve proste brojeve manje od N.  Test primer: N = 35  Razmisliti o (vremenski) najefikasnijem rešenju

×