Problème d'algo

Résolu
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"
Configuration: Windows Vista
Safari 525.19

9 réponses

  1. Contributeur
    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
    1. 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!
      1. 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	
        1. 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
          1. pour la 1ère fct tu pose une condition : si n2>=n1 alors... tu dois remplacer >= par > (l'inégalité doit être strict)
            1. oki bien vu c'est vrai tu as raison sinon tu pense qui tourne ? Moi je pense quand je le fait à la main
              1. c un peu long je n'est pas terminer la lecture de votre algo!
                pour le prog principal jusqu'à n1=(-1) pas <>
                1. oki bah je te laisse le temps de le lire merci pour ton aide