Algorithme
Résolu
Xanndrine
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
apprendreEtSeDevelopper Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
apprendreEtSeDevelopper Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
Bonjour je suis débutante dans un cour d'introduction en programmation et jessaie de comprendre comment sa marche au départ la question était:
*(NombreParfait) Élaborer un programme qui détermine si un entier positif demandé à l'utilisateur est un nombre parfait. Un nombre parfait est un nombre dont la somme de ses diviseurs propres (i.e tous les diviseurs sauf le nombre lui-même) est égale au nombre lui-même.
Il etait préciser qu'il fallait utiliser une boucle!
Comme vous pouvez vous imaginer je n'ai jamais fait d'algorithme ni de programmation avant. j'ai essayer de me débrouiller et j'aimerais savoir si c'est correcte et bien évidament quel sont mes erreures! dommaine tres dur a déchiffrer pour quelqu'un qui na jamais fait sa;)
Donc, voici mon Algorithme.
Demander entierPositif
sommeDiviseur, k, compteur, € N
lire (entierPositif);
compteur = 0;
Tant que compteur < entierPositif
faire sommeDiviseur ¬ 1;
Pour k ¬ 2 jusquà entierPositif -1
Si reste (entierPositif par k) = 0
k divise entierPositif
Sinon
sommeDiviseur ¬ sommeDiviseur + k
Finsi
Finpour ;
Si sommeDiviseur = entierPositif
ecrire(entierPositif ) ;
compteur ¬ compteur + 1;
Finsi;
entierPositif ¬ entierPositif + 1
Fin tant que
Fin
* ¬ est une fleche qui pointe vers la variable a gauche
*(NombreParfait) Élaborer un programme qui détermine si un entier positif demandé à l'utilisateur est un nombre parfait. Un nombre parfait est un nombre dont la somme de ses diviseurs propres (i.e tous les diviseurs sauf le nombre lui-même) est égale au nombre lui-même.
Il etait préciser qu'il fallait utiliser une boucle!
Comme vous pouvez vous imaginer je n'ai jamais fait d'algorithme ni de programmation avant. j'ai essayer de me débrouiller et j'aimerais savoir si c'est correcte et bien évidament quel sont mes erreures! dommaine tres dur a déchiffrer pour quelqu'un qui na jamais fait sa;)
Donc, voici mon Algorithme.
Demander entierPositif
sommeDiviseur, k, compteur, € N
lire (entierPositif);
compteur = 0;
Tant que compteur < entierPositif
faire sommeDiviseur ¬ 1;
Pour k ¬ 2 jusquà entierPositif -1
Si reste (entierPositif par k) = 0
k divise entierPositif
Sinon
sommeDiviseur ¬ sommeDiviseur + k
Finsi
Finpour ;
Si sommeDiviseur = entierPositif
ecrire(entierPositif ) ;
compteur ¬ compteur + 1;
Finsi;
entierPositif ¬ entierPositif + 1
Fin tant que
Fin
* ¬ est une fleche qui pointe vers la variable a gauche
A voir également:
- Algorithme
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
1 réponse
Bonjour,
Alors dans ton algorithme il y a 2 boucles alors que tu pourrais faire tout ca en un boucle, ca donnerais :
Alors dans ton algorithme il y a 2 boucles alors que tu pourrais faire tout ca en un boucle, ca donnerais :
-- INITIALISATION DES VARIABLES
lire ENTIER_POSITIF
diviseur = 1
somme = 0
-- BOUCLE DE TRAITEMENT
Tant que diviseur est strictement plus petit que ENTIER_POSITIF faire
si reste de ENTIER_POSITIF par diviseur = 0 alors faire
somme += diviseur
fin si
diviseur ++
fin tant que
-- CONCLUSION
si somme = ENTIER_POSITIF alors faire
Afficher "l'entier est parfait !!"
sinon
Afficher "l'entier N'est PAS parfait"