DEUG MIAS
Module Info 2
Travaux pratiques
Séance 5:
Itérations
TP 5 : Itérations
1. Ecrire un programme court qui inclut dans le corps d'une
boucle for où n est le compteur de boucle
l'instruction
n = n+1. Le compilateur admet-il cette instruction?
Peut-on utiliser un réel dans l'en-tête d'une boucle for?
Tester par exemple :for ( n = 0; n < 10; n =n +
0.5).
Exécuter un petit programme contenant ces deux
lignes:
for (n = 0; n < 10; n++); /* noter ce point
virgule*/
printf("Hello \n");
Expliquer ce qui se produit.
2. Exécuter ce code (noter le point virgule après
l'en-tête de la boucle while):
counter = 5;
while (counter < 10);
{
printf("<a message> \n");
}
Que se passe-t-il? Comparer avec l'exercice 1.
Exécuter ce même code mais en initialisant counter
à 15. Quelle est la différence?
3. Déclarer counter de type float et écrire un
petit programme contenant ces deux instructions:
counter = 0.0;
while (counter != 1.0)
{
counter = counter + 0.1;
printf("%f \n", counter);
}
Est-ce que la boucle s'arrête lorsque counter vaut
1.0? Est-il habile d'utiliser un réel comme variable de
contrôle?
4. Ecrire un programme qui lit une ligne entrée au clavier
et compte le nombre de voyelles de cette ligne. Entrée: Une ligne de texte terminée par une
astérisque Sortie: La phrase " Le nombre de voyelles dans la ligne
est xxx" où xxx est le nombre de voyelles dans la ligne
entrée.
5. Ecrire un programme qui convertit une suite de 5 chiffres
en le nombre ayant ces 5 chiffres dans l'ordre inverse. Entrée: Cinq chiffres, entrés 1 par ligne Sortie: Le nombre ayant ces 5 chiffres dans l'ordre
inverse.
6. Ecrire un programme qui calcule le nombre de chiffres d'un
entier. Entrée: Un entier Sortie: La phrase " Le nombre de chiffres de xxx est
yyy" où xxx est l'entier entré, et yyy est son nombre de
chiffres.
7. Améliorer le programme de mise à jour d'un compte
bancaire : l'utilisateur peut faire plusieurs opérations
successives, lorsqu'il a terminé il entre au clavier la
lettre "f".