Problème d'algo
Résolu
rafale69300
Messages postés
84
Date d'inscription
Statut
Membre
Dernière intervention
-
rafale69300 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
rafale69300 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un exercice d'algo a faire mais je ne vois pas du tout par ou commencé donc je vais vous mettre l'énoncé et si vous avez des pistes pour m'aider sa serait avec plaisir.
Énoncé : Écrire un programme qui saisisse les éléments d'une suite de nombres entiers non nuls terminées par le marqueur 0 et indique que si celle ci est strictement croissante, strictement décroissante ou encore non triée. La saisie des éléments de la suite sera contrôlée.
Utilisez les procédures suivantes :
Procédure Analyse_résultat (E : nb1 : Entier, E : nb2 : Entier, E/S : croiss : booléen, E/S : constant : booléen, E/S : decroiss : booléen)
Procédure Afficher_résultat (E : croiss :booléen, E : constant : boolén, E : decroiss : boolen)
Exemples
Saisir un nb : "La suite est vide !"
Saisir un nb : 2
Saisir un nb : 0 "La suite a un seul élément !"
Saisir un nb : 5
Saisir un nb : 10
Saisir un nb : 15
Saisir un nb :0 "La suite est croissante"
Saisir un nb : 5
Saisir un nb : 5
Saisir un nb : 5
Saisir un nb : 0 "La suite est constante"
Saisir un nb : 15
Saisir un nb : 10
Saisir un nb : 5
Saisir un nb : 0 "La suite est décroissante"
Saisir un nb : 5
Saisir un nb : 10
Saisir un nb : 2
Saisir un nb :15
Saisir un nb : 0 "La suite est non triée"
Énoncé : Écrire un programme qui saisisse les éléments d'une suite de nombres entiers non nuls terminées par le marqueur 0 et indique que si celle ci est strictement croissante, strictement décroissante ou encore non triée. La saisie des éléments de la suite sera contrôlée.
Utilisez les procédures suivantes :
Procédure Analyse_résultat (E : nb1 : Entier, E : nb2 : Entier, E/S : croiss : booléen, E/S : constant : booléen, E/S : decroiss : booléen)
Procédure Afficher_résultat (E : croiss :booléen, E : constant : boolén, E : decroiss : boolen)
Exemples
Saisir un nb : "La suite est vide !"
Saisir un nb : 2
Saisir un nb : 0 "La suite a un seul élément !"
Saisir un nb : 5
Saisir un nb : 10
Saisir un nb : 15
Saisir un nb :0 "La suite est croissante"
Saisir un nb : 5
Saisir un nb : 5
Saisir un nb : 5
Saisir un nb : 0 "La suite est constante"
Saisir un nb : 15
Saisir un nb : 10
Saisir un nb : 5
Saisir un nb : 0 "La suite est décroissante"
Saisir un nb : 5
Saisir un nb : 10
Saisir un nb : 2
Saisir un nb :15
Saisir un nb : 0 "La suite est non triée"
9 réponses
Salut,
Si tu cherchais un peu avant de poster tout de suite, tu serais tombé sur quelqu'un qui a déjà eu cet exercice ;) sur ce forum.
Et puisqu'il s'agit d'un exercice, on ne va pas te faire ton algo, mais répondre à tes questions ou te corriger.
Donc poste ton algo, et on te dira ce qui ne va pas ;)
Cdlt
Si tu cherchais un peu avant de poster tout de suite, tu serais tombé sur quelqu'un qui a déjà eu cet exercice ;) sur ce forum.
Et puisqu'il s'agit d'un exercice, on ne va pas te faire ton algo, mais répondre à tes questions ou te corriger.
Donc poste ton algo, et on te dira ce qui ne va pas ;)
Cdlt
tu peux comparer en premier lieu les deux premier éléments de la suite pour prévoir la monotonie de cette suite. si les autres elts ne respectent pas la même monotonie c ke cette suite est non triée!
voila l'algo que j'ai fait dites moi s'il y a des fautes svp merci :
Programme Principal : suite Entier : n1,n2 Booléen : croissant,const,decroissant,non_triee DEBUT n1->0 n2->0 croissant->vrai const->vrai decroissant->vrai non_triee->faux Afficher "-1 pour terminer le programme" REPETER Afficher "Saisir un nombre(0 pour sortir)" Saisir n1 SI n1 = 0 ALORS Exécuter Afficher_Résultat(E:croiss:Booléen, E:constant:Booléen, E:decroiss:Booléen) SINON SI n1 >=1 ALORS Exécuter Analyse_résultat(E:nb1:Entier, E:nb2:Entier, E/S:croiss:Booléen, E/S:constant:Booléen, E/S:decroiss:Booléen) n2->n1 FINSI FINSI Exécuter Afficher_Résultat(E:croiss:Booléen, E:constant:Booléen, E:decroiss:Booléen) JUSQU'A n1#-1 FIN Procédure Analyse_résultat(E:nb1:Entier, E:nb2:Entier, E/S:croiss:Booléen, E/S:constant:Booléen, E/S:decroiss:Booléen) DEBUT SI nb2>=nb1 ALORS croiss->faux SINON croiss->vrai constant->faux decroiss->faux FINSI SI nb1#nb2 ALORS constant->faux SINON constant->vrai croiss->faux decroiss->faux FINSI SI nb1>=nb2 ALORS decroiss->faux SINON decroiss->vrai constant->faux croiss->faux FINSI SI NON decroiss ET NON croiss ET NON constant Exécuter Afficher_Résultat(E:croiss:Booléen, E:constant:Booléen, E:decroiss:Booléen) FINSI FIN Procédure Afficher_Résultat(E:croiss:Booléen, E:constant:Booléen, E:decroiss:Booléen) ENTIER : nombre1 DEBUT SI nombre1 = 0 ALORS Afficher "La suite est vide !" SINON SI croiss = vrai ALORS Afficher "La suite est croissante !" SINON SI constant = vrai ALORS Afficher "La suite est constante !" SINON SI decroiss = vrai ALORS Afficher "La suite est decroissante !" SINON Afficher "La suite est non triee !" FINSI FINSI FINSI FINSI FIN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si quelqu'un pourrait faire des critique sur cette algo pour me dire ce qui va ou ce qui ne vas pas ? Fonctionnerait-il ?
Merci
Merci
pour la 1ère fct tu pose une condition : si n2>=n1 alors... tu dois remplacer >= par > (l'inégalité doit être strict)
oki bien vu c'est vrai tu as raison sinon tu pense qui tourne ? Moi je pense quand je le fait à la main