Rekurzivní volání funkce pro hodnotu n=4 – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rekurzivní volání funkce pro hodnotu n=4 – Delphi – Fórum – Programujte.comRekurzivní volání funkce pro hodnotu n=4 – Delphi – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Dane0
Newbie
29. 5. 2012   #1
-
0
-

   

function F(n: Integer): Integer;
begin
if n=0 then reset:=1
else
if n=1 then reset:=1
else reset:=F(n-1)+F(n-2)
end;

Mohl by mi někdo vysvětlit, jak má vypadat rekurzivní volání této funkce pro hodnotu n=4.

děkuju

Nahlásit jako SPAM
IP: 193.85.21.–
JoDiK
~ Anonymní uživatel
987 příspěvků
29. 5. 2012   #2
-
0
-

#1 Dane
Máš tam nějakou chybu.

Funkce by měla mít definovanou návratovou hodnotu, ta tvoje nemá. Ale asi ses jen spletl a místo reset tam má býr result.

A až si to tam opravíš, přidej si kontrolní výpis volání funkce a pro jakou je to hodnotu a to by ti mělo vypsat jak "vypadá ta rekurze"...

Nahlásit jako SPAM
IP: 88.103.233.–
Dane0
Newbie
29. 5. 2012   #3
-
0
-

#2 JoDiK
no v tom mém příkladě je uvedená tato rekurzivní funkce a pod tím je dopsané, že mám rozkreslit způsob rekurzivního volání funkce pro hodnotu n=4.

Nahlásit jako SPAM
IP: 193.85.21.–
JoDiK
~ Anonymní uživatel
987 příspěvků
29. 5. 2012   #4
-
0
-

#3 Dane
No a co ti brání si to rozkreslit?

F(4) zavolá F(3) a F(2), F(3) zavolá F(2) a F(1), F(2) zavolá F(1) a F(0), F(1) vrátí hodnotu 1, F(0) taktéž vrátí hodnotu 1, ty se sečtou a vrátí se do F(2) a tak dál...

Nahlásit jako SPAM
IP: 88.103.233.–
liborb
~ Redaktor
+18
Guru
30. 5. 2012   #5
-
0
-

Tady je to rozepsané dokonce pro n = 5, aby ses měl kde inspirovat.

Nahlásit jako SPAM
IP: 78.80.52.–
Honzc0
Stálý člen
30. 5. 2012   #6
-
0
-

#1 Dane
Jenom tě chci upozornit, že Fibonacciho posloupnost je deffinována

1. F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2), to znamená od n=0 pro nějž je hodnota 0.

nebo

2. F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2),to znamená od n=1 pro nějž je hodnota 1 a pro n=2 je rovněž hodnota 1.

Tedy v tom tvém řádku if n=0 then result:=1 má být správně if n=0 then result:=0

Lepší je ovšem pracovat podle 2., protože jaksi nulté Fibonacciho číslo je trochu hůře představitelné.

Nahlásit jako SPAM
IP: 93.181.78.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý