Algo 1 - TD - Serie 3 - Séance 1 Copie
Algo 1 - TD - Serie 3 - Séance 1 Copie
Algo 1 - TD - Serie 3 - Séance 1 Copie
Activités Temps
Ex 02
Un locataire loue un appartement à 25000 DA le mois. Chaque année, le propriétaire
augmente le loyer de 18%. Le locataire souhaite quitter l’appartement juste avant que le loyer
ne dépasse 60000 DA
Ecrire un algorithme qui permet de calculer et d’afficher le nombre d’années où le locataire
restera dans cet appartement.
Solutation :
Début
Loyer ← 25000
nombreAnnees ← 0
Afficher("Le locataire restera dans l'appartement pendant ", nombreAnnees, " années.")
Fin
Exo 04:
Écrire un algorithme qui lit les quantités de pluie par mois (en mm) tombée durant un an (de
janvier à décembre), puis affiche :
• la hauteur de pluie la plus forte ainsi que le numéro du mois où cela s’est produit,
Début
hauteurPluieMax ← -1
moisPluieMax ← 0
Afficher("La hauteur de pluie la plus forte est de ", hauteurPluieMax, " mm, et cela s'est
produit en mois ", moisPluieMax)
Fin
Ex 06
Solution Partie 1 :
Ex : N=10
Vous allez deviser le 10 par 9, 8, 7, 6, … Si le modulo est 0, le nombre est n’est pas premier
#include <stdio.h>
#include <stdbool.h>
int main() {
int n;
bool estPremier = true;
printf("N: ");
scanf("%d", &n);
if (n <= 1) {
printf("N'est pas premier, essaye des nombres plus grands que
1.\n");
} else {
for (int i = n - 1; i > 1; i--) {
if (n % i == 0) {
estPremier = false;
printf("%d mod %d = 0\n", n, i);
break;
}
}
if (estPremier) {
printf("%d est un nombre premier.\n", n);
} else {
printf("%d n'est pas un nombre premier.\n", n);
}
}
return 0;
}
Partie 2 : Modifier l'algorithme précédent pour qu'il soit capable d'afficher tous les nombres
premiers entre 1 et 100. ( on accepte toutes les solutions)
#include <stdio.h>
#include <stdbool.h>
int main() {
int n; int i;
for (n = 100; n > 1; n--) {
bool estPremier = true;
if (estPremier) {
printf("%d est un nombre premier.\n", n);
}
}
return 0;
}