Matematinės funkcijos

Matematinės funkcijos


  • 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.
  • 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šomę 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  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ą, jie padeda valdyti išvestą: nustatyti išvedamam dydžiui laukelio plotą, skaitmenų po kablelio skaičių ir panašiai. Manipuliatoriai yra dviejų tipų - su argumentais ir be jų. Norint pasinaudoti manipuliatoriais su argumentais, būtina perkelti į programà priemones, kurios yra antraštiniame faile iomanip, tokiu sakiniu:

#include <iomanip>

Lentelėje pateikiamas dažniausiai naudojamų manipuliatorių sąrašas:


ManipuliatoriusPaaiškinimasPavyzdysRezultatas
fixedSkaičius išvedsamas fiksotojo kablelio pavidalucout ‹‹ fixed;
cout ‹‹ 2.157841;
2.157841|
setprecisionNustatomas skaitmenų po kablelio skaičiuscout ‹‹ fixed;
cout ‹‹ setprecision(2);
cout ‹‹ 2.157841
2.16|
Nustatomas reikšminių skaitmenų skaičiuscout ‹‹ setprecision(2);
cout ‹‹ 2.157841
2.2|
scientificSkaičius išvedamas slankiojo kablelio pavidalucout ‹‹ scientific;
cout ‹‹ setprecision(2);
cout ‹‹ 2.157841
2.16e+000|
cout ‹‹ scientific;
cout ‹‹ 2.15741
2.157410e+000|
setwNustatomas išvedamo dydžio laukelio plotisn = 11;
cout ‹‹ setw(4) ‹‹ n;
11∪∪|
leftIšvedami duomenys lygiuojami pagal kairájá kraðtàx = 12.5;
cout ‹‹ setw(6);
cout ‹‹ left ‹‹ x;
cout ‹‹ "km"
12.5∪∪km|
rightIšvedami duomenys lygiuojami pagal dešinįjį kraštąx = 12.5;
cout ‹‹ setw(6);
cout ‹‹ right ‹‹ x;
cout ‹‹ "km"
∪∪∪12.5km|
endlNurodama pereiti į naujà eilutęx = 127;
cout ‹‹ x ‹‹ endl;
127
|


C++ bibliotekos įterpiamajame faile cmath sukaupta nemažai matematinių funkcijų. Lentelėje pateiktos pagrindinės funkcijos.


Funkcijos paskirtisFunkcijos uþraðymasArgumento tipasRezultato tipas
X modulio skaičiavimasABS(X)Realusis/sveikasisRealusis/sveikasis
X radianų sinusasSIN(X)RealusisRealusis
X radianų kosinusasCOS(X)RealusisRealusis
X radianų  arkkosinusasACOS(X)RealusisRealusis
X radianų  arksinusasASIN(X)RealusisRealusis
X radianų  arktangentasATAN(X)RealusisRealusis
Kvadratinė šaknis iš XSQRT(X)Realusis, X ≥ 0Realusis
Kėlimas laipsniu axPOW(A,X)Realusis/sveikasisRealusis/sveikasis
E= 2.71 kelia X laipsniu exEXP(X)RealusisRealusis
Skaičiuoja natūrinių X logaritmąLN(X)Realusis, X > 0Realusis
Apvalina su pertekliumiCEIL(X)RealusisSveikasis
Suapvalina X iki artimiausio sveiko skaičiausROUND(X)RealusisSveikasis
Apvalina su trūkumuFlOOR(X)RealusisSveikasis


Uþduotys:

1.Papildykite programą, vietoj daugtaškių įrašydami trūkstamus dalykus, kad programa skaičiuotų reiškinio  reikšmė, kai x yra realusis skaičius ir jo reikšmė įvedama klaviatūra. Rezultatas turi būti rodomas ekrane su trimis skaitmenimis po kablelio. Atsakymui skiriamos 6 pozicijos.

// Skaièiavimai
#include <iostream>
#include <cmath> 
#include <iomanip>
using namespace std;
int main ()
{
double .......;
.............................................................................
cin >> x;
y = .........................................................................
cout .......................................................................;
}

2. Parašykite programą, skaičiuojančią reiškinio  reikšmę, kai m yra realusis skaičius, kurio reikšmė įvedama klaviatūra. 
Pasitikrinkite: kai m = 3, turi būti spausdinama: Apskaičiavę reiškinio reikšmę, gauname y = 3.79.

3. Klaviatūra įvedami keturi skaičiai, kurie reiškia atkarpos, nubrėžtos koordinačių plokštumoje, galų taškų A (x1; y1) ir B (x2; y2) koordinates. Parašykite programą, skaičiuojančią atkarpos AB ilgį a.

Pasitikrinkite: kai x1 = 0, y1 = 0, x2 = 0, y2 = 5, turi būti spausdinama: Atkarpos AB ilgis a yra lygus 5 vnt.

4. Klaviatūra įvedami keturi skaičiai, kurie reiškia atkarpos, nubrėžtos koordinačių plokštumoje, galų taškų A (x1; y1) ir B (x2; y2) koordinates. Parašykite programą, skaičiuojančią atkarpos AB vidurio taðko C koordinates x ir y.

Pasitikrinkite: kai x1 = 0, y1 = 0, x2 = 0, y2 = 5, turi bûti spausdinama: Atkarpos AB vidurio taðko C koordinatės: x = 0.00, y = 2.50.