Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP #4: Les Structures Itératives: Objectifs

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

EPI-Digital School A.

U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

TP N° 4: Les structures Itératives

Objectifs
Manipuler les différentes structures répétitives disponibles en langage C et distinguer le
cas d'utilisation de chaque structure.

Rappel du cours

1- Structure do…while

do
{ bloc d’instructions }
while (expression) ;

2- Structure while

while (expression)
{ bloc d’instructions }

3- Structure for

for ( < expression1 > ; < expression2 > ; <expression3> )

{ bloc d’instructions }

 <expression1> est évalué une seule fois avant d’entrer dans la boucle, c’est une
affectation à la variable d’index.
 <expression2> est un test pour la poursuite de la boucle.
 <expression3> est évalué à la fin de chaque parcours, c’est une modification de la
variable d’index (exp : incrémentation d’un compteur) .
 On peut regrouper plusieurs actions dans une expression.

Exemple :

for(i=1,j=2 ;… ;… )

1
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

Exercices
Exercice N°1

Soit les programmes suivants :

Codes sources résultats


#include <stdio.h>
main()
{int i;
for(i=1;i<5;i++)
{printf("bonjour");
printf(" %d",i);
}
}
#include <stdio.h>
main()
{int i;
for(i=1;i<5;i++)
printf("bonjour");
printf(" %d",i);

}
#include <stdio.h>
main()
{int i;
for(i=1;i<5;i++);
printf(" %d",i);

}
#include <stdio.h>
main()
{int i;
i=1;
for(;i<5;)
{printf(" %d",i);
i++;
}
}
#include <stdio.h>
main()
{int i;
i=1;
for(;;)
printf(" %d",i);

}
#include <stdio.h>
main()
{int i;

2
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

i=1;
while(i<5)
{printf(" %d",i);
i++;
}
}
#include <stdio.h>
main()
{int i;
i=1;
do
printf(" %d",i);
i++;
while(i<5)
}

Sans utiliser la machine, donner le résultat de chaque programme.

Exercice N°2

Soit le programme suivant :

#include <stdio.h>
main()
{
int i,som ;
som = 0 ;
for (i=1 ; i<4 ; i++)

som += i ;

printf ("Somme : %d\n", som) ;


}

Écrire un programme réalisant exactement la même chose, en employant, à la place de


l’instruction for :
 une instruction while
 une instruction do... while.

Exercice N°3:
1. En utilisant la boucle while, écrire un programme qui demande à l'utilisateur un entier N,
puis il demande à l'utilisateur de saisir N nombres entiers puis affiche leur somme, leur
produit et leur moyenne.
2. Réécrire le programme en utilisant la boucle do..while.

3
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

Exercice N°4:
Ecrire un programme C qui lit un nombre entier N et affiche sa table de multiplication:
Exemple:
Pour N = 5, le programme affiche:
5x 0 = 0
5x1=5
5 x 2 = 10
5 x 3 = 15
...
5x 10 = 50

Exercice N°5:

Ecrire un programme C qui permet de calculer par multiplications successives XN de deux


entiers naturels X et N entrés au clavier.

Exercice N°6:
Écrire un programme qui demande un nombre paire compris entre 80 et 140, jusqu'à ce que
la réponse convienne. En cas de réponse supérieure à 140, on fera apparaître un message :
« Plus petit ! » , et inversement, « Plus grand ! » si le nombre est inférieur à 80. Si le nombre
n'est pas paire on affichera « le nombre est impaire ! »

>**********Deviner***************
>donner un nombre : 190
Plus petit !
>donner un nombre : 70
Plus grand !
> donner un nombre : 83
Le nombre doit être pair !
> donner un nombre : 92
Bravo !
***********Au revoir***************

Exercice N°7

Un nombre palindrome est un nombre symétrique, c-à-d égal à lui-même s’il est lu de gauche
à droite ou de droite à gauche. Par exemple : 11, 636, 42924 et 85077058 sont des nombres
palindromes. Écrire un programme C qui demande à l’utilisateur un entier puis affiche si ce
dernier est palindrome ou non.

Exercice N°8

1-Ecrire un programme C qui dessine le triangle isocèle suivant :

4
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

*
***
*****
*******
*********

Le nombre de ligne est fourni par l’utilisateur au clavier.

2-Modifier le programme pour afficher le triangle inversé

*********
*******
*****
***
*
Exercice N°9
Écrire un programme qui produit à l’écran la figure suivante. Le nombre de X ou de O est
entré au clavier par l’utilisateur. La valeur 0 sert à arrêter l’exécution.

Exemple :

Entrer une valeur entiere (0 si arret): 6

X
XX
XXX
XXXX
XXXXX
XXXXXX
OOOOOO
OOOOO
OOOO
OOO
OO
O

Entrer une valeur entiere (0 si arret): 3

X
XX
XXX
OOO
OO
O
Entrer une valeur entiere (0 si arret): 0

5
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

Entrer une valeur entiere (0 si arret): 0

Exercice N°10

Écrire un programme C qui détermine si un nombre entier positif donné comme paramètre
est un nombre d’Armstrong.
On rappelle qu’un nombre d’Armstrong est un entier naturel qui est égal à la somme des
cubes des
chiffres qui le composent.
Exemple :
153 = 13 +53 +33
153 est donc un nombre d’Armstrong. .

Exercice N°11

Deux entiers naturels strictement positifs m et n sont dits nombres amis si et seulement si :
– La somme des diviseurs de m sauf lui-même est égale à n,
– et la somme des diviseurs de n sauf lui-même est égale à m.

Exemple : 220 et 284 sont deux nombres amis. En effet :


– Les diviseurs de 284 sont : 1, 2, 4, 71, 142 =⇒ Leur somme est 220.
– Les diviseurs de 220 sont : 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 =⇒ Leur somme est 284.

Écrire alors un programme C qui :


1. Accepte deux entiers m et n strictement positifs.
2. Détermine puis affiche si les deux entiers saisis sont amis ou non.

Il est à noter que cette opération de saisie de deux entiers et d’affichage du fait qu’ils sont amis ou non
sera effectuée K fois sachant que K est un entier strictement positif saisi au préalable au clavier par
l’utilisateur. Par exemple, si la valeur de K saisie par l’utilisateur est égale à 3, cette opération sera
effectuée 3 fois.

Il est à noter que les contrôles de saisie nécessaires doivent être effectués.

Exercice 12
Une banque est ouverte de 8h00 à 12h00 et de 14h00 à 17h00 sauf le jeudi après-midi et le vendredi
toute la journée. On rappelle que l’heure est un entier compris entre 0 et 23 et que le jour peut être
associé à un entier de 1 à 7 (1 : samedi, 2 : dimanche,..., 7 : vendredi).
Écrire un programme qui :
1. demande à l’utilisateur de saisir un jour et une heure jusqu’à ce que la réponse convienne.
2. affiche ensuite le message "Votre banque est ouverte" si la banque est ouverte, et "Désolé, votre
banque est fermée" sinon.
3. indique quand et à quelle heure l’utilisateur peut revenir si la banque est fermée.
Voici quelques exemples d’exécution de ce programme :

6
EPI-Digital School A.U: 2023-2024
Département Informatique Enseignant: Mme I.CHAARI
de Gestion Niveau : 3GI

Vous aimerez peut-être aussi