Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    36

    [Scheme]

    Ragazzi chi sarebbe cosi genereso da spiegarmi come funzione la ricorsione e dove vado a vedere le parole-chiave del linguaggio?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per spiegare come funziona la ricorsione non credo che sia sufficiente partire dal forum: bisogna avere la teoria, magari su di un manuale.

    Per le "parole chiave" del linguaggio Scheme (leggasi, funzioni) se usi Dr Scheme hai a disposizione una guida abbastanza completa.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    36
    Ho dato un'occhiata ma penso di non aver trovato quello che mi interessa, potresti darmi un'indirizzo preciso? (Sarà che non fa per me... ).
    Grazie in anticipo...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se tu usi Dr. Scheme (che è un'ambiente gratuito per programmare in Scheme... se frequenti l'università di Udine usi proprio Dr. Scheme) nell'ambiente hai un menù Guida (o ? non mi ricordo), il quale ti fornisce tutta la guida del linguaggio, comprese le funzioni nativamente supportate.

    Altrimenti non ho capito cosa ti interessa...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    36
    Leggo solo ora la tua risposta, sono ancora allo sbaraglio ma penso di avere materiale sufficiente. Ora mi tocca tradurre e provare...speriamo di capire

    Intanto grazie mille.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    36

    [SCHEME]Ricorsione

    Ciao a tutti,
    ho provato un paio di ricorsioni e tutto va bene...

    (define prova
    (lambda (n)
    (if (= n 1)
    1
    (* n (prova (- n 1)))
    )
    ))

    ...esempio (prova 10) = 10*9*8*7*6*5*4*3*2 = 3628800.
    Perchè se al posto di ...(- n 1) ci metto (- n 2) e chiedo per un numero pari va in loop?

    (define prova2
    (lambda (n)
    (if (= n 1)
    1
    (* n (prova2(- n 2)))
    )
    ))

    Se provo con un numero dispari funziona: (prova2 7) = 7*5*3 = 105.
    Se provo con un numero pari va in loop...perchè?
    Non dovrebbe essere per esempio: (prova2 6) = 6*4*2 = 48???

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

    Moderazione

    Visto che si parla/continua lo stesso argomento, ho unito la tua nuova discussione con quella precedente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Perchè se la fai sui numeri pari devi provvedere a 2 casi base e non uno solo: se provi a farlo andare con un numero pari, sottraendo sempre 2 non arriverai mai ad ottenere 1, ma 0
    codice:
    (define prova2 
       (lambda (n) 
          (if (= n 1)
             1
             (if (= n 0)
                1
                (* n (prova2(- n 2))) 
             ) 
          )
       ) 
    )
    Hai a disposizione anche la funzione cond che ti può essere utile se hai più di un caso da testare (è l'equivalente dello switch() di C e Java).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    36
    Ottima spiegazione, ho capito, grazie mille.
    Provo ad andare avanti da solo...

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.