Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit

Ahoj,
snažím se pomocí součtu nekonečné řady v pascalu zapsat eulerovo číslo, bohužel mi program nejde ani spustit, natož abych si ověřila jestli je to správně :( použiju u toho vzoreček že eulerovo číslo je vlastně suma od 0 po n, 1/0! + 1/1! + ... + 1/n! , takže si k tomu asi budu muset zadefinovat funkci faktoriál, ale ani to mi nějak nejde :/ prosím můžete někdo pomoct? moc porsím..
Offline
↑ Bati:
Spíš bych tu funkci na faktroriál napsal takto:
function factorial(n : Integer) : Int64;
var i : integer;
begin
factorial := 1;
for i := 1 to n do
factorial := i * factorial(i-1);
end;nebo
function factorial(n : Integer) : Int64;
var i : integer;
begin
Result:= 1;
for i := 1 to n do
Result := i * Result;
end;Offline
↑ Honzc:
Ahoj,
obávám se, že v prvním případě bys vyrobil nekonečnou rekurzi. Spíše bych to, když už bych chtěl počítat faktoriál rekurzí (a nechtěl, protože cyklus je podstatně rychlejší), počítal takhle:
function factorial(n : Integer) : Int64;
begin
if n<2 then
factorial := 1
else
factorial := n * factorial(n-1);
end;Offline
Ahoj, nemá Pascal funkci exp? Co potom použít exp(1)?
Offline
↑ Honzc:
Můj postup je totožný s tvým druhým návrhem. Pascal používá jméno funkce jako proměnnou, jejíž hodnota se na konci vrátí. Rekurze je zde zbytečná.
↑ check_drummer:
To samozřejmě lze, ale počítal jsem s tím, že tahle možnost je známá a že toto je pouze cvičení.
Offline
↑ Bati:
Píšeš "Můj postup je totožný s tvým druhým návrhem. Pascal používá jméno funkce jako proměnnou, jejíž hodnota se na konci vrátí. Rekurze je zde zbytečná.", to jesice pravda, ale pokd nenapíšeš Result := i * Result;, ale factorial := i * factorial; pak ti to vyhodí chybu, že máš málo parametrů.
Offline