Home > Informatica, Programmazione, Scheme > Scheme valori procedurali – Funzione ciclica –

Scheme valori procedurali – Funzione ciclica –

7 Agosto 2010 - 3.892 Volte visto Lascia un commento Vai ai commenti
1 Star2 Stars3 Stars4 Stars5 Stars (Ancora nessun voto)
Loading...

ATTENZIONE:
AVVISO! Le informazioni di questo post potrebbero non essere più valide in quanto non aggiornate. Usa i commenti per contribuire a tenere il post aggiornato.

ULTIMA REVISIONE DEL POST: 07/08/2010


Definiamo in Scheme una procedura a valori procedurali cycle-funzione che data una lista restituisce una funzione periodica e restituisce il valore alla posizione indicata della lista:


(define cycle-fun
(lambda (n)
(lambda (count)
(if (= count 0)
(car n)
(if (> count 7) ((cycle-fun n)
(- count 8))
(list-ref n count)
)
)
)))

(define f (cycle-fun '(0 -1 -2 -1 0 1 2 1)))

;esempi di lancio della procedura
; f di 2 -> -2
; f di 11 -> -1
(f 2)
(f 11)

Soluzione “matematica” alternativa più complessa (secondo il mio punto di vista)

(define cycle-fun
  (lambda (p)
    (lambda (x)  ; x >= 0
      (list-ref p (remainder x (length p)))
      )))
  1. Nessun commento ancora...


NOTE SUI COMMENTI:

Se non avete mai scritto nulla su questo blog, sappiate che il vostro primo commento dovrà essere approvato manualmente dall'amministratore e quindi non comparirà subito sul sito.
Questo sito usa gli Avatar.
E' possibile usare dei tag HTML nel testo del commento, ma solamente quelli validi come XHTML "Strict" verranno accettati, quindi il risultato potrebbe anche essere un po' diverso dal previsto... nel dubbio, usate il testo semplice!
L'avviso di nuovi commenti è completamente automatizzato e nessuno degli indirizzi e-mail verrà fornito a terzi.
La vostra e-mail, che comunque resterà sempre riservata, serve anche per il conteggio del totale dei vostri commenti e per inviarvi, se ne fate richiesta soluzioni ai problemi o ulteriori informazioni nel totale rispetto del D.Lgs 196/2003.