[Réglé] Demande d'aide Suite Mathématiques :o)

Demande d'aide Suite Mathématiques :o) [Réglé] - Algo - Programmation

Marsh Posté le 16-11-2005 à 21:02:01    

Bonjour,
Voila j'ai posté ce message et on ma conseiller de venir vous voir :

http://forum.hardware.fr/hardwaref [...] m#t1247106
 
Je suis entrain de galèrrer sur un programme en langage C et étant un novice j'aimerai bien savoir comment continuer le début de programme que j'ai fait.
Voici l'énoncé du probleme de maths, il sera plus explicite que moi :

 
Soit la suite de Pétiard U définie de la manière suivante :
U0 et U1 étant connus, on définit :

http://img222.imageshack.us/img222/9056/nouveauimagebitmap7ul.jpg
Selon les valeurs de U0 et U1, la limite de cette suite est 5, 6 ou 100. Nous allons montrer par un simple programme qu'un ordinateur se trompe sur cette simple suite.
 
Etude informatique :
Par programme : Ecrivez un programme qui saisit les données suivantes : la valeur de U0, la valeur de U1, ainsi que le rang n jusqu'auquel on souhaite faire le calcul. Vérifiez si les limites établies pour les valeurs de U0 et U1 dans l'étude mathématique sont valables.
Instabilité de la suite : La valeur 6 est nommée "point fixe instable" de la suite. Pour tenter de comprendre ce que recouvre cette appellation, il est intéressant de procéder au calculs suivants. U0 et U1 vont prendre des valeurs proches de 6 mais s'en éloignant petit à petit. On vous propose pour cela d'effectuer les calculs précédents en utilisant tout d'abord 6,000000000000000000001 (avec vingt 0), puis 6,0000000000000000001 (avec dix-neuf 0), puis 6,0000000000000000001 (avec dix-huit 0), et ainsi de suite jusqu'à voir apparaître un phénomène intéressant.

 

Code :
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5.   long n,cpt,i;
  6.   float terme_u,u0,u1,A,B;
  7.   for (i=1; i<(99*99); i++)
  8. {
  9.   printf("Entrez le rang :" );
  10.   scanf("%ld",&n);
  11.   if (n<2)
  12.   {
  13.   printf("Veuillez entrer un rang superieur a 2: \n" );
  14.   }
  15.   else
  16.   {
  17.   printf("Entrez u0 :" );
  18.   scanf("%lf",&u0);
  19.   printf("Entrez u1 :" );
  20.   scanf("%lf",&u1);
  21.   A=u0+(cpt+1);
  22.   B=u1+(cpt+1);
  23.   while(cpt<n)
  24.   {
  25.   terme_u=(111.0-(1130/A)+(3000/(A*B)));
  26.   cpt=cpt+1;
  27.   }
  28.   printf("Au rang %ld, U vaut %ld \n",n,terme_u);
  29. }
  30. }
  31.   system("pause" );
  32.   return 0;
  33. }


 
 
Merci de vos futures réponses.
Sincères Salutations.  :hello:

 
 :hello: Salut ;)


Message édité par CyberEpsilon le 16-11-2005 à 23:14:10
Reply

Marsh Posté le 16-11-2005 à 21:02:01   

Reply

Marsh Posté le 16-11-2005 à 21:22:12    

D'abord, pourquoi  
  for (i=1; i<(99*99); i++)  
Tu veux poser 9801 fois la question ?
 
Pour les permutations entre A, B et C, utilise des variables intermédiaires.


Message édité par Trap D le 16-11-2005 à 21:24:47
Reply

Marsh Posté le 16-11-2005 à 21:37:47    

non je veux poser indéfiniement la question mais je n'est trouvé que cette astuce ...

Reply

Marsh Posté le 16-11-2005 à 21:42:13    

while (1) alors.
Mais es-tu sûr que ce soit un bon mode de programmation, ton programme ne s'arrêtera jamais ???
"En général", on tape une valeur de fin (négative dans ton cas par exemple).

Reply

Marsh Posté le 16-11-2005 à 23:12:55    

Bon voila apres 2H de travail dessu j'ai réussi mon programme.
TOPIC CLOS!
Merci pour vos aide cela ma quand meme servi.
Pb Résolu.
Je réouvrerai un autre topic car j'aurai encore sans doute besoin de vous mais pour une autre partie :)
Ciao ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed