Your SlideShare is downloading. ×
  • Like
C++ za 90 minuta
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

C++ za 90 minuta

  • 363 views
Published

Nova verzija (2013. godina)

Nova verzija (2013. godina)

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
363
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 5. Struktura programa /* Opis programa */ #include direktive int main() { konstante promenljive radi nešto... return 0; } // komentar
  • 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
  • 8. Tipovi podataka   Različiti tipovi promenljivih koriste memoriju na različite načine Deklraisanje – rezerviše memoriju
  • 9. Izbor tipa podataka 0.1234567890123456789012345678901234567890 3.1415927410125732421875000000000000000000 float 3.1415926535897931159979634685441851615905 double 3.1415926535897932384626433832795028841971 Pi
  • 10. Konstante  Standardan (loš) način #define MAX 100;  Bolji način const unsigned int N = 100;
  • 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. Kontrola toka programa  Uslovi  If...else  Switch  Petlje  For  While  Do...while
  • 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); }
  • 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. Opseg važenja
  • 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;
  • 24. Štampanje podataka   Naredba printf ili fprintf Format: printf(„Tekst %d još teksta %f n", A, B); %[širina].[preciznost]f
  • 25. Snimanje u fajl     FILE * ime_fajla; ime_fajla = fopen (“ime.tip","w") fprintf(“...”, ...) fclose(ime_fajla)
  • 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. Zadatak 1  Napisati funkciju za izračunavanje n!  Test primer za glavni program n =5  n! =120
  • 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