Algorithme appliqué Devoir1
TD : Algorithme appliqué Devoir1. Recherche parmi 300 000+ dissertationsPar Mrpeon • 29 Octobre 2022 • TD • 721 Mots (3 Pages) • 239 Vues
Algorithmique appliquée
Devoir 1
programme poids
// déclarations
nb : entier long // nombre entier à analyser
tabPosition[0..9][0..8] : entier // mémorisation des positions de chaque chiffre
chiffre : entier // pour récupérer un chiffre du nombre
position : entier // pour mémoriser la position du chiffre dans le nombre
k : entier // compteur
// boucle sur la saisie du nombre (précédée d’une première saisie)
afficher «Entrer un nombre entier de 9 chiffres maximum = «
saisir nb
tantque nb!=0
// initialisation du tableau des positions avec une valeur impossible à trouver
pour chiffre de 0 à 9
pour k de 0 à 8
tabPosition[chiffre,k] ß -1
finpour
finpour
// initialisation de la position
position ß 0
// analyse du nombre
tantque nb!=0
// récupération du chiffre le plus à droite
chiffre ß nb mod 10
// recherche de la première position libre dans le tableau, pour ce chiffre
k ß 0
tantque tabPosition[chiffre,k]<>-1 et k<9
k ß k+1
fintantque
// mémorisation de la position
tabPosition[chiffre,k] ß position
// suppression, dans le nombre, du chiffre qui vient d’être traité
nb ß nb div 10
// on avance dans les positions
position ß position+1
fintantque
// affichage de la position de chaque chiffre
pour chiffre de 0 à 9
// affichage uniquement si le chiffre apparait au moins une fois
si tabPosition[chiffre,0]<>-1
// affichage du chiffre (début de la ligne)
aficher chiffre, « : «
// suivi de l’affichage des poids pour ce chiffre
k ß 0
tantque tabPosition[chiffre,k]<>-1 et k<10
aficher tabPosition[chiffre,k], « «
k ß k+1
fintantque
finsi
finpour
// reconstruction du nombre à partir des positions
pour chiffre de 0 à 9
k ß 0
tantque tabPosition[chiffre,k]<>-1
// on ajoute au nombre le chiffre multiplié par 10 puisance le poids
nb ß nb + chiffre*10tabPosition[chiffre,k]
k ß k+1
fintantque
finpour
...