Slijedna struktura

Site: CARNET - Arhiva 2021 Loomen
Course: Algoritmi i programiranje 1. razred
Book: Slijedna struktura
Printed by: Invitado
Date: Tuesday, 1 July 2025, 9:50 PM

Description

--

1. Tipovi podataka

Da bismo na bilo koji način obrađivali podatke u programskom kodu ili dijagramom tijeka moram im odrediti tip, kako bi računalo znalo kako s njima postupati. Računalu je važno s kakvim podacima radi. 

Razlikujemo:

  1. Cjelobrojne tipove podataka (int)
  2. Realne tipove podataka (obične (float) i dvostruke preciznosti (double))
  3. Znakovne tipove podataka (char i string)
  4. Logičke tipove podataka (bool)
  5. Korisnički definirane tipove (strukture (struct) i klase (class)))

tipovi podataka C++

Podaci u programima mogu biti:
  1. Konstante  - vrijednosti im se ne mijenja (npr. g=9.81 m/s2 ili π = 3.14)
  2. Varijable – promjenjive se (često ih unosi korisnik tijekom izvođenja programa ili su među rezultat)

Identifikatori su imena za varijable, funkcije, razrede... Možemo ih zadavati proizvoljno poštujući slijedeća pravila:

  1. Može sadržavati kombinaciju engleskih slova A-Z ili a-z, brojeva 0-9 i znaka za podcrtavanje _
  2. Prvi znak mora biti slovo ili _
  3. Ne smije se koristiti razmak pri imenovanju (možemo koristiti _ između riječi (ime_varijable) ili camel case (imeVarijable))
  4. Ne smiju biti jednaki ključnim riječima (naredbama) ili alternativnom oznakama operatora
C++ razlikuje velika i mala slova (case sensitive).
Treba izbjegavati dugačka imena za varijable i funkcije pogotovo za one koje se često ponavljaju (bitna su prva 32 znaka).

2. Aritmetički operatori

Da bismo s brojčanim podacima radili bilo kakve aritmetičke operacije potrebno je poznavati aritmetičke operatore:

Aritmetički operatori

3. Slijedna struktura - aritmetičke operacije

1. primjer: Izračunati opseg i površinu pravokutnika na temelju podataka o duljini stranica u mm koje unese korisnik. Ispisati rješenje u obliku pseudojezika, dijagrama tijeka i programskog rješenja u C++-u.

pravokutnik


2. primjer: Izračunati opseg i površinu kruga na temelju unosa duljine radijusa u mm. Ispisati rješenje u obliku pseudojezika, dijagrama tijeka i programskog rješenja u C++-u.

Krug slijedna

3. primjer: Izračun brzine gibanja na temelju unosa podataka o putu u km i vremenu u satima koje unosi korisnik. Ispisati rješenje u obliku pseudojezika, dijagrama tijeka i programskog rješenja u C++-u.

4. primjer:  Ivan ima rođendan. Ana, Marko i Petar su sakupili svatko po x kuna, poklon košta cijena kuna, koliko novca je preostalo. Korisnik unosi x u kn i cijena u kn. Ispisati rješenje u obliku pseudojezika, dijagrama tijeka i programskog rješenja u C++-u.


4. Sekvencijalne naredbe - matematičke funkcije

Matematičke funkcije nalaze pohranjene se u biblioteci cmath programskog jezika C++, a da 
Na navedenom linku možemo naći koje se sve to funkcije nalaze u pojedinoj biblioteci:

http://www.cplusplus.com/reference/cmath/


Neke od funkcija nam omogućuju pronalaženje manjeg i većeg od dva broja:
 min(a,b) i max(a,b)
Npr.  
min(23,-1);
vratiti će -1, a: 
max(23,-1);

vratiti će 23.
Dok za decimalne brojeve imamo funkcije:
fmin(x,y) i fmax(x,y)
Za potenciranje koristimo funkciju pow:
pow(b,n);
gdje b predstavlja bazu, a n potenciju. 
Npr. 
pow(5,3); 
kao rezultat će dati 125 jer je 53=5*5*5=125.


Za drugi korijen koristimo funkciju sqrt:
sqrt(a);
gdje sqrt predstavlja  , a a broj koji korjenujemo .
Npr. 
sqrt(25);
kao rezultat će dati 5 jer je drugi korijen od 25=5.


Povremeno imamo potrebu zaokružiti rezultat. Za to su nam na raspolaganju funkcije:
  1. round() - zaokružuje na najbliži cijeli broj
  2. floor() - zaokružuje na prvi manji cijeli broj
  3. ceil() zaokružuje na prvi veći cijeli broj

Za generiranje slučajnog broja možemo koristiti funkciju rand(), ovdje nam osim same funkcije trebaju i dodatne biblioteke:


Programiranjem možemo rješavati mnoge probleme iz stvarnog života.

1. primjer: U matematici postoji funkcija za izračun udaljenosti dvije točke u ravnini:


Možemo to pokušati pretvoriti u programski kod. Za koordinatni sustav u ravnini to je jednostavan problem.


2. primjer:  Potrebno je izračunati površinu trokuta zadanog sa tri točke. Koordinate točaka unosi korisnik.




5. Sekvencijalne naredbe - trigonometrijske funkcije

Iz matematike nam je poznata trigonometrija šiljastog trokuta:



U biblioteci cmath nalaze se i trigonometrijske funkcije, npr. : sin(x) asin(x), cos(x), acos(x), te tan(x) i atan(x)



6. Primjeri trigonometrijskih funkcija

1. primjer: Na temelju unosa duljina stranica izračunati kutove koje te stranice čine međusobno.  



ulaz (a,b,c)

Alfa=asin(a/c)*180/3.14

Beta=asin(b/c)*10/3.14

Gama=180-Alfa-Beta

izlaz (Alfa, Beta, Gama)


Saznaj više na: https://www.geogebra.org/m/jqzuwkyt#material/mkgfj2xx

2. primjer: Izračunati sinus i kosinus kuta koji korisnik unese u stupnjevima.




ulaz (kutSt)

kutRad=kutSt*180/3.14

sinusKuta=sin(kutRad)

kosinusKuta=cos(kutRad)

izlaz (sinusKuta, kosinusKuta)