C++ Bc. 9: Porovnání verzí
Bez shrnutí editace |
m typo |
||
(Není zobrazeno 11 mezilehlých verzí od 3 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
;[http://en.wikipedia.org/wiki/Colin_Maclaurin Maclaurinův rozvoj] | |||
Napište funkci, která počítá ''Maclaurinův rozvoj'' | |||
<math> | <math> | ||
Řádek 9: | Řádek 11: | ||
</math> | </math> | ||
Pokud <math>a</math> | Pro nezáporná celá čísla <math>a</math> je rozvoj platný pro všechna <math>x</math>. | ||
Pokud <math>a</math> není nezáporné celé číslo, pak je tento rozvoj platný pouze pro <math>-1 < x < 1</math>. | |||
V případě, že jsou zadány neplatné parametry při volání funkce, vyvolejte výjimku [[C++ Bc. Chyba|Chyba.]] | |||
Zkontrolujte s využitím standardní funkce <tt>std::pow(double a, double b)</tt>, která počítá obecnou mocninu <math>a^b</math>. | |||
'''Příklad výstupu:''' | |||
-1.20 -2.00 ... | |||
-1.20 -1.00 ... | |||
-1.20 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
-1.20 +1.00 -0.200000 -0.200000 0.000000e+00 3 | |||
-1.20 +2.00 +0.040000 +0.040000 5.551115e-17 4 | |||
------------------------------------------------------------------------ | |||
-0.80 -2.00 +25.000000 +25.000000 8.908785e-11 133 | |||
-0.80 -1.00 +5.000000 +5.000000 1.834444e-11 118 | |||
-0.80 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
-0.80 +1.00 +0.200000 +0.200000 0.000000e+00 3 | |||
-0.80 +2.00 +0.040000 +0.040000 6.938894e-18 4 | |||
------------------------------------------------------------------------ | |||
-0.40 -2.00 +2.777778 +2.777778 1.755041e-12 34 | |||
-0.40 -1.00 +1.666667 +1.666667 7.680523e-13 31 | |||
-0.40 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
-0.40 +1.00 +0.600000 +0.600000 0.000000e+00 3 | |||
-0.40 +2.00 +0.360000 +0.360000 0.000000e+00 4 | |||
------------------------------------------------------------------------ | |||
+0.00 -2.00 +1.000000 +1.000000 2.220446e-16 2 | |||
+0.00 -1.00 +1.000000 +1.000000 1.110223e-16 2 | |||
+0.00 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
+0.00 +1.00 +1.000000 +1.000000 0.000000e+00 2 | |||
+0.00 +2.00 +1.000000 +1.000000 2.220446e-16 2 | |||
------------------------------------------------------------------------ | |||
+0.40 -2.00 +0.510204 +0.510204 1.236788e-13 36 | |||
+0.40 -1.00 +0.714286 +0.714286 1.315614e-13 32 | |||
+0.40 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
+0.40 +1.00 +1.400000 +1.400000 0.000000e+00 3 | |||
+0.40 +2.00 +1.960000 +1.960000 0.000000e+00 4 | |||
------------------------------------------------------------------------ | |||
+0.80 -2.00 +0.308642 +0.308642 1.266764e-13 153 | |||
+0.80 -1.00 +0.555556 +0.555556 2.191580e-13 128 | |||
+0.80 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
+0.80 +1.00 +1.800000 +1.800000 0.000000e+00 3 | |||
+0.80 +2.00 +3.240000 +3.240000 4.440892e-16 4 | |||
------------------------------------------------------------------------ | |||
+1.20 -2.00 ... | |||
+1.20 -1.00 ... | |||
+1.20 +0.00 +1.000000 +1.000000 0.000000e+00 2 | |||
+1.20 +1.00 +2.200000 +2.200000 0.000000e+00 3 | |||
+1.20 +2.00 +4.840000 +4.840000 0.000000e+00 4 | |||
------------------------------------------------------------------------ | |||
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 9 cpp|C++]] | [[C++ Bc. 10|Další]] ] | |||
[ [ | [[Kategorie:Programování]] |
Aktuální verze z 11. 12. 2006, 15:26
Napište funkci, která počítá Maclaurinův rozvoj
Pro nezáporná celá čísla je rozvoj platný pro všechna . Pokud není nezáporné celé číslo, pak je tento rozvoj platný pouze pro .
V případě, že jsou zadány neplatné parametry při volání funkce, vyvolejte výjimku Chyba.
Zkontrolujte s využitím standardní funkce std::pow(double a, double b), která počítá obecnou mocninu .
Příklad výstupu:
-1.20 -2.00 ... -1.20 -1.00 ... -1.20 +0.00 +1.000000 +1.000000 0.000000e+00 2 -1.20 +1.00 -0.200000 -0.200000 0.000000e+00 3 -1.20 +2.00 +0.040000 +0.040000 5.551115e-17 4 ------------------------------------------------------------------------ -0.80 -2.00 +25.000000 +25.000000 8.908785e-11 133 -0.80 -1.00 +5.000000 +5.000000 1.834444e-11 118 -0.80 +0.00 +1.000000 +1.000000 0.000000e+00 2 -0.80 +1.00 +0.200000 +0.200000 0.000000e+00 3 -0.80 +2.00 +0.040000 +0.040000 6.938894e-18 4 ------------------------------------------------------------------------ -0.40 -2.00 +2.777778 +2.777778 1.755041e-12 34 -0.40 -1.00 +1.666667 +1.666667 7.680523e-13 31 -0.40 +0.00 +1.000000 +1.000000 0.000000e+00 2 -0.40 +1.00 +0.600000 +0.600000 0.000000e+00 3 -0.40 +2.00 +0.360000 +0.360000 0.000000e+00 4 ------------------------------------------------------------------------ +0.00 -2.00 +1.000000 +1.000000 2.220446e-16 2 +0.00 -1.00 +1.000000 +1.000000 1.110223e-16 2 +0.00 +0.00 +1.000000 +1.000000 0.000000e+00 2 +0.00 +1.00 +1.000000 +1.000000 0.000000e+00 2 +0.00 +2.00 +1.000000 +1.000000 2.220446e-16 2 ------------------------------------------------------------------------ +0.40 -2.00 +0.510204 +0.510204 1.236788e-13 36 +0.40 -1.00 +0.714286 +0.714286 1.315614e-13 32 +0.40 +0.00 +1.000000 +1.000000 0.000000e+00 2 +0.40 +1.00 +1.400000 +1.400000 0.000000e+00 3 +0.40 +2.00 +1.960000 +1.960000 0.000000e+00 4 ------------------------------------------------------------------------ +0.80 -2.00 +0.308642 +0.308642 1.266764e-13 153 +0.80 -1.00 +0.555556 +0.555556 2.191580e-13 128 +0.80 +0.00 +1.000000 +1.000000 0.000000e+00 2 +0.80 +1.00 +1.800000 +1.800000 0.000000e+00 3 +0.80 +2.00 +3.240000 +3.240000 4.440892e-16 4 ------------------------------------------------------------------------ +1.20 -2.00 ... +1.20 -1.00 ... +1.20 +0.00 +1.000000 +1.000000 0.000000e+00 2 +1.20 +1.00 +2.200000 +2.200000 0.000000e+00 3 +1.20 +2.00 +4.840000 +4.840000 0.000000e+00 4 ------------------------------------------------------------------------