Vous êtes sur la page 1sur 2

TP – noté – Groupe 2

Durée : 1h30.
Travail demandé.
La qualité de la programmation est prise en compte dans la notation.
Consigne pour la fin d’épreuve. Vous rassemblez vos fichiers sources dans une archive
nom_binome1_nom_binome2.zip que vous déposez dans la zone “CR TP” de l’ENT.

Durant cette séance, votre objectif est d'implémenter plusieurs programmes simples. Vous effectuez les exercices dans
l'ordre que vous voulez. Votre objectif est d'en faire un maximum pendant la séance.
Un compte-rendu (CR) est demandé à la fin de la séance, vous devez expliquer ce que vous avez fait et compris, en
répondant aux questions posées lorsqu’elles le sont. Je rappelle que ce CR est noté et qu’il contribue à 1/3 de la note
finale de l’enseignement :
• Faire l'analyse (spécifications) de chaque programme que vous allez le réaliser. L'analyse doit figurer dans
le CR.
• Insérer le code écrit pour chaque exercice réalisé
• Votre code doit être commenté. Par exemple :
o Toutes les variables soient ‘’présentées’’ en commentaire (exemple, int total ; //total sert à… ). Si
vous souhaitez insérer un commentaire sur plusieurs lignes, utilisez la commande comme suit :
/* ceci est un commentaire
sur 2 lignes */
o Toutes les fonctions soient documentées, avec obligatoirement les 4 "rubriques" :
a) "Données : …"
b) "Résultat : …"
c) "Précondition"
d) "Post-condition"

Exercice 1. (des-boucles-for) Groupe 2


1. Avec deux boucles for, écrire le programme qui produise l’affichage suivant.

1
1 2 3
2
1 2 3
3
1 2 3
4
1 2 3
2. Après avoir déclaré et initialisé une chaîne de caractères à la valeur abcde, écrire les programmes qui
parcourent la chaîne de caractères pour donner les affichages suivants. Le cas présenté correspond à
l’affichage de 4 caractères maximum. Une seconde version de ces programmes permettra de lire au clavier
le nombre de caractères maximal à afficher.
1
a
2
ab
3
abc
4
abcd

1
Exercice 2 opérations sur les matrices
Soient deux matrices X et Y dont les valeurs sont des float. Le produit X Y donne la matrice présentée un peu plus
loin. Ecrire les programmes qui :
1. définit et initialise les matrices X et Y,
2. calcule la matrice produit A=XY ,
3. l’affiche,
4. Dans le main, on déclare les deux variables valeurMax de type float et indiceMax_ligne,
indiceMax_colonne de type int. Ecrire une fonction qui identifie et retourne la valeur ainsi que les indices
de la plus grande composante en valeur absolue sans utiliser des tableaux de résultats.
5. l’utilisateur saisie au clavier les nouvelles valeurs de la diagonale de la nouvelle matrice, i.e. A[i,i].
Attention, on n’utilise pas de variable intermédiaire.

Exemple : soient les deux vecteurs


X=1 2
3 4
Y=5 6
7 8
Une exécution de votre programme donnera à l’écran ce qui suit.
A= 19.0 22.0
43.0 50.0

La valeur max est A(1,1) = 50.0

Rappel : La fonction fabs(float x) de la bibliothèque math.h vous permet de calculer la valeur absolue d’un
float.

Exercice 3 Bonus
Il s’agit de développer une fonction table-carres qui permet de calculer et stocker dans un vecteur les carrés des N
premiers entiers. Le tableau doit être géré de façon dynamique (utilisation des pointeurs). Une autre fonction
permet d’afficher les carrés. Le programme effectue un traitement dynamique pour une valeur entière définie par
l’utilisateur comme un paramètre de l’appel à la fonction table-carres.
Deux appels de ce programme donnent donc à l’écran ce qui suit. :
Saisir la taille N de votre tableau : 5
1
4
9
16
25

Saisir la taille N de votre tableau : 7


1
4
9
16
25
36
49
Consignes : pas de tableau en dur, vous devez travailler avec des pointeurs et
l’allocation dynamique ; la fonction main doit contenir que des appels des
fonctions et un minimum d’instructions.

Vous aimerez peut-être aussi