Précédent   Forum des professionnels en informatique > Autres langages > Algorithmes
Algorithmes Forum d'entraide sur l'algorithmique, l'intelligence artificielle, le traitement numérique d'images et les mathématiques. Avant de poster : Cours d'algorithmique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2012, 18h58   #1
Invité de passage
 
Femme
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
Par défaut Affectation suivant une condition

bonjours et désolé de déranger
voila pour mes cours je dois créer un algorithme
qui a tout nombre X inférieur à 1 lui donne la valeur X*20
et qui a tout nombre X supérieur a 1 lui donne la valeur X*15+5
et qui si X est inférieur ou égal a 0 indique erreur


donc j'ai écrit ceci sur l'exemple du logiciel algobox
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
   X_EST_DU_TYPE_NOMBRE 
   DEBUT ALGORITHME
      LIRE_X 
       SI (X<1) FAIRE 
           X PREND LA VALEUR X*20 
          AFFICHER X 
      SI (X>1) FAIRE 
           X PREND LA VALEUR X*15+5
           AFFICHER X
      SINON FAIRE 
            AFFICHE PHRASE "ERREUR" 
      FIN ALGORITHME


le souci est que je n'arrive pas a télécharger algobox pour vérifier alors j'aimerai savoir si quelqu'un peut me dire si sa fonctionne ou pas
ankara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 09h03   #2
Membre éclairé
 
Doctorant en informatique
Inscription : juin 2009
Messages : 244
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Doctorant en informatique

Informations forums :
Inscription : juin 2009
Messages : 244
Points : 347
Points : 347
Relis tes instructions et relis ce que tu as écris et tu verra qu'il y a un problème
Alexis.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 11h24   #3
Membre Expert
 
Avatar de prgasp77
 
Homme Yankel Scialom
Ingénieur en systèmes embarqués
Inscription : juin 2004
Messages : 812
Détails du profil
Informations personnelles :
Nom : Homme Yankel Scialom
Âge : 25
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Ingénieur en systèmes embarqués
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juin 2004
Messages : 812
Points : 1 039
Points : 1 039
Citation:
Envoyé par Alexis.M Voir le message
Relis tes instructions et relis ce que tu as écris et tu verra qu'il y a un problème
Bonjour,
l'erreur est un peu subtile pour un débutant.

ankara > Il faut savoir qu'en algorithmie, on considère que les instructions sont effectuées l'une après l'autre. Ainsi, les trois conditions passées à chacun de tes trois SI ne seront pas testées simultanément.
La conséquence de ce détail est que, puisque tu modifies la valeur de X, il se peut, dans certains cas, que tu fausses tes tests.

Un exemple peut être trouvé avec X ayant initialement la valeur 0.5 :
SI (X<1) FAIRE est vraie
X PREND LA VALEUR X*20 soit X=10
Ensuite, SI (X>1) FAIRE est aussi vraie maintenant que X vaut 10.

Il te faut trouver une solution pour pallier au problème.

Cordialement,
__________________
gasp in touch
-- Yankel Scialom
prgasp77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 19h08   #4
Invité de passage
 
Femme
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
merci de vos réponse il vrai que je n'y connais rien du tout ce qui signifi que je ne saurai pas résoudre la problème que tu as soulevé prgasp77 je suis un peu perdu en fait je ne sais pas comment faire
ankara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 21h26   #5
Invité de passage
 
Femme
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
ah si j'ai compris il faut mettre sa en fait
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
X_EST_DU_TYPE_NOMBRE 
DEBUT ALGORITHME
    LIRE_X 
    SI (X<1) FAIRE 
        X PREND LA VALEUR X*20 
        AFFICHER X 
    FIN SI 
    SI (X>1) FAIRE 
        X PREND LA VALEUR X*15+5
        AFFICHER X
    FIN SI 
    SINON FAIRE 
        AFFICHE PHRASE "ERREUR" 
    FIN SINON 
FIN ALGORITHME
ankara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 07h27   #6
Membre à l'essai
 
Homme
Auditeur informatique
Inscription : août 2011
Messages : 79
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2011
Messages : 79
Points : 21
Points : 21
bonjour
en reprenant l'exemple qui t'est proposé à savoir X =0,5
à la fin du 1er SI X vaut 10
et on attaque le 2eme SI avec X =10 donc ça affiche X=150 au final
alors que ça devrait afficher X=10 au final

il faut faire un seul SI ( si ... alors ...sinon)
mathier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 07h28   #7
Membre à l'essai
 
Homme
Auditeur informatique
Inscription : août 2011
Messages : 79
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Auditeur informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2011
Messages : 79
Points : 21
Points : 21
Citation:
Envoyé par mathier Voir le message
donc ça affiche X=150 au final
rectification 155 et pas 150
mathier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h55.


 
 
 
 
Partenaires

Hébergement Web