Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1

    [C] Fibonacci

    Salve,
    andando avanti negli studi, in questo momento sto trovando problemi con un programma che genera i numeri di fibonacci in modo RICORSIVO


    /* definizione ricorsiva della funzione fibonacci */

    long fibonacci( long n )

    /* caso base */

    if ( n == 0 or n == 1 ) {
    return 0;
    }

    else {
    return fibonacci( n - 1 ) + fibonacci( n - 2 );
    }
    }


    codice:
    /* Fig. 5.15: fig05_15.c
       Recursive fibonacci function */
    #include <stdio.h>
    
    long fibonacci( long n ); /* function prototype */
    
    /* function main begins program execution */
    int main()
    {
       long result; /* fibonacci value */
       long number; /* number input by user */
    
       /* obtain integer from user */
       printf( "Enter an integer: " );
       scanf( "%ld", &number );
    
       /* calculate fibonacci value for number input by user */
       result = fibonacci( number );
    
       /* display result */
       printf( "Fibonacci( %ld ) = %ld\n", number, result );
       
       return 0; /* indicates successful termination */
    
    } /* end main */
    
    /* Recursive definition of function fibonacci */
    long fibonacci( long n )
    {
       /* base case */
       if ( n == 0 || n == 1 ) {
          return n;
       } /* end if */
       else { /* recursive step */ 
          return fibonacci( n - 1 ) + fibonacci( n - 2 );
       } /* end else */
       
    } /* end function fibonacci */

    quello che non ho capito e se è necassario imparare a fare questi programmi
    dato che il mio intendo è studiare il C per una prima base, in quanto dopo passero
    a php html5 o jq per fare sitiweb ecc ecc

    e poi cmq non ho capito la definizione ricorsiva della funziona fibonacci

    se questo topic non è giusto spiegatemi dove lo devo mettere prima di chiuderlo

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,474

    Moderazione

    Originariamente inviato da adempius
    sto trovando problemi con un programma che genera i numeri di fibonacci in modo RICORSIVO
    Cioè? Quali problemi? Spiega.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    ho capito come funziona diciamo la tabellina di fibonaccia, perchè non l'ho studiata o cmq perchè sono passati 10 anni dalla scuola, praticamente non riesco a tradurre l'ultima definizione della funziona fibonacci ora la metto in grassetto sopra.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    La funzione in grassetto è sbagliata perché il secondo numero della successione di Fibonacci è 1, non 0.

    Per l'utilità, se vuoi imparare a programmare in generale, direi che è utile, la ricorsione è una tecnica fondamentale nella programmazione. Per gli specifici campi lascio la parola a chi ci lavora.

  5. #5
    vabbe la ritorsione si accomuna a fibonacci? cioè se non riesco a decifrere diciamo la funziona di fibonacci non capisco la ricorsione? che poi non è altro che richiama se stessa

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da adempius
    vabbe la ritorsione si accomuna a fibonacci? cioè se non riesco a decifrere diciamo la funziona di fibonacci non capisco la ricorsione? che poi non è altro che richiama se stessa
    Eh? Che vuol dire che si accomuna a Fibonacci?
    Questo è un esempio semplice, e se non lo capisci della ricorsione non hai capito pressoché nulla; la ricorsione si può usare in altri casi più complessi, chessò. nelle visite degli alberi...

  7. #7
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    quello che non ho capito e se è necassario imparare a fare questi programmi
    dato che il mio intendo è studiare il C per una prima base, in quanto dopo passero
    a php html5 o jq per fare sitiweb ecc ecc


    Questi programmi ,sono esercizi , che bene o male vengono proposti ,per ogni linguaggio
    di programmazione , e servono per imparare ad applicare un algoritmo con un dato linguaggio.
    se il tuo scopo è programmare in PHP , non vedo la necessità di iniziare col C ,che è un linguaggio molto istruttivo , ma molte cose che impareresti , non le userai in PHP , come puntatori , o tipi di dato che in PHP non esistono .
    Prova a valutare se non convenga iniziare direttamente dal PHP , che è anche più semplice ,apprendere le basi .
    Tecnologia

  8. #8

    Re: ciao

    Originariamente inviato da torn24
    Questi programmi ,sono esercizi , che bene o male vengono proposti ,per ogni linguaggio
    di programmazione , e servono per imparare ad applicare un algoritmo con un dato linguaggio.
    se il tuo scopo è programmare in PHP , non vedo la necessità di iniziare col C ,che è un linguaggio molto istruttivo , ma molte cose che impareresti , non le userai in PHP , come puntatori , o tipi di dato che in PHP non esistono .
    Prova a valutare se non convenga iniziare direttamente dal PHP , che è anche più semplice ,apprendere le basi .
    grazie torn, l'ho sempre pensato però ho pensato che se riuscivo almeno in parte ad apprendere il c
    cosa che penso di aver fatto, ma terra terra ..gli altri linguaggi in un certo senso li avrei capiti quasi con scioltezza

  9. #9
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    se riuscivo almeno in parte ad apprendere il c
    cosa che penso di aver fatto, ma terra terra ..gli altri linguaggi in un certo senso li avrei capiti quasi con scioltezza
    Non è propio cosi , è come dire se corro per 10 km la maratona di newyork , poi
    non ho problemi a correre 30 km
    la fatica sarebbe la stessa , se corressi la maratona di atene e dopo quella di newyork , ma la strada che devi percorrere è diversa
    Tecnologia

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589

    Re: ciao

    Originariamente inviato da torn24
    Non è propio cosi , è come dire se corro per 10 km la maratona di newyork , poi
    non ho problemi a correre 30 km
    la fatica sarebbe la stessa , se corressi la maratona di atene e dopo quella di newyork , ma la strada che devi percorrere è diversa
    Non é neanche proprio così, se hai corso per 10 sei un po' più allenato e farai un po' meno fatica: così é anche per i linguaggi di programmazione: molti costrutti sono simili, seppur restano diversi...
    Inoltre la conoscenza di più linguaggi rende più "elastico" il tuo modo di pensare...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.