Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       

Iki šiol sprendėme paprastus uždavinius, kur užteko atlikti keturis pačius paprasčiausius aritmetinius veiksmus: sudėti, atimti, dauginti, dalinti. Kaip išspręstume uždavinį, kai skaičiuojant tektų ištraukti kvadratinę šaknį, apskaičiuoti reiškinio modulį, pakelti skaičių kvadratu? Problemos sprendimo būdas – reikia naudoti matematines C++ funkcijas.

Sudėtingesnių aritmetinių reiškinių reikšmių skaičiavimo taisyklės:

  • C++ yra standartinės funkcijos (kvadratinės šaknies traukimo, kėlimo kvadratu, modulio skaičiavimo ir kitos), kurios naudojamos skaičiuojant sudėtingesnių aritmetinių reiškinių reikšmes. Funkcijų prisiminti nereikia. Prireikus funkcijas surasite lentelėje. Norint apskaičiuoti reikšmes, reikia įterpti failą cmath:

#include <cmath>

Eil. nr.Matematine funkcijaUžrašymas C++ programavimo kalba
1 sqrt sqrt(x)
2 power pow(x, n)
3 abs fabs(x)
  • Skaičiuojant reiškinių reikšmes negalima praleisti nei vieno nei vienos aritmetinės operacijos ženklo. Kėlimas laipsniu keičiamas sandaugos skaičiavimu arba funkcija POW. Pvz. skaičiuojant reiškinio y = x2 – 1 reikšmę priskyrimo sakinio y = x2 – 1; rašyti negalima. Teisingi sakiniai būtų

y = x * x – 1; arba y = pow(x, 2) – 1;

  • Jei reiškinyje yra trupmena, tai trupmenos skaitiklis rašomas skliaustuose, po to rašomas dalybos ženklas ir kituose skliaustuose rašomas trupmenos vardiklis. Pvz., priskyrimo sakinys:

y = (x + 9) / (x * x + 1);

atitinka trupmenos formula reikšmės skaičiavimą, kai x reikšmė yra žinoma.

  • Skaičiuojant sudėtingesnių aritmetinių reiškinių reikšmes rezultatų tipas dažniausiai būna double.
  • Išvedant duomenis, galima nurodyti jų išvedimo formatą. Tam naudojami manipuliatoriai – specialūs nurodymai, kurie įterpiami į išvedimo srautą. Manipuliatoriai yra dviejų tipų – su argumentais ir be jų. Norint pasinaudoti manipuliatoriais su argumentai, būtina prisijungti antraštinį failą iomanip:

#include <iomanip>

Dažniausiai naudojamų manipuliatorių sąrašas pateikiamas lentelėje.

ManipuliatoriusPaskirtis
left Išvedami duomenys lygiuojami pagal kairįjį kraštą.
right Išvedami duomenys lygiuojami pagal dešinįjį kraštą.
endl Į srautą nusiunčiamas eilučių skyriklio simbolis \n ir išvalomas buferis.
setw(int n) Nustato išvedamų duomenų lauko plotį.
setprecision (int n) Nustato realiojo skaičiaus išvedamų skaitmenų skaičių n.

Pavyzdžiui, įvykdę programos fragmentą:

int a = 45;
double b = 123.258;
cout << a;
cout << setw(5) << a << “ “ << fixed << setprecision(2) << b;

Ekrane matysime:

 4

 5

     

 4

 5

 

 1

 2

 3

 .

 2

 6

           
  • Konstantą p rašant programas C++ programavimo kalba patogiausia apibrėžti iš anksto.

Išnagrinėkime uždavinio sprendimą:

Žinomas apskritimo spindulys r vienetų (r – realusis skaičius). Parašykite programą, skaičiuojančią apskritimo skersmenį d ir ilgį c. Pasitikrinkite: kai r = 2, turi būti spausdinama: Apskritimo skersmuo d = 4  vnt., apskritimo ilgis c = 12.57 vnt.

cpp/teorija/apskritimo_matmenys

Paeksperimentuokite su šiuo sprendimu keisdami jo kodą. Kai tai padarysite - pamėginkite nuo pat pradžių išspręsti toliau esantį uždavinį žiūrėdami į aptartojo sprendimą.

Žinomaa kvadrato kraštinės ilgis a. Apskaičiuokite kvadrato įstrižainės ilgį d. Rezultatui palikite 2 skaičius po kablelio.Pasitikrinkite: kai a = 5, apskaičiuotas įstrižainės ilgis d = 7.07. Už šio uždavinio sprendimą gausite 50 taškų.

Parašę programą išmėginkite ją. Greičiausiai jums nepasiseks iš pirmo karto. Interaktyvus sprendimo įrankis parodys kokių atsakymų tikisi. Atlikite korekcijas atsižvelgdami net ir į tarpų skaičių.

cpp/teorija/kvadrato_istrizaine
Į viršų