BiHi Le 17/12/2002 à 20:02 euh... tu tapes n!
la calculatrice le fait elle-même

;)
C'est a moi de la faire le prog !!! MDR !!!
Donc si qqun peut me filer la source de ce prog ;-)
Bon je retourne fouiller le basic !
Ride or Die !
24bicycles Spirit
dans program/function editor tu tapes:
fact(n)
Func
If n<2: Return 1
fact(n-1)*n
EndFunc
(solution récursive)
fact(n)
Func
Local i,k
1->k
For i,1,n
k*i->k
EndFor
EndFunc
(solution itérative)
... j'ai fais ça comme ça mais ça a l'air de marcher

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
gtr Le 17/12/2002 à 20:54 bonsoir, tu peux le faire de cette façon :
a(n)
Prgm
ClrIO
1->f
1->i
While i<=n
f*i->f
i+1->i
EndWhileDisp f
EndPrgm
Itératif : La programmation la plus courante, et la plus logique à l'esprit humain, car il raisonne par boucles, (genre WHILE et FOR).
Récursif : Un type de programmation moins utilisé, qui se base sur le principe de la récurrence.
Cas simple: Tu veux calculer des termes d'une suite réelle, mais tu ne connais que des choses sur cette suite :
- si tu as u(n), tu peux alors avoir u(n+1) par une opération simple, par exemple u(n+1)=f(u(n))
- tu connais u(0).
Pour calculer u(n) pour n'importe quel n, il y a deux méthodes :
- Sois tu pars de u(0), et tu lui applique n fois la fonction f jusqu'à obtenir le n-ième terme (le mot clé ici est 'jusqu'à', symbole de la programmation itérative).
- Sois tu pars de u(n) et tu te dis, j'aimerais bien calculer u(n), mais je n'ai aucune info sur lui, sauf que si j'avais u(n-1), je pourrais le calculer... Donc je vais calculer u(n-1), puis lui appliquer f, pour récupérer u(n). Mais pour avoir u(n-1), il faut u(n-2), et ainsi de suite... Puis on arrive finalement à u(1), qui est connu grâce à u(0), et on peut comme ça remonter toute la chaîne.
L'intéret de la programmation récursive, c'est que le code est plus court, plus classe, mais bon... c'est beaucoup moins optimisé (ca ouvre n instances de ton programme, bonjour la ram utilisée !)

I'm on a boat motherfucker, don't you ever forget
Moins optimisé!!!
En mémoire, oui, en vitesse et en complexité surement pas!

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
>>> Itératif : La programmation la plus courante, et la plus logique à l'esprit humain
moi j'aurais dit le contraire mais bon...
>>> c'est beaucoup moins optimisé
sur Ti, oui, mais ailleurs, il existe des compilo surpuissants (Caml par exemple) qui font du code récursif au moins aussi rapide que du code itératif
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou
paxal Le 19/12/2002 à 19:17 Bah moi je me rends compte qu'aprè bcp d'utilisation de CaML, ma méthode intuitive devient la récursivité...
Mais chacun ses gouts; tout est bon à (ap)prendre!
> il n'y a pas beaucoup de 'grands' langages récursifs
Si : Caml, qui est largement de l'envergure du C.
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou
ben faut compter les projets entreprises ... et c bien plus facile et rapide de faire un programme en COBOL (bientôt, python le remplacera) que C/C++ etc. qui génèrent beaucoup d'erreurs ...