Guillaume Rivière 2010 – 2017

Le logo de la CCI Bayonne Pays Basque

Programmation Procédurale en langage C

TP2 - Briques de base (2) - Partie 2

FYI AVERTISSEMENT SUR LE NIVEAU DE DIFFICULTÉ : Le niveau de logique nécessaire pour résoudre les exercices suivants est tout à fait à votre portée. Ces exercices, qualifiés de « Briques de bases », sont donnés à des lycéens en classe de première S et de terminale S.

Exercice 1 • Recommencer plusieurs fois

En reprenant le code de votre programme de l'exercice 1 du TP1-P2, écrivez un programme dans lequel l'utilisateur entre plusieurs fois des nombres entiers au clavier, qui affiche à chaque fois le carré du nombre, et qui s'arrête quand l'utilisateur donne la valeur nulle

Vous utiliserez une variable d'aide continuer qui vaudra 1 (c.-à-d. VRAI) au départ, et une boucle « while » :

while (condition) {     /* condition pour entrer (ou re-entrer) */
 ...
}

Exécution carre.exe
Figure 1.1

Exercice 2 • Puissance

Écrire un programme qui calcule N puissance P après avoir récupéré les valeurs des deux nombres entiers N et P au clavier

Exécution puissance.exe Exécution puissance.exe
Figure 2.1

Pour information, la puissance xy peut se calculer avec les fonctions pow() et powf() de la bibliothèque mathématiques standard : double pow (double x, double y); et float powf (float x, float y);
Mais, nous ne les utiliserons pas ici.

Exercice 3 • Tables de multiplication

Question 3.1

Écrire un programme dans lequel l'utilisateur donne au clavier un nombre entier compris entre 1 et 20 (donc boucle de contrôle), et qui affiche la table de multiplication correspondante (via deux boucles « for » imbriquées).

  1. Pour la vérification que le nombre entré est dans l'intervalle 1..20, utiliser une boucle « do while » :

    do {
    ...
    } while (condition) ;     /* condition pour continuer a boucler */


  2. Pour afficher la table, faire varier un couple d'indices (i,j) en utilisant deux boucles « for » imbriquées.
    La première boucle portera sur l'indice i.
    La deuxième boucle, à l'intérieur de la première, portera sur l'indice j.
    Ainsi, l'indice j variera pour chacune des valeurs de i, et à l'intérieur de la deuxième boucle tous les couples (i,j) possibles auront effectivement été pris. (Il "suffit" donc de calculer i*j à l'intérieur de la deuxième boucle)
Exécution table-mult.exe Exécution table-mult.exe
Figure 3.1.1

Exercice 4 • Distributeur automatique de banque

Question 4.1

Écrire un programme qui demande la somme désirée et qui décompose cette somme en billets de 100€, 50€, 20€ et 10€.

Le distributeur favorisera les billets de plus grande valeur afin de donner un nombre minimum de billets. Ainsi, une somme de 130€ sera distribuée comme ceci : [100€] [20€] [10€]

La somme demandée par l'utilisateur devra être un multiple de 10 (donc boucle de contrôle)

Exécution distributeur.exe Exécution distributeur.exe Exécution distributeur.exe
Figure 4.1.1
Question 4.2

Adapter ce programme pour factoriser la distribution des billets

Exécution distributeur.exe Exécution distributeur.exe
Figure 4.2.1