vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest piątek, 17 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Żeby zrozumieć rekurencje trzeba zrozumieć rekurencje


otwartyotwarty rozpoczął: Harry postów: 4



napisał: admin
postów: 613


umieszczony:
13 sierpnia 2009
08:09

  
Moze zamieścisz dokładny opis swojego programu? Albo jego kod? Wtedy moglibyśmy Ci pomoc.

Cytat:
Zapytałem o rekurencje ponieważ pisze właśnie pewną procedurę optymalizacyjna (ponad 20 różnych parametrów) i rekurencja wydawała rozwiązaniem które uprości kod. Z tego co przeczytałem na Wikipedii to wcale tak nie musi być.
Prawdopodobnie pozostanę przy moim rozwiązaniu z pętlami mimo, że coraz trudniej nad tym zapanować.
Może ma ktoś jakieś inny pomysł.
napisał: Harry
postów: 42


umieszczony:
13 sierpnia 2009
07:37

  
Zapytałem o rekurencje ponieważ pisze właśnie pewną procedurę optymalizacyjna (ponad 20 różnych parametrów) i rekurencja wydawała rozwiązaniem które uprości kod. Z tego co przeczytałem na Wikipedii to wcale tak nie musi być.
Prawdopodobnie pozostanę przy moim rozwiązaniu z pętlami mimo, że coraz trudniej nad tym zapanować.
Może ma ktoś jakieś inny pomysł.
napisał: admin
postów: 613


umieszczony:
12 sierpnia 2009
14:16

  
Co to rekurencja? Poczytaj tu: http://pl.wikipedia.org/wiki/Rekurencja
Rekurencji można użyć do obliczenia np. silni:

Function Silnia(n As Long) As Long

If n < 0 Then
    Err.Raise 10050, , "Nieprawidlowy argument": Exit Function
ElseIf n = 1 Or n = 0 Then
    Silnia = 1
    Exit Function
Else
    Silnia = n * Silnia(n - 1)
End If

End Function

Sub ObliczSilnie()

MsgBox Silnia(3)

End Sub



Wywołanie funkcji występuje w jej kodzie, z innym argumentem. Zmniejszanie argumentu n o jeden będzie następować aż n będzie równe 1. Wówczas z mocy definicji silnia(1)=1 i następuje obliczenie wartości silni.
W przypadku obliczeń rekurencyjnych konieczny jest tzw, warunek stopu, który zapewni zatrzymanie wywołań rekurencyjnych. W przeciwnym przypadku nastąpi przepełnienie stosu komputera. W naszym przypadku warunkiem stopu jest tu wartość n=1.


Cytat:
czy ktoś mógłby wyjaśnić na łamach forum, najlepiej z przykładem, co to jest i jak użyć rekurencji w VBA.
Z góry dziękuje
napisał: Harry
postów: 42


umieszczony:
12 sierpnia 2009
12:58

  
czy ktoś mógłby wyjaśnić na łamach forum, najlepiej z przykładem, co to jest i jak użyć rekurencji w VBA.
Z góry dziękuje


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z