Programavimo C++ kalbos aplinka
Programavimo C++ kalbos aplinka
Programavimo C++ kalbos aplinka yra integruota, t. y. ją sudaro kelios funkcinės dalys, valdomos mygtukais, meniu komandomis ir klavišais. Aplinka padeda greitai rinkti C++ kalba parašytą tekstą, rasti sintaksės klaidas, tikrinti programos darbo teisingumą, vykdyti programą po vieną eilutę ar komandą, kompiliuoti programą.
Programavimo aplinką sudaro nesudėtinga rašyklė, kompiliatorius (transliatorius), programų derintuvė ir priemonės sukompiliuotai programai vykdyti. Populiariausios aplinkos yra DEV-C++ ir Code::Blocks. Galima naudoti ir kitas aplinkas, pvz.: C++ Builder arba Microsoft Visual C++ Express, tačiau jos gerokai sudėtingesnės ir skirtos vaizdiniam programavimui.
1. Pirmoji programa - šablonas
Naudojant šiuolaikines programavimo aplinkas, ekrane dažniausiai pateikiamas paprasčiausios programos pavyzdys, kurį galima sukompiliuoti ir įvykdyti. C++ programavimo kalbos aplinkoje Code:Blocks toks pavyzdys yra programa spausdinanti ekrane pasveikinimą „Labas“:
#include <iostream>
using namespace std;
int main()
{
cout << "Labas" << endl;
return 0;
}
Parašius programą pirmiausia ją reikia išsaugoti (paspausti mygtuką „Save“). Tada programą galima:
- kompiliuoti (paspaudus mygtuką su geltonu ratuku),
- kompiliuoti ir iš karto vykdyti, jei kompiliavimas sėkmingas (mygtukas su geltonu ratuku ir žaliu trikampėliu),
- vykdyti po sėkmingo kompiliavimo (mygtukas su žaliu trikampėliu).
Išnagrinėkime kiekvieną programos eilutę.
#include - nurodymas parengiamajai doroklei (preprocessor) įterpti. To ką parašo programuotojas niekada neužtenka programai vykdyti. Prieš kompiliuojant programą, patrengiamoji doroklė atlieka jai skirtus nurodymus. (šiuo atveju į programos failą įterpia algoritmus iš bibliotekos).
iostream - įvestie ir išvesties srautų valdymo algoritmų iš bibliotekos pavadinimas.
using namespace std - šis užrašas leidžia papraščiaus kreiptis į std vardų sritį. Patariama jį visada įtraukti į savo programas.
int main() - programos antraštė. Įvairiose programavimo aplinkose antraštės gali būti skirtingos. Mes naudosime tokią antraštę.
{} - tarp skliaustų pateikiami programos veiksmai. Skliaustai rašomi ir tada, kai reikia išskirti sudėtinį sakinį arba bloką.
cout - išvesties srauto pavadinimas. Tai preimonė leidžianti parodyti tekstą ar skaičiaimų rezultatus ekrane.
<< - duomenų srauto nukreipimo operatorius. Duomenys iš programos nukreipiamos į duomenų išvesties srautą, šiuo atveju išvedami į ekraną žodį „Labas“.
endl - simbolis, reikšiantis eilutės pabaigą, Jis perkelia ekrane žymeklį į naujos eilutės pradžią.
return 0; - komanda, operacinei sistemai perduodanti nulinę reikšmę, reiškiančią, kad programos veiksmai įvykdyti sėkmingai.
2. Antroji programa. Paprasti skaičiavimai
1. Kartojimo užduotis: Kas ir kaip bus spausdinama kompiuterio ekrane įvykdžius programą:
//Darbas1
#include <iostream>
using namespace std;
int main()
{
cout << "Sveiki. Šiandien antroji pamoka. " << endl;
cout << "Kursime programą. ";
cout << "Programa skaičiuos, " << endl;
cout << "kiek kainuos kambario remontas. " << endl;
cout << "Sėkmės darbe! " << endl;
return 0;
}
2. Užduotis: Žinomi kambario matmenys (metrais) – ilgis ir plotis. Abu dydžiai yra sveikieji skaičiai. Reikia apskaičiuoti, kokią pinigų sumą psuma reikės mokėti už plyteles, skirtas kambario grindims iškloti, jei plytelių vieno kvadratinio metro kaina yra m2kaina litų. Plytelių reikia pirkti 5 proc. daugiau galimiems nuostoliams padengti.
Algoritmas:
- apskaičiuojamas kambario plotas;
- apskaičiuojama pinigų suma, kurią reikės mokėti už plyteles.
Pradiniai duomenys ir rezultatai:
- Pradiniai duomenys (tai, ką jau žinome):
- kambario ilgis;
- kambario plotis;
- plytelių vieno kvadratinio metro kaina.
- Rezultatai (tai, ką skaičiuosime):
- kambario plotas;
- pinigų suma, kurią reikės mokėti už plyteles.
Programos kuriamos ne tik aritmetinių reiškinių reikšmėms apskaičiuoti. Dažnai reikia apskaičiuoti algebrinių reiškinių reikšmes, o jiems užrašyti naudojami kintamieji ir konstantos.
Priskirimo sakinys naudojamas, kai reikia apskaičiuoti kokio nors kintamojo reikšmę. Kairėje proskyrimo sakinio pusėje rašomas to kintamojo vardas, po jo - lygybės ženklas, toliau - reiškinys, kurio reikšmė suteikiama minėtam kintamajam. Priskirimo sakinio pabaigoje dedamas kabliataškis.
Sprendimas: (programos dalis, kai apaskaičiuojame kambario plotą)
//Darbas2
#include <iostream>
using namespace std;
int main()
{
int ilgis, plotis; //kambario matmenys
int plotas; //kambario grindų plotas
ilgis = 25;
plotis = 16;
plotas = ilgis * plotis;
cout << "Kmbario grindų plotas: " << plotas << endl;
return 0;
}
Ši programa atliks veiksmus tik su tai skaičiais, kurie joje įrašyti. Patobulinkime ją taip, kad ją galėtume klaviatūra įvesti norimus skaičius. Pirmiausia „prakalbinkime“ programą. Tegul ekrane parašo, kas skaičiuojama, kokiš dydžių reikia. Tai padaryti jau mokame. Kintamųjų reikšmėms įvesti naudosime įvesties srautą cin. Ši priemonė skirta klaviatūra įvedamiems duomenims perduoti programos kintamiesiems. Programa galėtų atrodyti taip:
//Darbas2
#include <iostream>
using namespace std;
int main()
{
int ilgis, plotis; //kambario matmenys
int plotas; //kambario grindų plotas
double m2kaina; // Plytelių 1 kvadratinio metro kaina
double psuma; // Pinigų suma
cout << "Įveskite kambario ilgį: "; cin >> ilgis;
cout << "Įveskite kambario plotį: "; cin >> plotis;
plotas = ilgis * plotis;
cout << "Kambario grindų plotas: " << plotas << endl;
cout << "Įveskite plytelių 1 kvadratinio metro kainą: "; cin >> m2kaina;
psuma = 1.05 * plotas * m2kaina;
cout << "Pinigų suma, kurią reikia sumokėti: " << psuma << endl;
cout << "Programa darbą baigė." << endl;
return 0;
}
Įvykdykime programą. Matome, kad, nors skaičiavimų tėra porą eilučių, programa „apaugo“ daugybe kitų labai naudingų komandų. Visos komandos svarbios, vienos - būtinos, o kitų reikia, kad vyktų dialogas sus naudotoju.
Skaičiavimuose naudojamų dydžių matų suderinamumo programa netikrina. Ji vykdoma su tokiais skaičiais, kokius jai pateikia jos naudotojas. Jei programoje paminėti dydžių matai, vadinasi, jie ypač svarbūs ir prieš skaičiuojant dydžius reikia pateikti būtent tokiais matais, kokius numatė programuotojas. Kitaip programos darbo rezultatas bus beprasmis.
3 užduotis: Laikrodis rodo x valandų ir y minučių. Parašykite programą, kuri apskaičiuotų, kiek minučių m ir kiek sekundžių s prabėgo nuo vidurnakčio. Programoje naudokite didelių sveikųjų skaičių tipą long.
Pasitikrinkite. Įvedę x = 3 ir y = 5, turėtumėte gauti: m = 185, s = 11100.
Sprendimo žodinis aprašymas:
- Programos pradiniai duomenys yra long tipo kintamieji x ir y, rezultatai – kintamieji m ir s, jų tipas taip pat long.
- Pradedami programos veiksmai.
- Užrašome išvesties srauto cout sakinį, kuriuo klausiama, kiek valandų x rodo laikrodis.
- Užrašome įvesties srauto cin sakinį, kuris perskaito ir įsimena kintamojo x reikšmę.
- Kai norime sužinoti, kiek minučių y rodo laikrodis, pakartojame 3 ir 4 žingsnius ir įsimename y reikšmę.
- Skaičiuojame, kiek minučių m prabėgo nuo vidurnakčio: m = x * 60 + y.
- Skaičiuojame, kiek sekundžių s prabėgo nuo vidurnakčio. Tai galima atlikti dviem būdais: s = m * 60 arba s = x * 3600 + y * 60.
- Užrašome išvesties srauto cout sakinius, kurie kompiuterio ekrane parodo apskaičiuotus rezultatus.
- Programos pabaiga.
4 užduotis: Šiandien Tautvydas švenčia gimtadienį. Jam sukanka a metų. Parašykite programą, kuri apskaičiuotų, kiek mėnesių men, dienų d ir valandų v Tautvydas jau gyveno šiame pasaulyje. Programoje naudokite sveikųjų skaičių tipą long. Tarkime, kad metai turi 365 dienas.
Pasitikrinkite. Įvedę a = 16, turėtumėte gauti: men = 192, d = 5840, v = 140160.
Sprendimo žodinis aprašymas:
- Programos pradinis duomuo yra long tipo kintamasis a, rezultatai – taip pat long tipo kintamieji men, d ir v.
- Pradedami programos veiksmai.
- Užrašome išvesties srauto cout sakinį, kuriuo klausiama, koks mokinio amžius a.
- Užrašome įvesties srauto cin sakinį, kuris perskaito ir įsimena kintamojo a reikšmę.
- Skaičiuojame, kiek mėnesių men mokinys jau gyvena šiame pasaulyje: men = a * 12.
- Skaičiuojame, kiek dienų d mokinys jau gyvena šiame pasaulyje: d = a * 365.
- Skaičiuojame, kiek valandų v mokinys jau gyvena šiame pasaulyje: v = d * 24.
- Užrašome išvesties srauto cout sakinius, kurie kompiuterio ekrane parodo apskaičiuotus rezultatus.
- Programos pabaiga.
3. Paprasti skaičiavimai
1 užduotis: Parduotuvėje cukraus kilogramo kaina yra ckgkaina litų (realusis skaičius). Maiše telpa k kilogramų cukraus (sveikasis skaičius). Šeima perka n maišų cukraus visiems metams. Parašykite programą, kuri apskaičiuotų, kokią pinigų sumą suma sumokės šeima už perkamą cukrų.
Pasitikrinkite: kai ckgkaina = 3.5, k = 50, n = 3, tai suma = 525.00 Lt.
2 užduotis: Vandens saugykloje yra v kubinių metrų vandens (realusis skaičius). Saugyklos vandenį vartoja n žmonių. Vienas žmogus per parą vidutiniškai sunaudoja vvkubinių metrų vandens (realusis skaičius). Parašykite programą, kuri apskaičiuotų, kelioms paroms p užteks saugykloje esančio vandens.
Pasitikrinkite: kai v = 1001, n = 50, vv = 0.1, tai p = 200.2 paros
3 užduotis: Knygos puslapio storis yra sp milimetrų (realusis skaičius). Knygoje yra n puslapių. Knygos ilgis yra ka, plotis – kp milimetrų (realieji skaičiai). Kiek kubinių milimetrų popieriaus p sunaudota knygos gamybai?
Pasitikrinkite: kai sp = 0.142, n = 120, ka = 200, kp = 150, tai p = 511200.0.
4 užduotis: Automobilis 100 km sunaudoja k litrų kuro (realusis skaičius). Į m kilometrų kelionę (realusis skaičius) išsirengė n žmonių. Kiek litų s kainuos kelionė vienam žmogui, jei vienas litras kuro kainuoja kk (realusis skaičius) litų.
Pasitikrinkite: kai k = 7.5, m = 305.5, n = 4, kk = 4.09, tai s = 23.40 Lt.
Papildomos užduotys (N.D)