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 du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 La 1ere partie de la solution de la série03

Aller en bas 
2 participants
AuteurMessage
Asma
soldat
soldat



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

La 1ere partie de la solution de la série03 Empty
MessageSujet: La 1ere partie de la solution de la série03   La 1ere partie de la solution de la série03 Icon_minitimeLun 27 Aoû - 19:52

Exercice 1
Ecrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre N est à entrer au clavier. Résolvez ce problème,
a) en utilisant while,
b) en utilisant do - while,
c) en utilisant for.
d) Laquelle des trois variantes est la plus naturelle pour ce problème?
Code:


/* en utilisant while*/

#include <stdio.h>

main()

{

int N; /* nombre de données */

int NOMB; /* nombre courant */

int I; /* compteur */

long SOM; /* la somme des nombres entrés */

double PROD; /* le produit des nombres entrés */



printf("Nombre de données : ");

scanf("%d", &N);



SOM=0;

PROD=1;

I=1;

while(I<=N)

{

printf("%d. nombre : ", I);

scanf("%d", &NOMB);

SOM += NOMB;

PROD *= NOMB;

I++;

}

printf("La somme des %d nombres est %ld n", N, SOM);

printf("Le produit des %d nombres est %.0fn", N, PROD);

printf("La moyenne des %d nombres est %.4fn", N, (float)SOM/N);

return 0;

}


la partie -b- :

en utilisant do…….while :



SOM=0;

PROD=1;

I=1;

do

{

printf("%d. nombre : ", I);

scanf("%d", &NOMB);

SOM += NOMB;

PROD *= NOMB;

I++;

}

while(I<=N);

la partie –c- :

en utilisant for:


for (SOM=0, PROD=1, I=1 ; I<=N ; I++)

{

printf("%d. nombre : ", I);

scanf("%d", &NOMB);

SOM += NOMB;

PROD *= NOMB;

}
Exercice 2 :
Complétez la 'meilleure' des trois versions de l'exercice 1: Répétez l'introduction du nombre N jusqu'à ce que N ait une valeur entre 1 et 15. Quelle structure répétitive utilisez-vous? Pourquoi?

La solution :

-- remplacez les lignes suivants :

/*printf("Nombre de données : ");

scanf("%d", &N);*/

par :

/*do

{

printf("Nombre de données : ");

scanf("%d", &N);

}

while(N<1 || N>15);*/

****Quelle structure répétitive utilisez-vous? Pourquoi?





Comme il n'y pas d'initialisation ni de réinitialisation

de variables, nous avons le choix entre while et do - while.

Comme l'introduction du nombre de données doit toujours être

exécuté (au moins une fois), le plus naturel sera l'utilisation

de la structure do - while.

Exercice 3:
Calculez par des soustractions successives le quotient entier et le reste de la division entière de deux entiers entrés au clavier.[/size]
la solution:
Code:
#include<stdio.h>
main()
{
int NUM; /* numérateur de la division entière */
int DEN; /* dénominateur de la division entière */
int DIV; /* résultat de la division entière */
int RES; /* reste de la division entière */
printf("Introduisez le numérateur : ");
scanf("%d", &NUM);
printf("Introduisez le dénominateur : ");
scanf("%d", &DEN);
RES=NUM;
DIV=0;
while(RES>=DEN)
{
RES-=DEN;
DIV++;
}
/* ou mieux encore : */
/*
for (RES=NUM, DIV=0 ; RES>=DEN ; DIV++)
RES-=DEN;
*/
printf(" %d divisé par %d est %d reste %dn", NUM, DEN, DIV, RES);
return 0;
}
Exercice 4
Calculez la factorielle N! = 1*2*3...(N-1)N d'un entier naturel N en respectant que 0!=1.
a) Utilisez while,
b) Utilisez for.
la solution:
Code:
#include<stdio.h>
main() //ajoutez et supprimer les comentaires
{
int N; /* La donnée */
int I; /* Le compteur */
double FACT; /* La factorielle N! - Type double à */
/* cause de la grandeur du résultat. */
do
{
printf("Entrez un entier naturel : ");
scanf("%d", &N);
}
while (N<0);

/* a */
/* Pour N=0, le résultat sera automatiquement 0!=1 */
I=1;
FACT=1;
while (I<=N)
{
FACT*=I;
I++;
}

/* b */
/* Pour N=0, le résultat sera automatiquement 0!=1 */
/*
for (FACT=1.0, I=1 ; I<=N ; I++)
FACT*=I;
*/
printf ("%d! = %.0fn", N, FACT);
return 0;
}

Exercice 5
Calculez par multiplications successives XN de deux entiers naturels X et N entrés au clavier
la solution:
Code:
#include<stdio.h>
main()
{
int X, N; /* Les données */
int I; /* Le compteur */
double RESU; /* Type double à cause de la */
/* grandeur du résultat. */
do
{
printf("Entrez l'entier naturel X : ");
scanf("%d", &X);
}
while (X<0);
do
{
printf("Entrez l'exposant N : ");
scanf("%d", &N);
}
while (N<0);

/* Pour N=0, le résultat sera automatiquement X^0=1 */
for (RESU=1.0, I=1 ; I<=N ; I++)
RESU*=X;

/* Attention: Pour X=0 et N=0 , 0^0 n'est pas défini */
if (N==0 && X==0)
printf("zéro exposant zéro n'est pas défini !n");
else
printf("Résultat : %d ^ %d = %.0fn", X, N, RESU);
return 0;
}


Dernière édition par le Mar 28 Aoû - 22:06, édité 2 fois
Revenir en haut Aller en bas
Benayada Houari
Administrateur
Administrateur
Benayada Houari


Masculin
Nombre de messages : 89
Age : 37
Localisation : Chlef
Loisirs : Sport
Date d'inscription : 14/03/2007

La 1ere partie de la solution de la série03 Empty
MessageSujet: Question?   La 1ere partie de la solution de la série03 Icon_minitimeMar 28 Aoû - 21:31

include quoi?
Ou est stdio.h
Revenir en haut Aller en bas
Asma
soldat
soldat



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

La 1ere partie de la solution de la série03 Empty
MessageSujet: Re: La 1ere partie de la solution de la série03   La 1ere partie de la solution de la série03 Icon_minitimeMar 28 Aoû - 23:02

Merci pour la remarque;
avant d'envoyer le code il y avait <stdio.h> mais quand je l'ai envoyé il s'est effacé et je ne sais pas pourquoi?
Revenir en haut Aller en bas
Contenu sponsorisé





La 1ere partie de la solution de la série03 Empty
MessageSujet: Re: La 1ere partie de la solution de la série03   La 1ere partie de la solution de la série03 Icon_minitime

Revenir en haut Aller en bas
 
La 1ere partie de la solution de la série03
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» les chaines de caractere 1ere partie
» tableaux partie 1
» pointeur&chaine de caractere

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