C++ segédanyag (Szekvenciák)
- VII. osztály -
A szekvenciák a legegyszerűbb szerkezetű algoritmusok, melyekben sem
elágazások, sem ciklusok nem szerepelnek.
A szekvenciák olyan utasításokat tartalmaznak
mint a beolvasás, a kiíratás, értékadás változóknak, és elemi számítások elvégzése.
A szekvenciákkal kapcsolatos feladatok kódszáma "s" betűvel kezdődik.
Változók deklarálása
A C++ nyelvben egy programban csak azután használhatunk egy változót, ha azt deklaráltuk. A program végrehajtása közben a deklarálás következtében foglalódik le a memóriában egy kis terület, ahol a változó értéke lesz tárolva.
Előbb a változó típusát, utána pedig a változó nevét kell írni:
int nDarab;
float nAr;
string sNev;
bool lHiba;
Tudnivalók az adattípusokról:
- az nDarab változó típusa int, ezért ez csak egész számértéket tárolhat (maximum 2147483647-et, ami 2 milliárd körüli érték);
- az nAr változó típusa float, ezért ez tizedes számértéket is tárolhat (max. 6-7 számjegynyit, amiben benne van az egész rész is és a tizedes rész is -
ha ez nem elegendő, akkor float helyett használjuk a double típust, ami lehetőséget ad 15-16 számjegy pontosságú tárolásra);
- az sNev változó típusa string, ezért ez tetszőleges karaktersort tárolhat;
- az lHiba változó típusa bool, ami logikai értéket (true / false) tárolhat.
Értékadás változóknak
Előbb a változó nevét írjuk, azután az egyenlőségjelet, és végül az értéket:
nDarab = 10;
nAr = 2.50;
sNev = "John";
lHiba = false;
Az első utasítás következtében a 10 számérték bekerül az nDarab változóba.
A numerikus értékeket (számokat) tilos idézőjelek közé tenni, a szöveges konstansokat (sztringeket) pedig kötelezően idézőjelek közé kell írni.
A tizedes számok esetén a tizedesjel csak pont (.) lehet, vessző (,) nem.
Kifejezések végeredményét is át lehet adni a változóknak, például:
int n1, n2, n3;
n1 = 10;
n2 = 3 * 4 + 5;
n3 = n2 - n1;
A fenti utasítások hatására n1-be 10, n2-be 17 és n3-ba 7 kerül.
Az n változó értékének 1-gyel való növelésére két lehetőség is van:
n = n + 1;
n++;
Az n változó értékének 1-gyel való csökkentésére szolgáló lehetőségek:
n = n - 1;
n--;
Kiíratás
Egy szöveg és egy változó értékének kiíratása:
cout << "Szép idő van.\n";
int n = 365;
cout << n;
Szép idő van.
365
Kiíratáskor a sortörés az "\n" (new line) segítségével valósul meg:
cout << "Első sor\nMásodik sor";
Első sor
Második sor
Szöveg és változóérték kombinált kiíratása:
float nAr = 2.50;
cout << "A termék ára " << nAr << " lej.";
A termék ára 2.5 lej.
Változók értékének kiíratása új sorokban:
int n1 = 100, n2 = 200;
cout << n1 << "\n" << n2;
100
200
Beolvasás
Amikor a programon keresztül egy értéket bekérünk a felhasználótól, ezt a műveletet beolvasásnak nevezzük. A felhasználó a konzolon gépelheti be az értéket, és beolvasott érték egy változóban kerül tárolásra.
Beolvasás előtt MINDIG írassunk ki egy kísérő szöveget, amiből a felhasználó megérti, hogy éppen milyen érték beolvasását várjuk tőle! Példa:
int nEv;
cout << "Kérem a születési évedet: ";
cin >> nEv;
A fenti parancs hatására a felhasználónak megjelenik:
Kérem a születési évedet:
Ezt követően a felhasználó begépelhet egy évszámot, és miután Entert üt, ez a számérték bekerül az nEv változóba.
Kommentárok
A kommentárok olyan szövegek a programban, melyek a program futtatásakor nem vevődnek figyelembe. A kommentárok elsősorban arra szolgálnak, hogy magyarázatokat fűzzünk a program egyes részeihez.
Ha a program tetszőleges sorába //-t írunk, akkor a // után írt szövegből (a sor végéig) kommentár lesz:
// Ez egy egysoros kommentár.
Ha több soros kommentárt szeretnénk létrehozni, ezt /* és */ közé kell írni:
/* A kommentár első sora
A kommentár második sora */
Figyelmeztetés: mindig, amikor egy kitűzött feladat megoldását beküldjük, a program elején kommentárban szerepelnie kell a feladat kódszámának és a nevünknek! Például ha a feladat kódszáma S151 és a saját nevünk Kovács István, akkor ezt így kell beleírnunk a programba:
// S151
// Kovács István
Kifejezések alkotása
Összeadás:
n-nél 1-gyel nagyobb érték | n + 1 |
n-nél 2-vel nagyobb érték | n + 2 |
n1 és n2 összege | n1 + n2 |
Kivonás:
n-nél 1-gyel kisebb érték | n - 1 |
n-nél 3-mal kisebb érték | n - 3 |
n1 és n2 különbsége | n1 - n2 |
Szorzás:
n kétszerese | 2 * n |
n háromszorosa | 3 * n |
n százszorosa | 100 * n |
n másfélszerese | 1.5 * n |
n1 és n2 szorzata | n1 * n2 |
Hatványozás:
n négyzete | n * n |
n köbe | n * n * n |
Osztás:
n fele | n / 2 |
n harmada | n / 3 |
n negyede | n / 4 |
n tizede | n / 10 |
n századrésze | n / 100 |
n1 osztva n2-vel | n1 / n2 |
Törtek és százalékok:
n kétharmada | n * 2 / 3 |
n háromnegyede | n * 3 / 4 |
n 5 százaléka | n * 5 / 100 |
n 95 százaléka | n * 95 / 100 |
Osztási maradék:
n 2-vel való osztási maradéka | n % 2 |
n 3-mal való osztási maradéka | n % 3 |
n 10-zel való osztási maradéka | n % 10 |
Egyéb:
Tizedes számokkal való munka
Amikor a matematikai számításainkban csak egész számokkal dolgozunk, használjuk az int típust, mert az ilyen típusú változók kevesebb helyet foglalnak a memóriában, mint a float típusúak, és a program is gyorsabban elvégzi velük a számításokat, mint a float típusúakkal.
Csak olyankor használjunk float típusú változót, amikor tizedes számértéket kell tárolnunk a változóban.
Néhány tudnivaló a tizedes számokkal kapcsolatban:
1. Ha egy int típusú változóba tizedes számértéket teszünk, csak a szám egész része kerül tárolásra, és a tizedes rész elvész:
int nAr = 32.95;
cout << "A szám: " << nAr;
A szám: 32
Megoldás: int típus helyett ilyenkor használjunk float típust:
float nAr = 32.95;
cout << "A szám: " << nAr;
A szám: 32.95
2. Ha egy osztást int típusú változókkal vagy értékekkel végzünk, akkor a végeredménynek csak az egész része marad meg:
int n = 2;
cout << "Eredmény: " << n / 3;
Eredmény: 0
Egy lehetséges megoldás az úgynevezett 'type casting': az osztás előtt az int típusú n változó értékének (25) float típusú változatát (25.0) használjuk:
int n = 2;
cout << "Eredmény: " << n / 3;
Eredmény: 0.666667