On-line učionica

5. februara 2015.

Kompletan primer: red

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 5:39 pm

Red je sutinski specijalan sluaj povezane liste u kooj se nov element dodaje na kraju, a izlazi kao u redu na početku.

Evo koda programa…

Kod70 (more…)

Advertisements

30. januara 2015.

Dinamička alokacija memorije

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 12:32 pm

Počećemo od primera povezane liste…

Kod61

Šta radi ovaj deo koda? Formira dva čvora liste i povezuje ih…

Slika7 (more…)

5. decembra 2014.

Rad sa fajlovima

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 12:01 pm

Tokovi su prenosnici za pisanje i čitanje podataka. Oni obezbeđuju efikasne i prilagodljive metode ulaza i izlaza.

Tok je fizički uređaj (npr. štampač ili monitor) ili fajl kojim se upravlja pomoću pokazivača na tok.

Postoji interna C-ova struktura podataka, FILE, koja predstavlja sve tokove i definisana je u stdio.h. Jednostavno treba da se obratimo strukturi FILE unutar programa kada vršimo ulaz ili izlaz pomoću tokova.

Treba samo da deklarišemo promenljivu ili pokazivač ovog tipa u našim programima.

Ne moramo da znamo ništa o detaljima njene definicije.

Moramo otvoriti tok pre nego što počnemo sa izlazom ili ulazom, onda moramo da mu pristupimo, i na kraju da ga zatvorimo.

Ulazno/izlazni tok je baferisan. To znači da se određeni segment podataka upisuje ili čita sa toka pomoću privremenog dela memorije (bafera). Ovo možemo ilustrovati:

Slika6 (more…)

27. novembra 2014.

Strukture

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 10:32 pm

Strukture u C-u liče na slogove u Pascal-u. Na primer:

Kod43

definiše novu strukturu oruzje i čini Markovo primerom za to.

Reč oruzje je oznaka za strukturu koja služi kao skraćenica za buduće deklaracije. Sada samo treba da kažemo struct oruzje i telo strukture se podrazumeva kao kad smo pravili promenljivu Markovo. Oznaka nije obavezna.

Promenljive takođe mogu biti deklarisane između znakova } i ; deklaracije strukture, npr: (more…)

23. juna 2013.

Rad sa stringovima

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 11:14 am

Setite se kada smo učili nizove da smo rekli da su stringovi definisani kao niz karaktera ili kao pokazivač na deo memorije koji sadrži znakove. String u C-u je niz od nula ili više karaktera koji se završava oznakom kraja stringa (\ 0):

Slika2

Jako je važno da sačuvamo tu oznaku kraja, jer je to način na koji C „zna“ koliko je dugačak string. Svim standardnim funkcijama za rad sa stringovima je on potrebna za uspešan rad.

U opštem slučaju, osim nekih funkcija koje zahtevaju dužinu (strncat(), strncmp() i strncpy()), ako ne kreirate stringove ručno, ne bi trebalo da imate problema. Trebalo bi da se naviknete da koristite što više korisnih funkcija za rad sa stringovima i izbegavate da ih sami pišete. (more…)

6. juna 2012.

Sortiranje nizova

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 10:44 am

Sortirati niz znači poređati njegove članove u nekom (rastućem, opadajućem, strogo rastućem, strogo opadajućem) poretku. Brojevi se sortiraju u odnosu na relaciju < i >, a znaci i reči u odnosu na engleski alfabet, zahvaljujući činjenici da su već predstavljeni pomoću ASCII koda u obliku brojeva.

Da bismo sortirali niz, potrebna nam je pomoćna funkcija „razmeni“, koju smo već radili, a sada vidimo i zašto. 😉 Dalje razmišljanje kako sortirati niz može teći u nekoliko pravaca. Za svaku od ideja je moguće izbrojati koliko će se operacija poređenja dva elementa izvršiti, pa prema tome imamo nekoliko vrsta sortiranja. Postoji čitava nauka o sistemima za sortiranje nizova, a mi ćemo koristiti najjednostavniji – sortiranje izborom. (more…)

4. juna 2012.

Višedimenzioni nizovi i pokazivači

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 11:36 am

Trebalo bi da mislimo o višedimenzionalnim nizovima na drugačiji način u C-u: Dvodimenzionalni niz je u stvari jednodimenzioni niz, kome je svaki element niz.

Otuda oznaka a[n][m].

Elementi niza se čuvaju red po red.

Kada prosleđujemo dvodimenzionalni niz funkciji moramo naznačiti broj kolona – broj redova je nebitan. (more…)

30. maja 2012.

Pokazivači i nizovi

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 10:45 am

Pokazivači i nizovi su veoma tesno povezani u C-u.

Zašto? Razmišljajte o elementima niza upisanih u uzastopne memorijske lokacije.

Razmotrimo sledeće:

int a[10],x;
int *pa;
pa=&a[0];  /* pa je pokazivac na a[0] */
x=*pa;
/* x dobija sadrzaj na koji pokazuje pa (a[0] u ovom slucaju) */ (more…)

15. aprila 2012.

Pokazivači i funkcije

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 11:06 am

Sada ispitajmo blisku vezu između pokazivača i C-ovih ostalih glavnih delova. Počećemo sa funkcijama.

Kada C prosleđuje argumente funkcijama on to radi po vrednosti.

Ima puno slučajeva kada možda želimo da promenimo prosleđeni argument unutar funkcije i dobijemo novu vrednost kada funkcija završi. PASCAL ovo radi (var parametri). C eksplicitno koristi pokazivače da bi ovo uradio. PASCAL maskira činjenicu da su pokazivači odgovorni za implementaciju ovoga. (more…)

13. aprila 2012.

Pokazivači

Filed under: C posle Pascal-a,Programiranje — jelena100janovic @ 10:28 am

Pokazivači su osnovni deo C-a. Ako ne umete da koristite pokazivače kako treba onda ste u suštini izgubili svu snagu i fleksibilnost koju C dozvoljava. Tajna C-a je u njegovom korišćenju pokazivača.

C koristi pokazivače mnogo. Zašto?

  • To je jedini način da iskažete neka izračunavanja.
  • Proizvodi kompaktan i efikasan kod.
  • Obezbeđuje veoma moćnu alatku. (more…)
Sledeća strana »

Blog na WordPress.com.