CyberEpsilon | Hello les gens,
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 :
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 :
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- long n,cpt,i;
- float terme_u,u0,u1,A,B;
- for (i=1; i<(99*99); i++)
- {
- printf("Entrez le rang :" );
- scanf("%ld",&n);
- if (n<2)
- {
- printf("Veuillez entrer un rang superieur a 2: \n" );
- }
- else
- {
- printf("Entrez u0 :" );
- scanf("%lf",&u0);
- printf("Entrez u1 :" );
- scanf("%lf",&u1);
- A=u0+(cpt+1);
- B=u1+(cpt+1);
- while(cpt<n)
- {
- terme_u=(111.0-(1130/A)+(3000/(A*B)));
- cpt=cpt+1;
- }
- printf("Au rang %ld, U vaut %ld \n",n,terme_u);
- }
- }
- system("pause" );
- return 0;
- }
|
Merci de vos futures réponses.
Sincères Salutations. |