Leksioni 2 – Operatorët Aritmetikë

Meqë është e zakonshme të përdorësh elemente nga namespace std, do ju tregoj dy metoda të ndryshme për t’i aksesuar direkt këto elemente. Dhe nuk do keni nevojë të shkruani prefiksinstd:: çdo herë.




Programi Game Over 2.0


Programi Game Over 2.0 jep të njëjtin rezultat si programi origjinal. Por ka një ndryshim në mënyrën se si aksesohen elementet e namespace std.
// Game Over 2.0

#include <iostream>
using namespace std;

int main()
{
cout << "Game Over!" << endl;
return 0;
}

Programi fillon në të njëjtën mënyrë. Unë përdor komentin hyrës dhe përdoriostream për outputin e tekstit. Por pas kësaj, kemi një instruksion të ri.
using namespace std;

using më jep akses direkt tek elementet e namespace std. Siç kemi thënë më përpara, namespace është si një mbiemër, dhe ky rresht kodi thotë se të gjithë elementët e namespace stdtashmë mund ti thërras vetëm me emër (pa përdorur prefiksin std::).

Mund të përdor cout dhe endl, pa asnjë prefiks. Kjo mund të mos ju duket si e gjë e madhe tani, por kur të keni programe më të mëdha me dhjetra apo më shumë referenca tek këto objekte, kjo do ju ndihmojë shumë.




Programi Game Over 3.0


Ka edhe një mënyrë tjetër për të bërë atë që bëra tek Game Over 2.0, dhe këtë do bëj tek Game Over 3.0, që paraqet të njejtin tekst si paraardhësit e tij.
// Game Over 3.0

#include <iostream>
using std::cout;
using std::endl;

int main()
{
cout << "Game Over!" << endl;
return 0;
}

Në këtë version, përdora dy deklarimeusing
using std::cout;
using std::endl;

Duke deklaruar ekzaktësisht se cilët elemente nga namespace dua të përdor në program, mund ti aksesoj ato direkt, si tek Game Over 2.0. Edhe pse kjo kërkon të shkruash më shumë se një instruksion using, avantazhi i kësaj teknike është se e tregon qartë se cilët elementë do përdorësh. Plus që nuk përfshin një grup të madh elementësh që nuk kam ndërmend t’i përdor.




Operatorët Aritmetikë – Makina Llogaritëse


Kurdo që shtoni numrin e armiqve të vrarë, apo ulni jetën e mbetur të lojtarit, është e nevojshme që programet të kryejnë disa veprime aritmetike. Ashtu si gjuhët e tjera, edhe C++ ka operatorët aritmetikë të tij.
Programi i mëtejshëm tregon një makinë të thjeshtë llogaritëse, dhe përdorimin e operatorëve aritmetikë.
// Makina Llogaritëse
// Tregon operatorët aritmetikë

#include <iostream>
using namespace std;

int main()
{
cout << "7 + 3 = " << 7 + 3 << endl;
cout << "7 - 3 = " << 7 - 3 << endl;
cout << "7 * 3 = " << 7 * 3 << endl;

cout << "7 / 3 = " << 7 / 3 << endl;
cout << "7.0 / 3.0 = " << 7.0 / 3.0 << endl;

cout << "7 % 3 = " << 7 % 3 << endl;

cout << "7 + 3 * 5 = " << 7 + 3 * 5 << endl;
cout << "(7+3) * 5 = " << (7 + 3 * 5) << endl;

return 0;
}

Unë përdor operatorin e mbledhjes (+), të zbritjes (-) dhe të shumëzimit (*). Rezultati tregohet në figurën më poshtë.

ss+(2014-09-20+at+03.46.27)Secili operator aritmetik është pjesë e një shprehjeje, diçka që kthen një vlerë të vetme. Për shembull, shprehja 7 + 3kthen 10.
cout fillimisht dërgohet stringu brenda thonjëzave (për shembull “7 + 3 = “) dhe më pas dërgohet edhe shprehja (7 + 3) që jep vlerën 10. Pra në ekran do shohim 7 + 3 = 10.




Pjesëtimi me integer dhe me numra dhjetor


Simboli i pjesëtimit është (/), pra këtë përdorim në rreshtin tjetër të kodit. Por, rezultati mund t’ju habisë. Sipas C++, 7 pjesëtim për 3 jep 2. Pse? Epo, rezultati i çdo llogaritjeje aritmetike me integer(numra të plotë, pa presje) është gjithmonë integer. Dhe meqë 7 dhe 3 janë të dy integer, edhe rezultati duhet të jetë integer. Pjesa me presje nuk shfaqet.

Për të marrë një rezultat me pjesën pas presjes, të paktën njëra nga vlerat duhet të jetë floating point (me presje). Këtë e tregoj në rreshtin tjetër me shprehjen7.0 / 3.0. Këtë rradhe rezultati është më i saktë (2.33333).

Shënim:
Mund të shikoni se edhe pse rezultati i7.0 / 3.0 përfshin një pjesë me presje, prap është i shkurtuar. (Rezultati i vërtetë do kishte tresha pa fund pas presjes). Është e rëndësishme të kuptoni se kompjuterat në përgjithësi mbajnë vetëm një numër të limituar shifrash për numrat floating point. Megjithatë, C++ ofron kategori të këtyre numrave për nevoja nga më të ndryshmet, edhe për llogaritjet intensive të lojrave 3 dimensionale.




Operatori i modulit dhe rradha e veprimeve


Tek instruksioni tjetër, unë përdor një operator që mund të jetë i panjohur për ju – operatorin e modulit (%). Ky operator kthen mbetjen e një pjesëtimi me integer. Në këtë rast 7 % 3 kthen mbetjen e pjesëtimit 7 / 3, që është 1.

Ashtu si në algjebër, veprimet aritmetike në C++ kryhen nga e majta në të djathtë. Por disa operëtorë kanë prioritet më të lartë se të tjerët, pra veprimet me to kryhen më përpara, pavarësisht posicionit. Shumëzimi, pjesëtimi dhe moduli kanë prioritet të njëjtë midis tyre, por më të lartë sesa prioriteti i mbledhjes dhe zbritjes.

Rreshti tjetër i kodit jep një shembull për këtë. Meqë shumëzimi ka prioritet më të madh se mbledhja, më parë llogaritet rezultati i shumëzimit. Prandaj shprehja 7 + 3 * 5 është e njëvlershme me 7 + 15, që kthen 22.

Nëse do që një veprim me prioritet më të ulët të kryhet më përpara, mund të përdorësh kllapat, që kanë prioritet më të madh se çdo operator aritmetik. Prandaj në rreshtin tjetër, shprehja (7 + 3) * 5 është e njëvlershme me 10 * 5, që kthen 50.

0/Post a Comment/Comments

Previous Post Next Post

Sidebar Ads

Ads1
Ads2