Mala i besplatna škola programskog jezika C++ (Drugi dio)

Mala škola programiranja C++ - Naslovna 2

Ako ste čitali prethodni članak (https://www.bajtbox.com/mala-i-besplatna-skola-programskog-jezika-c-prvi-dio/), tj. prvi dio našeg serijala, primijetili ste osnovni model računala, Von Neummann model računala. Spominju se pojmovi kao što su ulazne i izlazne jedinice, te memorija računala. Te ulazne jedinice (naši unosi) spremaju se u memoriju, te nakon obrade imamo neke rezultate, to jest izlazne jedinice. Iste dijelimo u nekoliko kategorija, ili tipova podataka, a koristimo ih u našem programu u obliku varijabli. To će biti tema ovog dijela serijala.

Kroz formalno obrazovanje matematika je dio nastavnog plana i programa. Kroz osnovnu školu učimo razne skupove brojeva i brojevne sustave. Čovjek razmišlja i radi u dekadskom brojevnom sustavu, gdje imamo brojeve od 0 do 9 i tako računamo. Digitalna računala imaju 2 stanja; 0 i 1. Njihov sustav se naziva binarni (dva broja, odnosno bi), ali u interakciji čovjek – računar imamo potpunu slobodu korištenja dekadskog brojevnog sustava. Svi podaci se spremaju u memoriji kao niz vrijednosti 0 i 1 koji uz određene logičke operacije čine podatak. Tako na primjer broj 10 (deset) u memoriji bi bio niz pobuđenih memorijskih elemenata u binarnom zapisu 1010. Logiku binarnog brojčanog sustava, te konverziju između dekadskog i binarnog sustava možete pronaći na https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10 .

U programskom jeziku C++ imamo više tipova za različite skupove brojeva:

  • int – označava skup cijelih brojeva Z, zajedno sa standardnim operacijama
  • char – skup C, označava skup svih ASCII znakova

(https://en.cppreference.com/w/cpp/language/ascii)

  • float, double – označava skup realnih brojeva R, zajedno sa standardnim operacijama
  • bool – skup B, obuhvaća dvije moguće vrijednosti; true ili false
Tip podatkaOpseg vrijednostiPrimjer vrijednosti
int– 2.147.483.648 do 2.147.483.6471, 2, 3
char0 do 255A, b, Z
float1,2E38 do 3,4E381,122
double2,2E308 do 1,8E3082,3467678
bool0-10 ili 1, true ili false


Tu dolazimo do naših ulaza i izlaza iz programa, to jest, varijabli. Jednostavni objekti koji pamte vrijednost ulaza, obrade i izlaza u memoriji se nazivaju varijable. U programskom jeziku C++ bitno je, kod kreiranja varijable, dati instrukciju o kojem tipu podatka se radi. Takve jezike nazivamo „strongly-typed“. U radu sa C++ uvijek je važno navesti tip podataka, bar osnovni. Od toga nam ovise operacije koje možemo vršiti nad podatkom, odnosno u konačnici što sve možemo napraviti sa njim.

Ako želimo deklarirati varijablu u našem programu moramo poštovati sljedeću strukturu:

tip_podatka identifikator;

Na mjesto „tip_podatka“ unosimo željeni tip podataka, a na mjesto „identifikator“ unosimo željeni naziv varijable. Ukoliko želimo odmah dodijeliti vrijednost toj varijabli, to možemo uraditi inicijalizacijom iste na sljedeći način:

tip_podatka identifikator = vrijednost;

Unesena vrijednost mora biti sukladna tipu podatka, inače nam program neće raditi. Ispod ćemo navesti jedan primjer programa sa deklariranom i inicijaliziranom varijablom, koja je cijeli broj. Svrha primjera je da pokaže jedan potpuno ispravan program čija jedina funkcija je inicijalizacija vrijednosti.

void main()
{
int a = 3;
}

Sada se vjerojatno pitate, pa dobro koji je smisao ovog programa, kako da uradim nešto s podacima? Kako da korisnik u skladu sa svojim željama unosi vrijednosti koje će program obraditi i dati rezultat?

Za pisanje takvog programa iskoristiti ćemo postojeću C++ biblioteku „iostream“. Ista nam omogućuje upis sadržaja sa tipkovnice, te ispis na zaslon računala. Ispod se nalazi program sa objašnjenjima u komentaru.

#include<iostream> //ukljucujemo biblioteku za unos i ispis sadržaja
using namespace std;
void main()
{
	float cijenaEUR; // deklariramo varijablu
	cout << "Unesite cijenu u EUR : ";// ispisujemo tekst na ekranu – uputa za klijenta
	cin >> cijenaEUR; /*otvaramo klijentu opciju za unos, nakon unosa na ekran vrijednost se sprema u varijablu */
	cout << "Cijena u KM iznosi : " << cijenaEUR * 1.95 <<endl;  /* ispisujemo cijenu konvertiranu u drugu valutu */
}

Čestitamo! Napisali ste prvi program koji ima neku funkciju. Unesenu vrijednost u valuti euro pretvara u konvertibilne marke. Ovdje imamo sreću što je tečaj uvijek fiksan između ove dvije valute, te možemo „hardkodirati“ tečaj od 1,95.

Drugi način da spremimo u program neku vrijednost koja je uvijek konstanta i ne može se kasnije kroz program mijenjati je uvođenje ključne riječi const.

Sada ćemo opet napisati isti program korištenjem konstante varijable.

#include<iostream> //ukljucujemo biblioteku za unos i ispis sadržaja
using namespace std;
void main()
{
	float cijenaEUR; // deklariramo varijablu
	const float tecaj = 1.95; //deklariramo konstantu – nepromjenjivu varijablu
	cout << "Unesite cijenu u EUR : ";// ispisujemo tekst na ekranu – uputa za klijenta
	cin >> cijenaEUR; /*otvaramo klijentu opciju za unos, nakon unosa na ekran vrijednost se sprema u varijablu */
	cout << "Cijena u KM iznosi : " << cijenaEUR * tecaj<<endl;  /* ispisujemo cijenu konvertiranu u drugu valutu */
} 

Ovo je sve za ovu lekciju. Naučili ste što su varijable i koje su mogući tipovi podataka. Čak smo i napravili jedan koristan program. Za sva pitanja koja imate možete pisati u našu redakciju na info@bajtbox.com. Osim nas, Internet, Google i ChatGPT su vaši prijatelji u učenju programiranja. Do idućeg čitanja.

Davor Škobić

Svi korisnici koji žele koristiti ili prenositi sadržaj s Bajtbox portala moraju se pridržavati sljedećih pravila: Citiranje Izvora: Obavezno je jasno i precizno navesti izvor informacija, uključujući naziv autora (ako dostupno), naslov članka ili teksta te datum objave. Poveznica na Originalni Tekst: Svaka upotreba sadržaja mora uključivati aktivnu poveznicu (link) koja vodi na izvorni tekst na Bajtbox portalu. Pravna Odgovornost: Kršenje ovih pravila može imati pravne posljedice sukladno zakonima o autorskim pravima.

Pretplatite se
Obavijesti o
guest

0 Comments
Inline Feedbacks
Pogledaj sve komentare
0
Pogledaj komentare ili komentirajx