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:
Manipuliatorius | Paaiškinimas | Pavyzdys | Rezultatas |
---|---|---|---|
fixed | Skaičius išvedsamas fiksotojo kablelio pavidalu | cout ‹‹ fixed; cout ‹‹ 2.157841; | 2.157841| |
setprecision | Nustatomas skaitmenų po kablelio skaičius | cout ‹‹ fixed; cout ‹‹ setprecision(2); cout ‹‹ 2.157841 | 2.16| |
Nustatomas reikšminių skaitmenų skaičius | cout ‹‹ setprecision(2); cout ‹‹ 2.157841 | 2.2| | |
scientific | Skaičius išvedamas slankiojo kablelio pavidalu | cout ‹‹ scientific; cout ‹‹ setprecision(2); cout ‹‹ 2.157841 | 2.16e+000| |
cout ‹‹ scientific; cout ‹‹ 2.15741 | 2.157410e+000| | ||
setw | Nustatomas išvedamo dydžio laukelio plotis | n = 11; cout ‹‹ setw(4) ‹‹ n; | 11∪∪| |
left | Išvedami duomenys lygiuojami pagal kairájá kraðtà | x = 12.5; cout ‹‹ setw(6); cout ‹‹ left ‹‹ x; cout ‹‹ "km" | 12.5∪∪km| |
right | Išvedami duomenys lygiuojami pagal dešinįjį kraštą | x = 12.5; cout ‹‹ setw(6); cout ‹‹ right ‹‹ x; cout ‹‹ "km" | ∪∪∪12.5km| |
endl | Nurodama 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 paskirtis | Funkcijos uþraðymas | Argumento tipas | Rezultato tipas |
---|---|---|---|
X modulio skaičiavimas | ABS(X) | Realusis/sveikasis | Realusis/sveikasis |
X radianų sinusas | SIN(X) | Realusis | Realusis |
X radianų kosinusas | COS(X) | Realusis | Realusis |
X radianų arkkosinusas | ACOS(X) | Realusis | Realusis |
X radianų arksinusas | ASIN(X) | Realusis | Realusis |
X radianų arktangentas | ATAN(X) | Realusis | Realusis |
Kvadratinė šaknis iš X | SQRT(X) | Realusis, X ≥ 0 | Realusis |
Kėlimas laipsniu ax | POW(A,X) | Realusis/sveikasis | Realusis/sveikasis |
E= 2.71 kelia X laipsniu ex | EXP(X) | Realusis | Realusis |
Skaičiuoja natūrinių X logaritmą | LN(X) | Realusis, X > 0 | Realusis |
Apvalina su pertekliumi | CEIL(X) | Realusis | Sveikasis |
Suapvalina X iki artimiausio sveiko skaičiaus | ROUND(X) | Realusis | Sveikasis |
Apvalina su trūkumu | FlOOR(X) | Realusis | Sveikasis |
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.