Sunday, May 28, 2023

Preuzmi kontrolu nad svojim C++ kodom, nauči promenjive, tipove podataka i konstante

Promenjiva – variable je lokacija u memoriji računara na kojoj čuvate određenu vrednost i iz koje možete da menjate ili preuzmete vrednost. Jednostavno memoriju računara zamislite kao niz memorijski lokacija. Memorijske lokacije su numerisane i njih nazivamo memorijske adrese. Jedna promenjiva rezerviše jednu ili više memorijski lokacija u kojoj će se čuvati neka vrednost. Sve vaše promenjive se kreiraju u RAM - Random Access Memorymemoriji. Kad vi promenjivoj zadate ime promenjive, vi ne morate znati stvarnu memorijsku adresu promenjive. Vi promenjivoj pristupate preko njenog imena i njena memorijska adresa ostaje ista tokom trajanja promenjive. Ali ukoliko bi ste pokrenuli vaš program i ugasili ga, zatim ga ponovo pokrenuli; vaša promenjiva bi imala drugu memorijsku adresu. Promenjive koristimo da uzmemo podatke od korisnika ili sami možemo definisati njihove vrednosti u kodu. Da bi ste napravili i koristili neku promenjivu vi je prvo morate deklarisati. Iako računar tretira sve promenjive i čuva ih kao brojeve, programeri promenjive dele prema potrebama u 3 osnovna formata.



 ( C++ Datatypes )

Promenjive delimo pre svega na formate, celi broj – Integerbroj sa pokretnim zarezom – Floating Point i tekstualni string – Text StringPored osnovnih formata promenjivih; postoje i mnoštvo tipova promenjivih koji su u principu izvedeni od već navedenih formata. Svaki format promenjivih ima više tipova promenjivi. Vi čak možete definisati i praviti svoje vlastite tipove promenjivih, iako za tim nećete imati potrebe. Najvažnije je da shvatite da svaka vrednost ima prvo svoj format, zatim i svoj tip promenjive. Na primer, decimalne brojeve ćete stavljati u promenjivu formata Floating Point, u tip podataka Float ili Double dok ćete tekst stavljati u format promenjivih String. Međutim vaš računar će prevesti svaku vašu promenjivu i čuvati kao binarni broj bez obzira koji ćete format i tip podataka koristiti. Osnovni tipovi u C++ programskom jeziku su:

char                                                     1 bajt            256 znakova

unsigned short int                              2 bajta          od 0 do 65 535

short int                                              2 bajta          od – 32 768 do 32 767

unsigned int (16 bitova)                    2 bajta          od 0 do 65 535

unsigned int (32 bitova)                    4 bajta          od 0 do 4 294 967 295

int (16 bitova)                                     2 bajta         od – 32 768 do 32 767

int (32 bita)                                         4 bajta         od – 2 147 483 648 do 2 147 647

unsigned long int                               4 bajta          od 0 do 4 294 967 295

long int                                               4 bajta          od – 2 147 483 648 do 2 147 483 647

float                                                    4 bajta          od 1,2e-38 do 3,4e38

double                                                8 bajtova      od  2,2e-308 do 1,8e308

Imajte u vidu da ove vrednosti na vašem računaru mogu da variraju u zavisnosti od vašeg računara i kompajlera. Da bi ste napravili i koristili promenjivu prvo je potrebno da je deklarišete.

Kako da deklarišem neku promenjivu?

Kad kažemo da deklarišemo neku promenjivu to znači da rezervišemo memoriju za vrednost koju hoćemo da dodelimo promenjivoj. Promenjiva se deklariše navodeći prvo tip promenjive, zatim ime promenjive. Npr.

int brojRadnihDana;

Vi možete dodeliti i vrednost vašoj promenjivoj prilikom deklarisanja iste koristeći operator dodeljivanja „
 = “:

int brojRadnihDana = 26;

Vi možete kreirati i više promenjivih u istom redu ukoliko ih odvojite zarezom:

int brojRadnihDana, brojRadnihSati; 

Prilikom naziva vaših promenjivi, obratite pažnju da je 
C++ case-sensitive programski jezik. To znači  da C++ programski jezik razlikuje mala i velika slova. Jednostavno brojradnihdana i brojRadnihDana nisu promenjive.Drugo ne možete da nazivate imena vaših promenjivi tako što će početi brojem; 2brojRadnihDana. Naziv promenjivih ne može sadržavati praznine ili specijalne simbole i ne možete koristiti ključne reči C++ jezika, poput int, do, case, while itd.

Kako da kreiram svoj tip podataka?

Vi u suštini u 
C++ programskom jeziku ne kreirate svoj tip podataka, već više pseudonimom na tip podatka, strukturu, klasu, objekat itd. Npr. ako često deklarišete vašu promenjivu unsigned long int; vi ćete sa ključnom reči typedef definisati vašu promenjivu koja će vam skratiti kucanje. Npr.

typedef unsigned long int MYLNG;

onda možete deklarisati vašu promenjivu umesto 
unsigned long int ovako:

MYLNG brojRadnihSati;

Kad ćete koristiti tip podataka
 short a kad int ili neki drugi tip podataka zavisi od veličine broja koja promenjiva treba da čuva. Npr. Ukoliko obračunavate radne dane u mesecu i sigurni ste da broj dana nikad neće prelaziti 31 dan, onda treba da koristite unsigned char ( od 0 do 255 ) pre nego int ( od – 2 147 483 648 do 2 147 647 ).

Šta su konstante?

Konstante su vam isto što i promenjive samo što u njima držite vrednosti koje nećete menjati. Konstante ne možete menjati, jedino ako prepravljate program. Tad su korisne jer onda prepravljate podatak na samo jednom mestu, inače bi ste morali izvrnuti čitav kod programa i prepravljati svugde gde se pojavljuje vrednost koju hoćete da promenite. Konstantu možete definisati na stari način i bez tipa podatka:

#define timA 24;

Međutim mnogo bolje je da konstante definišete sa ključnom rečju const:

const unsigned char timA = 24;

Postoje dve vrste konstanti. 
Dosledne i simboličke. Dosledne su vam kad ih definišete u kodu jer znate njihovu vrednost:

const double PI = 3.14159265359;

Simboličke nisu poznate sve do inicijalizacije:

const int radnici = radniciPoKomaniji * 4;

Simbolične konstante nisu praksa, kad imate potrebu za njima bolje koristiti promenjivu.

Kako ja da vidim kolike su maksimalne i minimalne vrednosti promenjivi u mom računaru?

Najbolje da napravite mali programčić i vidite sami. Kreirajte direktorijum
datatype i pokrenite Visual Studio Code ili IDE - integranisno razvojno okruženje koje vi koristite za programiranje C++ programa, zatim ukucajte kod:

#include <iostream>

#include <limits>

#include <climits>

using namespace std;

 

int main()

{

    cout << endl << "                   DATA TYPES" << endl;

    cout << "           IN C++ PROGRAMMING LANGUAGE" << endl << endl;

 

    // Character data types

    char h = 'a';

    wchar_t i = L'b';

    char16_t j = u'c';

    char32_t k = U'd';

 

    cout << "CHARACTER DATA TYPES:" << endl << endl;

 

    // Boolean data type

    bool l = true;

    bool m = false;

 

    cout << "BOOLEAN DATA TYPE:" << endl << endl;

    cout << "true: " << l << endl;

    cout << "false: " << k << endl << endl;

 

    // String data type

    string n = "This is string!";

    cout << "STRING DATA TYPE:" << endl << endl;

    cout << n << endl << endl;

 

    // Numbers data type

    cout << "INTEGER DATA TYPES:" << endl << endl;

 

    cout << "Minimum unsigned short type is " << (int)numeric_limits<unsigned short>::min() << endl;

    cout << "Maximum unsigned short type is " << (int)numeric_limits<unsigned short>::max() << endl << endl;

 

    cout << "Minimum short type is " << (int)numeric_limits<short>::min() << endl;

    cout << "Maximum short type is " << (int)numeric_limits<short>::max() << endl << endl;

 

    cout << "Minimum unsigned int type is " << (int)numeric_limits<unsigned int>::min() << endl;

    cout << "Maximum unsigned int type is " << UINT_MAX << endl << endl;

 

    cout << "Minimum int type is " << (int)numeric_limits<int>::min() << endl;

    cout << "Maximum int type is " << (int)numeric_limits<int>::max() << endl << endl;

   

    cout << "Minimum unsigned long type is " << (long)numeric_limits<unsigned long int>::min() << endl;

    cout << "Maximum unsigned int type is " << ULONG_MAX << endl << endl;

 

    cout << "Minimum long type is " << (long)numeric_limits<long int>::min() << endl;

    cout << "Maximum long type is " << (long)numeric_limits<long int>::max() << endl << endl;

 

    cout << "REAL FLOATING DATA TYPES:" << endl << endl;

 

    cout << "Minimum float type is " << (double)numeric_limits<float>::min() << endl;

    cout << "Maximum float type is " << (double)numeric_limits<float>::max() << endl << endl;

 

    cout << "Minimum double type is " << (double)numeric_limits<double>::min() << endl;

    cout << "Maximum double type is " << (double)numeric_limits<double>::max() << endl << endl;

 

    cout << "Minimum long double type is " << (long double)numeric_limits<long double>::min() << endl;

    cout << "Maximum long double type is " << (long double)numeric_limits<long double>::max() << endl << endl;

 

    // system("PAUSE");    

    cin.get();

    return 0;

 

}


Kad pokrenete ovaj kod dobićete iste rezultate:


            DATA TYPES

           IN C++ PROGRAMMING LANGUAGE

 

CHARACTER DATA TYPES:

 

BOOLEAN DATA TYPE:

 

true: 1

false: 100

 

STRING DATA TYPE:

 

This is string!

 

INTEGER DATA TYPES:

 

Minimum unsigned short type is 0

Maximum unsigned short type is 65535

 

Minimum short type is -32768

Maximum short type is 32767

 

Minimum unsigned int type is 0

Maximum unsigned int type is 4294967295

 

Minimum int type is -2147483648

Maximum int type is 2147483647

 

Minimum unsigned long type is 0

Maximum unsigned int type is 4294967295

 

Minimum long type is -2147483648

Maximum long type is 2147483647

 

REAL FLOATING DATA TYPES:

 

Minimum float type is 1.17549e-38

Maximum float type is 3.40282e+38

 

Minimum double type is 2.22507e-308

Maximum double type is 1.79769e+308

 

Minimum long double type is 3.3621e-4932

Maximum long double type is 1.18973e+4932

 

Press any key to continue . . .



Kako to sve izgleda možete pogledati i na video-u:


( C++ Tutorial - 2. DataTypes )

 

 

 
 

 

 

No comments:

Post a Comment