C++ forráskód készítése PLanG programokból
Az alábbi táblázat a PLanG nyelvben használható elemek C++ nyelvre való átírását mutatja be. A bal oldalon egy-egy programelem, a jobb oldalon a C++ megfelelője van. Ahol a C++ utasítás használatához szükséges egy fejlécfájl, ott az átírt alak melletti megjegyzés tartalmazza a fejlécfájl nevét.
A program váza | |
---|---|
A főprogram | |
PROGRAM Változók Utasítások PROGRAM-VÉGE | Fejlécek using namespace std; int main() { Változók Utasítások return 0; } |
Változódeklarációk | |
VÁLTOZÓK: i: EGÉSZ, v: VALÓS, c: KARAKTER, s: SZÖVEG, l: LOGIKAI bf: BEFÁJL, kf: KIFÁJL, tomb: Típus[Méret] | int i=0; double v=0; char c=' '; string s; // <string> bool l; ifstream bf; // <fstream> ofstream kf; // <fstream> Típus tomb[Méret]; |
Fejlécek | |
Ha szükséges egy fejléc: | #include <fejléc> |
Vezérlő szerkezetek | |
Elágazás | |
HA FeltKif AKKOR Utasítások HA_VÉGE | if (FeltKif) { Utasítások } |
HA FeltKif AKKOR Utasítások-Akkor KÜLÖNBEN Utasítások-Különben HA_VÉGE | if (FeltKif) { Utasítások-Akkor } else { Utasítások-Különben } |
Elöltesztelő cilus | |
CIKLUS AMÍG FeltKif Utasítások CIKLUS_VÉGE | while (FeltKif) { Utasítások } |
Hátultesztelő cilus | |
CIKLUS Utasítások AMÍG FeltKif | do { Utasítások } while (FeltKif); |
Általános kifejezések | |
Értékadás | |
Val := Kifejezés | Val = Kifejezés; |
Beolvasás | |
BE: Val1, Val2 BE bf: Val1, Val2 BE: SzovValt BE bf: SzovValt | cin >> Val1 >> Val2; // <iostream> bf >> Val1 >> Val2; getline(cin, SzovValt); // <iostream> getline(bf, SzovValt); |
Kiírás | |
KI: Kif1, Kif2 KI: SV KI kf: Kif1, Kif2 | cout << Kif1 << Kif2; // <iostream> cout << endl; // <iostream> kf << Kif1 << Kif2; |
Összehasonlító műveletek | |
Kif1 = Kif2 Kif1 /= Kif2 Kif1 > Kif2 Kif1 <= Kif2 | Kif1 == Kif2 Kif1 != Kif2 Kif1 > Kif2 Kif1 <= Kif2 |
Logikai kifejezések | |
Logikai értékek | |
IGAZ HAMIS | true false |
Logikai műveletek | |
NEM Kif Kif1 ÉS Kif2 Kif1 VAGY Kif2 | ! Kif Kif1 && Kif2 Kif1 || Kif2 |
Egész kifejezések | |
Egész értékek | |
0 15 -7 | 0 15 -7 |
Egész műveletek | |
- Kif |Kif| Kif1 + Kif2 Kif1 - Kif2 Kif1 * Kif2 Kif1 DIV Kif2 Kif1 MOD Kif2 KEREK(Kif1) | - Kif abs(Kif) // <cstdlib> Kif1 + Kif2 Kif1 - Kif2 Kif1 * Kif2 Kif1 / Kif2 Kif1 % Kif2 round(Kif1) // <cmath> |
Valós kifejezések | |
Valós értékek | |
3.141 -6.2 7.0 | 3.141 -6.2 7.0 |
Valós műveletek | |
- Kif |Kif| Kif1 + Kif2 Kif1 - Kif2 Kif1 * Kif2 Kif1 / Kif2 Kif1 ^ Kif2 Kif ^ 0.5 SIN Kif | - Kif abs(Kif) // <cmath> Kif1 + Kif2 Kif1 - Kif2 Kif1 * Kif2 Kif1 / Kif2 pow(Kif1, Kif2) // <cmath> sqrt(Kif1) // <cmath> sin(Kif) // <cmath> |
Karakter kifejezések | |
Karakter értékek | |
'a' ' ' SV | 'a' ' ' '\n' |
Karakter műveletek | |
KIS Kif NAGY Kif BETŰ Kif SZÁM Kif | tolower(Kif) // <cctype> toupper(Kif) // <cctype> isalpha(Kif) // <cctype> isdigit(Kif) // <cctype> |
Szöveges kifejezések | |
Szöveg értékek | |
"alma" "" | "alma" "" |
Szöveg műveletek | |
Szov[Index] Szov1 + Szov2 |Szov| Szov[Kezd : Veg] Szov1 @ Szov2 Szov @ Kar | Szov[Index] Szov1 + Szov2 Szov.length() Szov.substr(Kezd, Veg-Kezd) Szov1.find(Szov2) Szov.find(Kar) |
Fájl típusok műveletei | |
Bemeneti műveletek | |
MEGNYIT bf: Szov LEZÁR bf VÉGE bf | bf.open(Szov); bf.close(); !bf.good() |
Kimeneti műveletek | |
MEGNYIT kf: Szov LEZÁR kf | kf.open(Szov); kf.close(); |