Algorithmique II - TD 1: Approximation de e^x et Nombres Parfaits

Telechargé par ZAKARIA AZZIMANI
asmae.elghazi@ump.ac.ma
Algorithmique II - TD 1:
Approfondissement des bases en algorithmique
Exercice 1:
Écrire un algorithme qui calcule une approximation de exavec la formule :
ex=1+x+x2
2!+ · · · + x100
100!
~
Solution 1: Écrire un algorithme qui calcule une approximation de exavec la formule :
Algorithme : Approximation de expar série de Taylor
Variable
x,resultat,Terme : Réel
k: Entier
DEBUT
Écrire("entrez une valeur : ")
Lire(x)
Si x>10 ou x<10 Alors
Écrire("Attention :",
x
," doit être compris entre
10
et
10
pour éviter les dépassements
de capacité.")
Sinon
resultat 1.0
Terme 1.0
Pour kallant de 1à100 Faire
Terme Terme x/k
resultat resultat +Terme
FinPour
Écrire("L’approximation est :", resultat)
FinSi
FIN
Exercice 2:
Un entier positif est dit parfait s’il est égal à la somme de ses diviseurs propres (excepté lui-même).
Par exemple :
6=1+2+3,28 =1+2+4+7+14
1|7
1er mars 2026
1.
Écrire une fonction booléenne
estParfait
qui renvoie
vrai
si son argument est un nombre
parfait.
2. Écrire un algorithme qui aiche tous les nombres parfaits inférieurs à 1000. ~
Solution 2:
1. Écrire une fonction booléenne estParfait qui renvoie vrai si son argument est un nombre
parfait.
Fonction estParfait(n: Entier) : Booléen
Variable
i,somme : Entier
DEBUT
somme 0
Pour iallant de 1àn/2Faire
Si nmod i=0alors
somme somme +i
FinSi
FinPour
Si somme =nalors
Retourner vrai
FinSi
Retourner faux
FIN
2. Écrire un algorithme qui aiche tous les nombres parfaits inférieurs à 1000.
Algorithme : Nombres parfaits inférieurs à 1000
Variable
i: Entier
DEBUT
Pour iallant de 1à999 Faire
Si estParfait(i)alors
Écrire(i)
FinSi
FinPour
FIN
Exercice 3:
1.
Écrire une procédure
calculSommeEtMoyenne
qui calcule la somme et la moyenne d’un
tableau de réels de taille N.
2. Écrire un programme principal qui :
Déclare un tableau Tab de type réel et de taille N.
Lit les éléments du tableau au clavier et les aiche.
2|7
1er mars 2026
asmae.elghazi@ump.ac.ma
Aiche la somme et la moyenne du tableau Tab.~
Solution 3:
Procédure calculSommeEtMoyenne(tab : Tableau de Réel, N: Entier)
Variable
i: Entier
somme,moyenne : Réel
DEBUT
somme 0
Pour iallant de 0àN1Faire
somme somme +tab[i]
FinPour
moyenne somme/N
Écrire("Somme :", somme)
Écrire("Moyenne :", moyenne)
FIN
Algorithme : Programme principal
Variable
Tab : Tableau[100] de Réel
N,i: Entier
DEBUT
Écrire("Entrez la taille du tableau (max 100) :")
Lire(N)
Si N<1ou N>100 alors
Écrire("Taille invalide")
Sinon
Pour iallant de 0àN1Faire
Écrire("Entrez l’élément", i+1, " :")
Lire(Tab[i])
FinPour
Écrire("Tableau saisi :")
Pour iallant de 0àN1Faire
Écrire(Tab[i])
FinPour
calculSommeEtMoyenne(Tab, N)
FinSi
FIN
3|7
1er mars 2026
Exercice 4:
Définir un algorithme qui permet d’ajouter une seconde à un temps représenté sous la forme (heure,
minute, seconde), en utilisant la procédure ajouterUneSeconde.~
Solution 4:
Procédure ajouterUneSeconde(heure,minute,seconde : Entier)
Variable
nouvelleSeconde : Entier
DEBUT
nouvelleSeconde seconde +1
Si nouvelleSeconde =60 alors
nouvelleSeconde 0
minute minute +1
Si minute =60 alors
minute 0
heure heure +1
Si heure =24 alors
heure 0
FinSi
FinSi
FinSi
seconde nouvelleSeconde
Écrire("Nouveau temps :", heure, "h", minute, "m", seconde, "s")
FIN
Exercice 5:
Dans une entreprise, le calcul des jours de congés payés s’eectue de la manière suivante :
Si un employé a moins d’un an d’ancienneté, il a droit à 2 jours de congé par mois.
Sinon, il a droit à 28 jours minimum.
Si c’est un cadre :
À partir de 35 ans et plus de 3 ans d’ancienneté, il obtient 2 jours supplémentaires.
À partir de 45 ans et plus de 5 ans d’ancienneté, il obtient 4 jours supplémentaires,
en plus des 2 précédents.
1.
Définir la fonction
nombreJoursCongés
qui calcule le nombre de jours de congés à partir de
l’âge, de l’ancienneté et de l’appartenance au collège cadre d’un employé.
2. Définir une fonction principale et aicher le résultat.
~
4|7
1er mars 2026
asmae.elghazi@ump.ac.ma
Solution 5:
1.
Fonction nombreJoursConges(
age
,
anciennete
: Entier,
estCadre
: Booléen) : En-
tier
Variable
joursConges : Entier
DEBUT
Si anciennete <12 alors
joursConges 2anciennete
Sinon
joursConges 28
Si estCadre alors
Si age >=35 et anciennete >(312)alors
joursConges joursConges +2
FinSi
Si age >=45 et anciennete >(512)alors
joursConges joursConges +4
FinSi
FinSi
FinSi
Retourner joursConges
FIN
2. Fonction principale() : Entier
Variable
age,anciennete : Entier
estCadre : Booléen
DEBUT
Écrire("Entrez l’âge de l’employé :")
Lire(age)
Écrire("Entrez l’ancienneté de l’employé (en mois) :")
Lire(anciennete)
Écrire("L’employé est-il cadre? (vrai/faux) :")
Lire(estCadre)
Écrire("Jours de congés :",
nombreJoursConges(age,anciennete,estCadre)
)
Retourner 0
FIN
Exercice 6:
Écrire un algorithme permettant de calculer la Somme des
n
premiers entiers élevés à la puissance 5 :
Écrire une fonction itérative.
Écrire une fonction récursive.
~
5|7
1er mars 2026
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!