Algo 1 - TD - Serie 3 - Séance 1 Copie

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Série de TD N° 3 : Les boucles

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

TantQue Loyer <= 60000 Faire


Loyer ← Loyer + ((Loyer * 18) / 100)
nombreAnnees ← nombreAnnees + 1
FinTantQue

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

Pour mois de 1 à 12 Faire


Afficher("Entrez la quantité de pluie pour le mois ", mois, " : ")
Lire (quantitePluie)

Si quantitePluie > hauteurPluieMax Alors


hauteurPluieMax ← quantitePluie
moisPluieMax ← mois
FinSi
FinPour

Afficher("La hauteur de pluie la plus forte est de ", hauteurPluieMax, " mm, et cela s'est
produit en mois ", moisPluieMax)
Fin
Ex 06

Partie 1 - Ecrire le programme c qui affiche si un nombre est premier

Solution Partie 1 :

C’est quoi un nombre premier ? 2,3,5,7,9, …


 Ne peuvent être divisés que par 1 et par eux-mêmes.
 Les nombres inférieurs ou égaux à 1 ne sont pas premiers

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;

for (i = n - 1; i > 1; i--) {


if (n % i == 0) {
estPremier = false;
break;
}
}

if (estPremier) {
printf("%d est un nombre premier.\n", n);
}
}

return 0;
}

Vous aimerez peut-être aussi