C++ za 90 minuta
Upcoming SlideShare
Loading in...5
×
 

C++ za 90 minuta

on

  • 645 views

Nova verzija (2013. godina)

Nova verzija (2013. godina)

Statistics

Views

Total Views
645
Views on SlideShare
550
Embed Views
95

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 95

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

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

C++ za 90 minuta Presentation 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