Aider moi svp en programme c (boucle)

Résolu/Fermé
Linh - 31 oct. 2005 à 01:00
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 31 oct. 2005 à 12:09
bonjour
merci d'avoir choisir ce message...j'ai vrement besoin votre aide.. je ne sais pas comment le faire...je suis plante a l'ordi et je ne sais pas...

voici le instruction

Comme vous le savez tous, il y a une loi fondamentale de la physique qui a des implications assez profondes dans la vie moderne. Cette loi s’énonce comme suit :

• La vitesse de la lumière, c, est une constante universelle, peu importe le référentiel dans lequel on se trouve;
• Un objet ne peut jamais aller plus vite que c. C’est-à-dire, la vitesse, v, d’un objet qui se déplace dans l’espace libre, ne peut jamais atteindre ni dépasser la vitesse de la lumière dans l’espace, c; donc

o v < c

Vous avez sans doute remarqué que dans la série de télé-aventures ‘Startrek Enterprise,’ il arrive souvent que, afin de contourner cette loi fondamentale de la physique, le vaisseau spatial saute à des vitesses qui sont plus grandes que la vitesse de lumière, soit à ‘warp 1, warp 2,’ etc et le vaisseau se trouve alors dans un genre de ‘hyper-espace’ ou la loi ne s’applique plus. De la bonne science fiction, mais pas très réaliste (au moins, pas à notre stade de développement technologique).

En plus, au fur et à mesure que la vitesse d’un vaisseau spatial s’approche de la vitesse de la lumière dans l’espace, ils se produisent des phénomènes assez étranges. Ces phénomènes furent d’abord formulés mathématiquement par le physicien Lorentz et ensuite expliqués par Einstein dans sa théorie de relativité spéciale. En bref, les voici :

Si un observateur regarde le vaisseau et qu’il note la longueur L de celui-ci, plus que v se rapproche de c, plus que la longueur L’ observé du vaisseau spatial se rétrécisse. C’est-à-dire, la longueur L’ observée devient plus courte! Donc,
L’ < L

Cependant, pour l’équipage à l’intérieur du vaisseau, L demeure la même.

Mais, pire encore, lorsque v se rapproche de c, la durée de temps T’ observé par notre observateur s’allongera par rapport à la durée du temps telle qu’observée par le membres de l’équipage, T. Donc, par exemple, un voyage qui ne dure que trois heures du point de vue de l’équipage, pourrait durer plusieurs mois du point de vue de l’observateur! Donc,
T’ > T

On appelle le premier phénomène la contraction de la longueur et le deuxième phénomène, la dilation du temps.

Lorentz et Einstein nous ont donné des équations mathématiques qui nous permettront de calculer L’ et T’ en fonction de L et T respectivement :

• L’ = (1/GAMMA) * L (‘*’ veut dire multiplication)



o GAMMA = 1/sqrt(1 – v**2/c**2) (sqrt(x) veut dire, ‘racine carrée de x’ et x**2 veut dire x à la puissance 2);

Et la durée de temps observé

• T’ = GAMMA * T

La vitesse de la lumière dans l’espace libre est

c = 3*10**8 m/s (300,000 km/s).


On vous demande de faire un programme en C/C++ qui effectuera le calcul de L’ et de T’ comme suit :

D’abord, lire les valeurs de L et de T du clavier, par exemple, L = 100 m, T = 1 heure, ensuite, pour les valeurs successives de v telles que v < c, partant de v0 = c/2 en incréments de c/100, calculer les valeurs respectives de L’ et T’. Il faut imprimer les résultats en 5 colonnes, mettons, avec une entête du genre

Vitesse Longueur Longueur Contracté Durée Durée dilateé
Xx xx xxxx xxx xxx
Xx xx xxxx xxx xxx
Xx xx xxxx xxx xxx
Xx xx xxxx xxx xxx
Xx xx xxxx xxx xxx

Les XX, etc représente les données et les résultats.

Merci 1000 fois

2 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
31 oct. 2005 à 11:57
je dirai a vu comme ça :
#include<stdio.h>
#include<math.h>
#include<conio.h>   // j'suis plus sur pour conio.h  ....

void main(void)
{
int L,T;
int C= 3*10**8;  //j'ai laissé tes ** pour les puisances car je me souviens plus immédiatement de la syntahxe pour les exposants en C..
float V,T_prime,L_prime,gamma;

printf("\nCalcul des valeurs de L' et T'\n"); 

printf("\nValeur de L (en m) :\t");
fflush(stdin);
scanf("%d",&L);

printf("\nValeur de T (en h) :\t");
fflush(stdin);
scanf("%d",&T);

do
{
   gamma=1/((sqrt(1 – (V*V))/(C*C)));
   T_prime=gamma*T;
   L_prime=(1/gamma)*L;
   printf("\nL: %d, T: %d, -->L': %f ---- -->T': %f",L,T,L_prime,T_prime);

   C=C+(C/100);

}while(V<C);


}



voilà ,je pense que c'est a revoir un peu au niveau de la synthaxe mais l'esprit est la...(ça fait un peu de temps que j'ai pas codé en cet je viens de te faire ça de tête en speed...)

dis moi si ça marche, si y ades bugs...
@+

Zep3k!GnO
-->hi i hi o on va pas au boulot :P
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
31 oct. 2005 à 12:09
Merci 1000 fois
for(i=0;i<1000;i++)
{
   printf("\nDe Rien :D ");
}


Zep3k!GnO
-->hi i hi o on va pas au boulot :P
0