une Base Solide en Programmation
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
une Base Solide en Programmation

C++/Java/Delphi/Assembleur
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

 

 la 2eme partie de la solution de la série 03

Aller en bas 
AuteurMessage
Asma
soldat
soldat



Féminin
Nombre de messages : 19
Age : 36
Localisation : el attaf
Loisirs : lecture
Date d'inscription : 17/05/2007

la 2eme partie de la solution de la série 03 Empty
MessageSujet: la 2eme partie de la solution de la série 03   la 2eme partie de la solution de la série 03 Icon_minitimeLun 27 Aoû - 20:22

Exercice 9

Calculez le P.G.C.D. de deux entiers naturels entrés au clavier en utilisant l'algorithme d'EUCLIDE

la solution:

Code:

#include<stdio.h>
main()
{
int A, B; /* données */
int X, Y, RESTE; /* var. d'aide pour l'algorithme d'Euclide */[/size]

[size=12] do
{
printf("Entrer l'entier A (non nul) : ");
scanf("%d", &A);
}
while(!A);
do
{
printf("Entrer l'entier B (non nul) : ");
scanf("%d", &B);
}
while(!B);

for (RESTE=A, X=A, Y=B ; RESTE ; X=Y, Y=RESTE)
RESTE = X%Y;

printf("Le PGCD de %d et de %d est %dn", A, B, X);
return 0;
}


Exercice 10 (serie tp systeme exploitation 3eme année sur 4 points de la note tp 2006/2007)

Calculez le N-ième terme UN de la suite de FIBONACCI qui est donnée par la relation de récurrence:
U1=1 U2=1 UN=UN-1 + UN-2 (pour N>2)



Déterminez le rang N et la valeur UN du terme maximal que l'on peut calculer si on utilise pour UN :

- le type int

- le type long

- le type double

- le type long double

la solution:

Code:

#include<stdio.h>
main()
{
int U1, U2, UN; /* pour parcourir la suite */
int N; /* rang du terme demandé */
int I; /* compteur pour la boucle */
do
{
printf("Rang du terme demandé : ");
scanf("%d", &N);
}
while(N<1);

U1=U2=1; /* Initialisation des deux premiers termes */
if (N==1)
UN=U1;
else if (N==2)
UN=U2;
else
{
for (I=3 ; I<=N ; I++)
{
UN = U1+U2;
U1 = U2;
U2 = UN;
}
}
printf("Valeur du terme de rang %d : %dn", N, UN);
return 0;
}
/*Rang et terme maximal calculable en utilisant les déclarations :

int U1, U2, UN;

(spéc. de format : %d)
U23 = 28657

long U1, U2, UN;
(spéc. de format : %ld)
U46 = 1836311903

double U1, U2, UN;
(spéc. de format : %e)
U1476 = 1.306989e308

long double U1, U2, UN;
(spéc. de format : %Le)
U23601 = 9.285655e4931*/




Exercice 11

a) Calculez la racine carrée X d'un nombre réel positif A par approximations successives en utilisant la relation de récurrence suivante:
XJ+1 = (XJ + A/XJ) / 2 X1 = A





La précision du calcul J est à entrer par l'utilisateur.

b) Assurez-vous lors de l'introduction des données que la valeur pour A est un réel positif et que J est un entier naturel positif, plus petit que 50.

c) Affichez lors du calcul toutes les approximations calculées :

La 1ère approximation de la racine carrée de ... est ...

La 2e approximation de la racine carrée de ... est ...

La 3e approximation de la racine carrée de ... est ...

la solution:

Code:

#include<stdio.h>
main()
{
double A; /* donnée */
double X; /* approximation de la racine carrée de A */
int N; /* degré/précision de l'approximation */
int J; /* degré de l'approximation courante */

do
{
printf("Entrer le réel positif A : ");
scanf("%lf", &A);
}
while(A<0);
do
{
printf("Entrer le degré de l'approximation : ");
scanf("%d", &N);
}
while(N<=0 || N>=50);

for(X=A, J=1 ; J<=N ; J++)
{
X = (X + A/X) / 2;
printf("La %2d%s approximation de la racine carrée"
" de %.2f est %.2fn", J, (J==1)?"ère":"e", A, X);
}
return 0;
}

[size=12]Exercice 12

Affichez un triangle isocèle formé d'étoiles de N lignes (N est fourni au clavier):
Code:
#include <stdio.h>
main()
{
 int LIG;  /* nombre de lignes        */
 int L;    /* compteur des lignes    */
 int ESP;  /* nombre d'espaces        */
 int I;    /* compteur des caractères */
 do
  {
    printf("Nombres de lignes : ");
    scanf("%d", &LIG);
  }
 while (LIG<1 || LIG>20);
 
 for (L=0 ; L<LIG ; L++)
  {
    ESP = LIG-L-1;
    for (I=0 ; I<ESP ; I++)
        putchar(' ');
    for (I=0 ; I<2*L+1  ; I++)
        putchar('*');
    putchar('\n');
  }
  return 0;
}
Exercice 13:
Affiche la table des produits pour N variant de 1 à 10 :
Code:
#include <stdio.h>
main()
{
 const int MAX = 10; /* nombre de lignes et de colonnes */
 int I;              /* compteur des lignes  */
 int J;              /* compteur des colonnes */
 /* Affichage de l'en-tête */
 printf(" X*Y I");
 for (J=0 ; J<=MAX ; J++)
        printf("%4d", J);
 printf("\n");
 printf("------");
 for (J=0 ; J<=MAX ; J++)
        printf("----");
 printf("\n");
 
 /* Affichage du tableau */
 for (I=0 ; I<=MAX ; I++)
      {
      printf("%3d  I", I);
      for (J=0 ; J<=MAX ; J++)
            printf("%4d", I*J);
      printf("\n");
      }
  return 0;
}
Revenir en haut Aller en bas
 
la 2eme partie de la solution de la série 03
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» tableaux partie 1
» 1 exo sur les chaines

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
une Base Solide en Programmation :: HBPCCLUB ACADEMY :: C :: EXERCICES-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser