Još malo o podacima, operatorima, ...

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: III. Gimnazija Osijek - Informatika 2
Knjiga: Još malo o podacima, operatorima, ...
Otisnuo/la: Gost (anonimni korisnik)
Datum: ponedjeljak, 28. listopada 2024., 10:03

1. Opseg djelovanja varijabli

Opseg djelovanja varijabli

Prije je rečeno da se varijable u C-u mogu najaviti izvan svih funkcija, na početku funkcije ili na početku bloka naredbi. Područje djelovanja određene varijable ovisi o mjestu na kojem je najavljena (deklarirana), pa ovisno o tome, varijable mogu biti:

  • globalne – najavljuju se izvan svih funkcija i mogu se koristiti u cijelom programu i
  • lokalne – varijable koje se najavljuju na početku funkcije ili kao argumenti funkcije i dostupne su samo u toj funkciji (ili bloku naredbi). Izvan funkcije ili bloka lokalne varijable ne postoje. Imena lokalnih varijabli u različitim funkcijama (blokovima) mogu biti ista.

Definicijom globalne varijable automatski joj se dodjeljuje početna vrijednost 0, a početna vrijednost lokalne može biti bilo koji podatak iz memorije. Dakle, za lokalnu varijablu ne znamo kolika joj je početna vrijednost. Najsigurnije je lokalne varijable inicijalizirati posebnom naredbom tijekom najave ili nakon nje (ali prije nego što ju prvi put upotrijebimo). Početne vrijednosti varijablama se dodjeljuju naredbom pridruživanja.


Recimo, naredbom int a=5; najavljena je cjelobrojna varijabla a i pridružena joj je početna vrijednost 5.

Taj se učinak postiže i ako se varijabla a deklarira  (int a;) prije, a naknadno joj se dodjeli početna vrijednost (a=5;).

 

Primjer 1.

Koju će vrijednost poprimiti varijabla a nakon najave oblika: int a = (3 * (4 + 2) - 2) / 2;?

a)       6
b)      8
c)       10

Rješenje

b) a = (3 * 6 – 2) / 2 = (18 - 2) / 2 = 16 / 2 = 8                

 

Primjer 2.

Što će se ispisati na zaslonu nakon izvođenja ovog programa?

#include <stdio.h>
int main()
{
     int xyz=462,x,y,z;
     x=xyz/100;
     y=xyz%100/10;
     z=xyz%10;
     printf("\n%d, %d, %d, %d", x,y,z,x+y+z);
     return 0;
}

 

Rješenje

Na zaslonu će se ispisati brojevi 4, 6, 2, 12, i to odvojeni zarezom i razmakom. Taj program rastavlja broj 462 na znamenke, ispisuje znamenke (4, 6, 2) i njihov zbroj (12).

Zamijetite da taj program nije općenit nego radi samo za konkretnu vrijednost varijable xyz. Veću bismo općenitost postigli učitavanjem troznamenkastog broja s tipkovnice naredbom

scanf("%3d", &xyz);

Tako napisana naredba osigurat će nam da je varijabla xyz uvijek najviše troznamenkasta. Ako upišemo više od tri znamenke, sve iza treće znamenke će se zanemariti (primjerice, ako upišemo 123456, varijabla xyz bit će jednaka 123). Ako upišemo manje od tri znamenke, primjerice broj 12, naša varijabla xyz bit će jednaka 12.

Cijeli, poopćeni zadatak izgledao bi ovako:


1.1. Zadatak 1.

Zadatak 1.

Napišite program koji će od korisnika tražiti upisivanje koeficijenata dviju jednadžbi s dvjema nepoznanicama (a × x + b × y = e, c × x + d × y = f). Program treba izračunati i ispisati na zaslonu rješenja tih jednadžbi.

Uputa: Za rješavanje tog zadatka morate najprije matematički doći do formula za računanje x i y samo s pomoću  koeficijenata a, b, e, c, d i f. Primijenite metodu supstitucije. Pripazite, s obzirom na to da je rezultat dijeljenja dvaju cijelih brojeva uvijek cijeli broj, sve varijable u programu morate najaviti kao realne brojeve.

 

Rješenje:


Testni primjeri

Ulaz:      Za a = 1, b = 1, e = 4, c = 3, d = 2, f = 6
Izlaz:     x = -2.00, y = 6.00

 

Ulaz:      Za a = 2, b = 3, e = 4, c = 2, d = 6, f = 8
Izlaz:     x = 0.00, y = 1.33

 

 

 



1.2. Zadatak 2.

Zadatak 2.

Napišite program koji će za zadani polumjer kruga ispisati njegov opseg i površinu.

 

Uputa: Potrebne su formule za površinu i opseg kruga: 

Prisjetite se da konstantu možete najaviti pretprocesorskom naredbom #define ili u bloku naredbi s naredbom const.

Rješenje

Testni primjeri

Ulaz: 1
Izlaz:     o = 6.28
             P = 3.14

 


Ulaz: 5
Izlaz:     o = 31.42
             P = 78.54

 


1.3. Zadatak 3.

Zadatak 3.

Što će se ispisati na zaslonu nakon izvođenja ovog programa ako su vrijednosti varijabli a i b zadane kako slijedi?

a)       a = 4, b = 5
b)      a = 2.3, b = 4

Što računa ovaj program?

#include <stdio.h>
int main()
{
     float a,b,p,o;
     printf("\nUpisite dva broja: ");
     scanf("%f %f", &a, &b);
     o=2*(a+b);
     p=a*b;
     printf("\np = %.2f",p);
     printf("\no = %.2f",o);
     return 0;
}

Rješenje

Ispisat će se:

a)           p = 20.00
              o = 18.00           

b)          p = 9.20
             o = 12.60

Taj program računa površinu i opseg pravokutnika zadanog duljinama stranicama.


1.4. Zadatak 4.

Zadatak 4.

Napišite program koji traži upisivanje dvaju realnih brojeva. Program treba zamijeniti mjesta upisanim brojevima.

Uputa: U ovom zadatku nije riječ o tome da vrijednosti varijabli samo ispišemo na zaslonu u obrnutom redoslijedu nego one trebaju fizički doista zamijeniti vrijednosti: vrijednost koja je na početku programa pridružena varijabli a, na kraju će biti pridružena varijabli b i obratno. Primjerice, ako je na početku programa vrijednost varijable a jednaka 5, a vrijednost varijable b jednaka 6, na kraju programa varijabli a treba biti pridružena vrijednost 6, a varijabli b vrijednost 5. Taj problem u praksi najčešće rješavamo s pomoću treće (pomoćne) varijable (kao kada želimo sadržaje dviju posuda zamijeniti, pa uzmemo treću posudu).


Imate bocu "Cole" i bocu "Fante" istog kapaciteta i ono što trebate je zamijeniti njihov sadržaj - u boci od Cole treba biti Fanta, a u boci Fante treba biti Cola. Kako to napraviti? ZApravo jednsotavno ako imate praznu bocu od mineralne jednakog kapaciteta.

1. Prelijte colu u bocu od mineralne - boca Cole bit će prazna.

2. Prelijte Fantu u bocu od Cole - boca od Fante je sada prazna

3. Prelijte Colu (iz boce od mineralne) u bocu Fante

I odradili ste traženo. Kako to zapisati?

Neka je boca Cole a, boca Fante b, a boca mineralne t. Redom bi naredbe bile:

t = a                      (ovo znači da u bocu od mineralne stavljamo Colu tj. njen sadržaj)

a = b                     (ovo znači da u bocu od Cole presipamo Fantu)

b = t                      (ovo znači da u bocu Fante prelijemo ono što se nalazi u boci od mineralne)

Redoslijed naredbi je jako bitan i ne smije se izmijeniti!

Rješenje:


Postoji rješenje za ovaj problem i bez da se upotrebljava treća varijabla. Pri tome se koriste računske operacije zbrajanja i oduzimanja. Proučite ovo rješenje:


1.5. Zadatak 5.

Zadatak 5.

Napišite program koji će za učitani četveroznamenkasti broj pronaći i ispisati njemu obrnut broj.

Uputa: Za ulaznu vrijednost 1234 na izlazu moramo dobiti 4321. Podsjetite se rastava broja na znamenke!


Rješenje:



2. Složeni operatori pridruživanja

Operator pridruživanja može se naći u kombinaciji s aritmetičkim operatorima. Takve kombinacije čine jedinstvene konstrukcije aritmetičkih izraza karakteristične za programski jezik C. Na prvi pogled izgledaju nejasno, ali ako se ima na umu redoslijed izvršavanja operacija pridruživanja (zdesna nalijevo), lako se može uočiti da je takav način zapisa skraćeni oblik pisanja aritmetičkih izraza.

Primjerice:

Odabir načina pisanja ovisi isključivo o autoru programa i o njemu ne ovisi brzina izvršavanja programa, ali je u skraćenom obliku kôd programa nešto kraći.

 

Primjer 1.

Napišite potpuni zapis izraza x * = (y + z) + 3, a zatim izračunajte vrijednost varijable x ako je x = 3, y = 2, a z = 5.

Rješenje

Potpuni zapis danog izraza je x = x * ((y + z) + 3), a vrijednost varijable x je 30.

Primjer 2.

Ako je početna vrijednost varijable a = 5, koja je njezina vrijednost nakon izraza:

a)  a + =5;
b)   a / = 3 + 2;


Rješenje

a)       10  (a=a+5;)
b)      1   (a=a/(3+2);)


Primjer 3.

Ako su početne vrijednosti varijabli a i b jednake i iznose 13, kolika će biti njihova vrijednost nakon izraza:

a)      a + = b;
b)     b % = a - 3;

Rješenje

a)       a = 26    (a=a+b;)

b)      b = 3    (b=b%(a-3);)


3. Inkrement i dekrement

Programski jezik C uvodi i dva nova aritmetička operatora:

  • inkrement (++) – što znači uvećaj varijablu za jedan
  • dekrement (--) – što znači umanji varijablu za jedan.

 Oba se operatora mogu pisati ispred (prefix) varijable ili iza varijable (postfix). Dakle, naredba x = x + 1;  isto je što i x++; odnosno ++x;. Isto tako i naredba x = x - 1;  isto je što i x--; odnosno --x;

Pojasnimo naredbu x = x + 1;

U matematici bi ovakva konstrukcija bila neispravna jer je znak = u matematici znak jednakosti. U programiranju znak = je operator pridruživanja koji varijabli s lijeve strane pridružuje vrijednost izraza na desnoj strani. Dakle, naredbom x = x + 1; dohvaća se  trenutna vrijednost varijable x iz memorije,  pribraja joj se vrijednost 1 i nakon toga se nova vrijednost pohranjuje u memoriju na mjesto varijable x.

Ako je x = 10, onda će nakon naredbe x++; vrijednost varijable x biti 11. Isto tako, nakon naredbe ++x; vrijednost varijable x bit će 11.

U tom je slučaju svejedno s koje se strane nalazi operator.

Međutim, uporabom navedenih operatora u izrazima stvari se mijenjaju. O položaju operatora u odnosu prema varijabli ovisi kada će se vrijednost varijable povećati (ili smanjiti).

Ako se operator ++ (ili --) nalazi ispred varijable, tada se vrijednost varijable najprije poveća (smanji), a zatim se uvećana (umanjena) vrijednost koristi u izrazu.

Ako je operator ++ (ili --) iza varijable, tada se u izrazu uzima trenutačna vrijednost varijable, a nakon izračunavanja uveća se (smanji) vrijednost varijable.

Utjecaj položaja operatora na promjenu varijable naziva se side effect.

 

Primjer

Neka je x = 2.

Naredba y = ++x; znači da se prvo varijabla x povećava za 1 (x=x+1;), a nakon toga vrijednost nove varijable x pridružuje se varijabli y (y=x;). Dakle, obje će varijable na kraju imati istu vrijednost (x=3; y=3;).

Naredba y = x++; znači da se prvo trenutačna vrijednost varijable x pridružuje varijabli y (y=x;), a nakon toga se vrijednost varijable x povećava za 1 (x=x+1;). Dakle, na kraju će varijabla x imati vrijednost 3, a varijabla y vrijednost 2.

Inkrement i dekrement ne mogu se primijeniti na aritmetičke izraze ni na konstante. Dakle, pogrešno je (x+y)++; ili 1.234--;

Operatori inkrement i dekrement znatno olakšavaju pisanje programa, poboljšavaju razumljivost i preglednost kôda, ali tijekom njihove uporabe treba se voditi računa o prethodno navedenom.


3.1. Zadaci za vježbu

Zadatak 1.

Ako je vrijednost varijable a = 12, koje će biti vrijednosti varijabli a i b nakon izračunavanja izraza:

a)       b = a++;
b)      b = ++a;            


Rješenje

a)       a = 13, b = 12, zato što se prvo izvršava b=a;, a tek onda a++;
b)      a = 13, b = 13,   zato što se prvo izvršava ++a;, a tek onda b=a;


Zadatak 2.

Koje vrijednosti poprimaju varijable x i y tijekom izvršavanja niza naredbi?
               y = 1;
              x = ++y +  2;
              y = 1;
              x = (y++) + 2;

 Rješenje

  y = 1;
  x = ++y + 2; → obzirom da je ++ ispred varijable y prvo se y povećava za 1 pa je y=2, nakon toga uvećana vrijednost y koristi se u izrazu pa je x= 4

  y = 1;
  x = (y++) + 2; → obzirom da je ++ iza varijable y prvo se početna vrijednost y koristi u izrazu pa je x=1+2=3, a tek onda se y povećava za 1 pa je y=2


Zadatak 3.

Koji od navedenih izraza nije ispravan?

a)       x++;
b)       x = (z + y)++;
c)       x = (y++) - 2;
d)       x = 12.54++;
e)       x = ++y - 2;
 
Rješenje

Nije ispravno napisano:

b) jer primjenjuje se inkrement na izraz i

d) jer primjenjuje se inkrement na konstantu.



4. Modifikatori

Osnovni tipovi podataka mogu se preciznije definirati primjenom modifikatora koji pobliže određuju način zapisa podataka u memoriji računala. Na taj se način mijenja opseg tipova podataka. Modifikatori se pišu ispred određenog tipa podataka, a u C-u se primjenjuju modifikatori:

  • signed (s predznakom)
  • unsigned (bez predznaka)
  • long
  • short.

Svi navedeni modifikatori ne mogu se primijeniti na sve tipove podataka. Dopuštene su navedene kombinacije.

Pravilo je da se modifikatori signed i unsigned ne upotrebljavaju s tipom podataka char ako on služi za rad sa znakovima, već samo ako ga koristimo kao cjelobrojni tip podataka malog raspona. Stoga je u tablici kao format za unsigned char i signed char  naveden format za cijele brojeve.

Uvijek imajte na umu da će stvaran broj bitova, odnosno opseg pojedinih tipova podatka ovisiti isključivo o prevoditelju i platformi kojom se koristite. Dakle, moguće je da na vašem računalu broj bitova, odnosno opseg pojedinih tipova podataka bude drukčiji.

Prisjetite se prikaza cijelog broja u računalu. Cijeli broj se u računalu prikazuje ili metodom predznaka i apsolutne vrijednost ili dvojnim komplementom. U objema metodama vrijedi pravilo: ako je prvi bit jednak 0, broj je pozitivan, a ako je prvi bit 1, broj je negativan.

U programskom jeziku C pretpostavljena vrijednost cijelog broja (int) je signed. Tip podataka int zapisuje se u 32 bita.  Pogledajmo brojeve 127 i –127. Broj -127 prikazujemo kao dvojni komplement broja 127.

Ako int definiramo kao unsigned, onda prvi bit više nije za predznak pa je riječ o broju 111111111111111111111111100000012 = 4294967169

Tip podataka float i double prikazuje se u memoriji prema IEEE standardu jednostruke, odnosno dvostruke preciznosti.

Pravilnim odabirom tipova podataka i uporabom modifikatora povećava se učinkovitost programa. Zbog toga se tipovi podataka i njihovi modifikatori odabiru ovisno o opsegu koji će određena varijabla poprimiti tijekom izvođenja programa.

Ako se koriste konstante tipa:

  • long int, na kraju konstante dodaje se l ili L, primjerice  6543210l ili –685451L
  • unsigned int, na kraju konstante dodaje se u ili U, primjerice 40000u ili 50000U
  • unsigned long int, na kraju konstante dodaje se ul ili UL, primjerice 2222222222ul ili 22211212122UL.

Ako je riječ o realnim konstantama tipa long double, onda one kao i cjelobrojne moraju završiti s l ili L.


5. Pretvorba tipova podataka

Programski jezik C dopušta gotovo sve vrste pretvaranja tipova podataka. Također, u izrazima dopušta kombinacije različitih tipova podataka. Krajnji rezultat izraza u kojem se nalaze različiti tipovi podataka ovisi o ugrađenim pravilima za pretvaranje tipova podataka, no može ga zadati i sam programer.

C omogućuje dvije vrste pretvorbe podatka:

  • automatsku ili implicitnu
  • zadanu ili eksplicitnu.


5.1. Automatska ili implicitna pretvorba tipova podataka

Automatska ili implicitna pretvorba je sastavni dio programskog jezika C i orijentirana je prema višem ili preciznijem  tipu podatka (obično, no ne nužno, onom koji zauzima više memorije). To možemo prikazati i ovako:

long double > double > float > long int > unsigned int > int > short/char

Postoji još kombinacija modifikatora i tipova podataka koje ovdje nismo obuhvatili. Tijekom izračunavanja izraza u kojima se nalaze različiti tipovi podataka, najprije se svi svode na isti tip prema ugrađenim pravilima za pretvaranje tipova podataka, a tek tada se provodi izračunavanje.

Pravila za automatsko pretvaranje tipova podataka:

1. Ako su svi operandi tipa int, tada je i rezultat tipa int.

2. Svi podatci char i short pretvaraju se u int.

3. Ako u izrazu postoji operand tipa double, tada se svi podatci pretvaraju u double i rezultat je tipa double.

4. Ako u izrazu postoji operand tipa long, tada se svi podatci pretvaraju u long i rezultat je tipa long.

5. Ako je bilo koji od operanada u izrazu najavljen kao unsigned, svi ostali operandi pretvaraju se u unsigned i rezultat je tipa unsigned.

 

Primjer

Najavljene su varijable:

int a;
float b;

Kojeg će tipa podatka biti rezultat množenja a * b?

Rješenje

Zbog automatske pretvorbe podataka najprije će se varijabla a pretvoriti u realan broj i nakon toga će se provesti množenje. Rezultat će biti tipa float!

 Primjer

Uporaba operatora pridruživanja također pokreće automatsko pretvaranje podataka ako su operandi s lijeve i desne strane različitog tipa. Operand na desnoj strani pretvara se u tip operanda s lijeve strane. Pritom se podatci mogu izgubiti ako se pretvorba obavlja iz višeg u niži tip podatka. Primjerice, najavljene su varijable:

int i=5;
float j=7.356;

Izrazom  j=i;  cjelobrojna vrijednost varijable i najprije će se pretvoriti u realnu (5.00), a zatim pridružiti varijabli j (j=5.00). Isto tako, u izrazu i=j; varijabli i pridružit će se cjelobrojna vrijednost varijable j dobivena odbacivanjem decimalnog dijela (i=7).


5.2. Zadana ili eksplicitna pretvorba tipova podataka

Ako je potrebno „zaobići” automatsku pretvorbu, moguće ju je zadati eksplicitno. Tada takva pretvorba ima viši prioritet, a to znači da će se obaviti bez obzira na pravila za automatsku pretvorbu. U takvim se slučajevima koristi operator eksplicitne pretvorbe, tzv. cast operator. Opći oblik izraza za eksplicitnu pretvorbu je

(tip podataka) operand;   

Zagrade su oznake cast operatora, a operand može biti varijabla, konstanta ili neki izraz.

Primjerice, ako je varijabla d tipa double, i tipa int, a f tipa float, pri izvršavanju naredbe

    i = (int)(d+1.234);

nakon računanja izraza d+1.234 koji je tipa double, rezultatu se odbacuje decimalni dio i cijeli se dio pridružuje varijabli i.

Za iste varijable, prilikom izračunavanja izraza

     f=(float)((int)d+1);

najprije se varijabli d zanemaruje decimalni dio, zbog cast operatora ispred nje (int)d, nakon toga se dobivena cjelobrojna vrijednost povećava za 1 i nakon toga pretvara u realan broj koji se pridružuje varijabli f.

Primjer

Koju će vrijednost poprimiti varijabla i nakon naredbi:

int i;
double d = 124.56;
i = d;

a)       i = 124.56
b)      i = 124
c)       i = 125
d)      zbog različitosti tipova podataka izraz je pogrešan

 

Rješenje: b), jer cjelobrojna vrijednost koja se pridružuje varijabli i dobije se odbacivanjem, a ne zaokruživanjem decimalnog dijela.


5.3. Zadaci za vježbu

Zadatak 1.  Koju će vrijednost poprimiti varijable i, x, c najavljene ovako:

    int i, c;
    double x, d;

nakon naredbi:

                    d = 10.0;
             i = (int) (d + 1.23);           
             x = (float)((int)i + 1);  
             c = (int)(x += 105.3);                
  

Rješenje:

i = (int)(10.0+1.23)=(int)(11.23)=11
x = (float)((int)11+ 1)= (float)(12)=12.00
c = (int)(x += 105.3)  prvo se mijenja x naredbom x+=105.3 što znači x=x+105.3=12.00+105.3=117.3 tek tada se izračunava c=(int)(117.3)=117


Zadatak 2. Ako su najavljene varijable a, b i c na sljedeći način:

     int a, b;
     float c;

kojeg će tipa biti izraz a + b * c?

Rješenje: float

Zadatak 3.  Ako su najavljene i inicijalizirane varijable:

     int a = 10, b = 3;
     float c = 12.5;

kojeg tipa mora biti rezultat izraza a / b * c i koji je njegov rezultat?

 Rješenje: float i iznosi 10/3*12.5 = 3*12.5 = 37.500000


Zadatak 4. Ako su najavljene i inicijalizirane varijable:

     int a = 10, b = 3;
   float c = 12.5;

kojeg će tipa biti rezultat izraza a / b * (int)c i koji je njegov rezultat?

 Rješenje:

     Rezultat je tipa int i iznosi 36.


Zadatak 5. Ako su deklarirane i inicijalizirane varijable:

     int a = 14, b = 3;

    float c = 2.5;

kojeg će tipa biti rezultati izraza

              a) (float)(a / b * (int)c)
              b) (float)a / b * (int)c
              c) (float)(a / b) * c

i koji su njihovi rezultati?

 Rješenje:

Svi su rezultati tipa float, a iznose

a) (float)(14/3*(int)2.5)= (float)(14/3*2)= (float)(4*2)=8.000000

b) (float)14/3*(int)2.5= 14.00/3*2=4.667*2=9.333333

c) (float)(14/3)*2.5=(float)(4)*2.5=4.00*2.5= 10.000000


5.4. Zadatak

Napišite program koji će omogućiti upisivanje dvaju cijelih brojeva s tipkovnice. Program treba izračunati i ispisati na zaslonu zbroj, razliku, umnožak, kvocijent, rezultat cjelobrojnog dijeljenja i ostatak cjelobrojnog dijeljenja učitanih brojeva. Svaki rezultat neka bude u novom redu, kao što je to u testnim podatcima.

Uputa:  Pri dijeljenju dvaju cijelih brojeva rezultat je cijeli broj! Za dobivanje realnog rezultata koristi se cast operator tako da se barem jedan od operanada (djeljenik ili djelitelj) pretvore u realan broj.

/*U testiranju programa ne treba provjeravati dijeljenje s nulom. Za rješavanje tog problema potrebne su naredbe koje se obrađuju poslije.*/

Testni primjeri

Ulaz:      3  7
Izlaz:    
              Trazeni rezultati su:
              3+7=10
              3–7= -4
              3*7=21
              3/7 =0 i ostatak 3 odnosno 0.43


Rješenje

#include<stdio.h>
int main()
{
     int a,b,s,r,p,cd,ocd;
     float k;
     printf("\nUpisite dva cijela broja: ");
     scanf("%d %d",&a,&b);
     s=a+b;    
     r=a-b;    
     p=a*b;    
     cd=a/b;
     ocd=a%b;
     k=(float)a/b; //uporaba cast operatora
     printf("%d+%d=%d\n%d-%d=%d\n%d*%d=%d", a,b,s,a,b,r,a,b,p);
     printf("\n%d/%d=%d i ostatak %d odnosno %.2f",a,b,cd,ocd,k);
     return 0;
}


6. Standardne matematičke funkcije

Za rješavanje različitih zadatak vrlo često trebamo izračunati korijen, kvadrat ili neku potenciju broja. To ne možemo izračunati dok ne naučimo upotrebljavati standardne matematičke funkcije u programskom jeziku C.

Standardne matematičke funkcije u C-u uglavnom su pohranjene u biblioteci funkcija math.h. To znači da je potrebno u program dodati liniju #include<math.h>. Neke od standardnih matematičkih funkcija navedene su u nastavku.


7. Video materijali

Prvi video možete naći na poveznici

Drugi video možete naći na poveznici.

Treći video možete naći na poveznici.