View Single Post
(#313 (permalink))
Old
Shinji's Avatar
Shinji (Offline)
無限はないか。
 
Posts: 80
Join Date: Mar 2008
Location: Udine, Italy
Send a message via MSN to Shinji
05-14-2008, 04:56 PM

immagino che non sapessi l'esistenza di queste tre categorie...

al momento posso dirti solamente (magari più avanti ti aggiungerò altro) che nei linguaggi funzionali, non esistono i cicli... e tutto si fà tramite le ricorsioni... lo Scheme è particolare in quanto è un linguaggio ibrido e c'è anche in Scheme (per chi lo sà usare bene) un ciclo (il do se non erro!)... ma comunque al livello in cui ci siamo fermati, abbiamo usato solo ricorsioni... anche nel codice che ti ho postato, puoi vedere che la funzione fibn-alg viene richiamata in sé stessa per restituire il risultato (car fib) (ovvero fib(n)) quando viene soddisfatto il caso base (= n 1)...

un accorgimento: perché (= n 1) anziché (n==1) [come si farebbe in Java o C ad esempio!)... beh semplice... perché se sai che cos'è una funzione, si arriva facilmente a dimostrare che in linguaggio Scheme le operazioni (come =, +, - ma anche quelle con stringhe etc...) sono funzioni! (in realtà si potrebbe dire che sono funzioni primitive, ovvero già predefinite nel linguaggio!)...

i linguaggi logici non li ho ancora studiati... ma per logica, presumo siano logici! (:lol: :lol: looooooooooooooooooool)

comunque lo Scheme è un linguaggio funzionale (ibrido con paradigmi imperativi) che deriva dal LISP uno dei più grandi ed antichi linguaggi di programmazione (anch'esso funzionale... anche se è funzionale puro, rispetto allo Scheme)... un altro linguaggio funzionale è l'Haskell... ma non ho mai avuto modo di provarlo, anche se conosco un tizio che lo ama quel linguaggio... eheh...


ah... quasi dimenticavo: i vettori (o array) in Scheme esistono... ma la struttura di tipo vettore fa parte del paradigma imperativo... quindi diciamo che quando si programma in Scheme usando i vettori, stiamo usando il paradigma imperativo del linguaggio... per esempio in Haskell o in LISP, la struttura di tipo vettore non esiste!

a differenza dei linguaggi imperativi normali come C/C++ e Java (che sicuramente hai studiato eheh)


Watashi ha Sasuke desu.
21 sai desu.
Udine (Italy) ni sundemasu.

Schemer Programmer

無限はないか。
そして 人間の愚かさはどのくらいですか?
Reply With Quote