Université Assane Seck de Ziguinchor Année universitaire 2023-2024
UFR des Sciences et Technologies
Département Informatique
----------------------
Licence 2 en Ingénierie Informatique
Unité d’Enseignement : Algorithmique et Programmation 3
Élément Constitutif : Algorithmique et Structures de données
---------------------
Responsable CM : Mouhamadou Gaye
TD-TP : Mouhamadou GAYE
TD 1
Exercice 1
Quelle est la valeur affectée aux différentes variables par chacune des instructions suivantes :
• q = n > p;
• q = n != p;
• q = p / n + p < n;
• m = p / n;
• x = p % n;
• m = (float) p / n;
• x = (p+0.5) / n;
• m = (int) (p + 0.5) / n;
• q = p > n ? n : p;
• q = n * (p > n ? n : p);
Exercice 2
Écrire un programme C qui trouve pour un réel les deux carrés parfaits les plus proches qui
l’encadrent.
On rappelle qu’un carré parfait est un entier dont la racine carrée est aussi un entier.
Exemple: 9 = 3×3 et 4 = 2×2 sont des carrés parfaits ; or, 5 ne l’est pas.
Exercice 3
Un fermier fait l’levage de montons et de dindons et, au moment de payer ses impôts, il
déclare curieusement: j’ai dans mon levage 36 têtes et 100 pattes ! Trouver un algorithme
pour déterminer le nombre de moutons et de dindons, puis le traduire en C selon le schéma
suivant (M: moutons, D: dindons, P: pattes).
Exercice 4
1. Écrire une fonction qui lit une suite de nombres et détermine la moyenne des nombres
saisis. La saisie s’arrête avec le nombre 0.
2. Écrire une fonction récursive qui retourne la notation binaire d'un entier naturel. Par
exemple : 25 = 1⋅24 + 1⋅23 + 0⋅22 + 0⋅21 + 1⋅20 → 11001.
3. Écrire une fonction récursive qui retourne la notation décimale d'un nombre binaire.
Par exemple : 11001 → 25.
4. Écrire une fonction qui prend en paramètre un entier positif n et donne comme résultat
la somme:
Exercice 5
Un entier positif N à p chiffres est appelé nombre de Kaprekar si, lorsqu’on élève N au carré,
la somme du nombre composé des p chiffres de droite au nombre composé des p ou p-1
chiffres de gauche redonne le nombre d’origine.
Exemples :
92 = 81 et 1 + 8 = 9, donc 9 est un nombre de Kaprekar.
452 = 2025 et 20 + 25 = 45, donc 45 est un nombre de Kaprekar.
2972 = 88209 et 209 + 88 = 297, donc 297 est un nombre de Kaprekar..
Écrire un programme qui récupère un entier et indique si ce dernier est un nombre de
Kaprekar ou ne l’est pas.