Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

Problème excel...

Posté par
alpha20020
26-06-06 à 09:29

Bonjour,

Je dois faire un grand calcul, il s'agit d'une factorielle d'un chiffre qui vole autour des 500... Seulement, ce satané programme me met #NOMBRE! . Donc, dois-je en déduire, que je peux oublier de calculer cela avec un tel programme?

Y aurait-il des freeware qui permette ce gnere de calcul?

Est-ce que c'est dur à programmer qqch en toppascal qui permettrait un calcul de cela...

En fait c'était pour résoudre une permutation avec répétition... Donc, s'il y a des programmes exprès pour...

Sinon, le plus simple serait de résoudre les factorielles non développées, juste?

Merci et pardon.
Bonne journée.

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 09:40

Bonjour,

Program Factorielle;
uses Wincrt;
Var I, N,F : Integer;
Begin
Repeat
Write('N :');
Readln(N);
Until N>=0;
F : = 1;
For I : = 1 To N Do
F : =  F * I;
Write('Le produit factorielle est :',F);
End.


Estelle

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 09:41

(En Turbo Pascal.)

C'est à tester...

Estelle

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 09:43

En fait, ce n'est pas bon, désolée.

Estelle

Posté par
alpha20020
re : Problème excel... 26-06-06 à 09:45

Ca a pas l'air de marcher... il connait pas le user et les  :.

Enfin, la j'ai pas le temps de regarder le problème plus en détail... (Faut que j'aille faire le ménage )

Mais Estelle, pour apprendre à taper ca, tu as eu un cours et tout, ou t'as regarder le fichier d'aide ou des tutorials en linge ?

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 09:46

Bonjour alpha20020,

a. Si tu donnes l'entier dont tu veux la factorielle, je peux te donner le résultat en passant par Java et sa classe BigInteger.

b. Si tu donnes ton énoncé, on peut peut-être t'aider.

c. Pour mon information, qu'appelles-tu une "permutation avec répétition" ?

Cordialement,

Nicolas

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 09:47


Les "tutorials en linge", c'est pour étendre la lessive après avoir fait le ménage ?

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 09:53

(Salut Nicolas.)

Alpha : quel "user" ?

Je ne me suis pas servi des tutoriaux en ligne, mais on a fait un peu de PAscal au lycée.

Estelle

Posté par
alpha20020
re : Problème excel... 26-06-06 à 10:02

Nicolas>

a.+b. Pour la factorielle, vais simplifier le tout, normalement ca ira... Mais c'est gentil...

c. \bar {P}_(n1;n2;n3...)=\frac{n!} {n1! \cdot n2! \cdot n3! \cdot ...}

où n1+n2+3+...=n
C'est quelque chose dans ce style, mais on aviat une table qui employait un  np
pour donner une fin à la formule.  Notre professeur nous disais de démontrer celà avec les lettres  aabbb
On a 5 lettres, donc P5 mots indiscernables. Ensuite si je les note ainsi a1 a2 b1 b2 b3 j'aurai P2 . P3 mot discernables. Donc, si je veux savoir tout les mots indiscernables différents, sans que j'ai par exemple a1 a2 b1 b2 b3, a2 a1 b2 b1 b3, etc. Enfin, j'ai tapé ca en vitesse. Mais je peux aller rechercher dans mes notes, si tu veux plus de détails...

d. Sans commentaires

Estelle> Pardon, erreur de frappe...

Et sinon pour ce qui est de la programmation, si je dois me mettre à un langage, vous me conseillerez lequel? Ca dépendra de ce que je veux faire, non? Mais niveau polyvalence, lequel sera le plus polyvalent...

Bonne journée...

édit Océane

Posté par
alpha20020
re : Problème excel... 26-06-06 à 10:03

Ah zut, ca avais pas mis la longue ligne dans l'apercu!!!

"To!"

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 10:07

Bonjour, Estelle.

alpha20020, merci pour ton explication. Je vois parfaitement de quoi tu parles.
Pour ma part, j'appelle cela les "permutations avec éléments indiscernables", mais c'est la même chose. Et le coefficient avec les factorielles qui intervient est souvent appelé "coefficient multinomial".

Nicolas

Posté par
alpha20020
re : Problème excel... 26-06-06 à 10:58

Je vais me faire taper sur les doigts, mais le coefficient, c'est bien la division ou il y a les factorielles? Et le multinomal signifie quelque chose de spécial?

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 11:20


Coefficient binomial : 3${n\choose p}=\frac{n!}{p!(n-p)!}

Coefficient multinomial : 3${n\choose n_1, ..., n_r}=\frac{n!}{n_1!...n_r!}

Posté par
J-P Posteur d'énigmes
re : Problème excel... 26-06-06 à 11:31

500! = 1,220136825991110068701238785723.10^1134 dixit la calculette fournie avec Windows.

C'est vrai que cela dépasse les capacité de calcul de Excel.

Posté par
J-P Posteur d'énigmes
re : Problème excel... 26-06-06 à 11:32

Désolé pour l'orthographe.

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 12:01

Sauf erreur,

500! = 12201368259911100687012387854230469262535743428031928421924135883 85845373153881997605496447502203281863013616477148203584163378722 07817720048078520515932928547790757193933060377296085908627042917 45478824249127263443056701732707694610628023104526442188787894657 54777149863494367781037644274033827365397471386477878495438489595 53753799042324106127132698432774571554630997720278101456108118837 37095310163563244329870295638966289116589747695720879269288712817 80070265174507768410719624390394322536422605234945850129918571501 24870696156814162535905669342381300885624924689156412677565448188 65065938479517753608940057452389403357984763639449053130623237490 66445048824665075946735862074637925184200459369692981022263971952 59719094521782333175693458150855233282076282002340262690789834245 17120062077146409794561161276291459512372299133401695523638509428 85592018727433795173014586357570828355780158735432768888680120399 88238470215146760544540766353598417443048012893831389688163948746 96588175045069263653381750554781286400000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000|FIN

Nicolas

édit Océane

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 17:55

Concernant Pascal, c'est bizarre qu'il ne reconnaise pas "uses", chez moi (bien que ça ne marche quand même pas ) il n'y a pas de problème avec.

Estelle

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 17:58

Océane, merci et désolé.

500! a été produit par Java, class BigInteger.

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 18:05

Est-il possible que 500! soit trop grand pour Pascal ?

J'ai modifié un peu le programme, et maintenant ça marche. 3!=6 ; 4!=24 ; mais pour 500!, j'ai 0

Je vais créer un nouveau topic à propos de ce programme pour ne pas polluer celui d'alpha.

Estelle

Posté par
Nicolas_75 Correcteur
re : Problème excel... 26-06-06 à 18:14

Tu dépasses tout simplement la "taille" possible d'un entier en Pascal.

En Java, c'est +/- 9.10^18 (sauf classe BigInteger). En Pascal, je ne sais plus...

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 18:21

Ah d'accord, merci Nicolas.

Estelle

Posté par
alpha20020
re : Problème excel... 26-06-06 à 18:29

Continue seulement ici, ca le pollue pas, ou en tout cas si tu en crée un autre, j'espère ne pas le louper...

Nicolas, merci encore pour tes précisions...

Bref, allez la suisse et bonne soirée

Posté par
_Estelle_
re : Problème excel... 26-06-06 à 18:32

Merci Alpha.

En fait, je crois qu'il y a un problème dans mon programme, parce que jusqu'à 7!, tout marche, mais pour 8!, il ne trouve plus la bonne valeur.

Quelqu'un a une idée d'où cela peut venir ? La limite n'est tout de même pas entre 5040 et 40320 ?!

Estelle

Posté par
benitoelputoamo
re : Problème excel... 26-06-06 à 20:02

Je crois que Maple calcule les factorielles!

Posté par
cinnamon
re : Problème excel... 26-06-06 à 23:26

Salut Estelle,

Citation :
En fait, je crois qu'il y a un problème dans mon programme, parce que jusqu'à 7!, tout marche, mais pour 8!, il ne trouve plus la bonne valeur.

Quelqu'un a une idée d'où cela peut venir ? La limite n'est tout de même pas entre 5040 et 40320 ?!


Je trouve bizarre que tu n'arrives pas à calculer des nombres supérieurs à 8! sous Pascal.
En effet, pour mon projet informatique de cette année, j'ai écrit un programme récursif qui calcule les factorielles et qui fonctionne assez bien au delà de 8! (je ne me souviens pas à partir de quelle valeur il y a un problème de mémoire)...

Voici le code de la fonction en question (les commentaires sont entre accolades):

function FACTORIELLE(nb : integer):integer ;
{Cacul du factoriel d'un nombre}

begin
        if nb =0   {condition d'arrêt}
        then
                result := 1
        else     {descente dans la récursivité}
                result := nb*FACTORIELLE(nb-1);
end;

________________________

Voilà, j'espère que cela pourra t'aider.

à+

Posté par
cinnamon
re : Problème excel... 26-06-06 à 23:29

Je reviens sur ma remarque : "je ne me souviens pas à partir de quelle valeur il y a un problème de mémoire".

Oublie-là .

Le souci de mémoire n'intervient pas dans cette procédure-ci (j'ai vraiment besoin de sommeil ).

à+

Posté par
_Estelle_
re : Problème excel... 27-06-06 à 06:54

Bonjour cinnamon,

Je ne sais pas ce qu'est la récursivité. Je vais me renseigner pour essayer de comprendre ton programme.

Merci

Estelle

Posté par
J-P Posteur d'énigmes
re : Problème excel... 27-06-06 à 08:27

-Estelle_

En fonction de la version de turbo Pascal employée, la taille mémoire réservée pour une variable Integer diffère.

Sur d'anciennes versions du Turbo Pascal, la taille était de seulement 16 bits, comme l'Integer est un nombre signé, sur ces versions, un Integer peut varier de -32768 à +32767

Comme 7! = 5040, pas de problème, mais 8! = 40320 et donc n'est pas permis.

Sur d'autres versions de Turbo Pascal, une variable Integer est en 32 bits, et dans ce cas pas de problème avec 8!
-----

Posté par
Nicolas_75 Correcteur
re : Problème excel... 27-06-06 à 09:00

Estelle,

La récursivité n'est rien d'autre qu'une sorte de récurrence descendante.
On fait appel à la fonction... au coeur de la fonction.

Le programme proposée par cinnamon reprend exactement la définition suivante de la factorielle :
3$n!=\left\{\begin{array}{rl}
 \\ 1 & \mathrm{si}\; n=0\\
 \\ n\times (n-1)! & \mathrm{sinon}
 \\ \end{array}\right.

Nicolas

Posté par
stokastik
re : Problème excel... 27-06-06 à 12:28


Moi j'ai toujours conçu qu'un procédé "récursif" est un procédé par récurrence, montante ou descendante

Posté par
Nicolas_75 Correcteur
re : Problème excel... 27-06-06 à 13:19

Je suis d'accord avec toi sur le principe, stokastik : récurrence montante ou descendante.
Mais mon expérience me porte à croire que c'est la plupart du temps une récurrence descendante.
Mais chacun fait comme il veut...

Posté par
ines_03
help 26-06-08 à 09:07

je ss debutante au java  ........... a c ke tu peux m aider??????



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !