CDG

Un forum de discussion pour parler de tout et rien.
 
AccueilPortailDernières imagesRechercherS'enregistrerConnexion
Le Deal du moment :
ETB Pokémon Fable Nébuleuse : où ...
Voir le deal

 

 SOS algorithmique

Aller en bas 
+2
JessieMish
Audrey
6 participants
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
Mamagnès
Experte



Messages : 2844
Date d'inscription : 04/10/2012

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptyVen 30 Nov - 23:36

Dans ton algo tu notes les affectations avec le signe < mais généralement on utilise = et == pour les comparaisons. Par exemple on écrit .

Si sexe == "masculin" alors
Prénom = "Robert"
Sinon
Si sexe == "féminin" alors
Prénom = "Guneltrude"
Sinon
Prénom = "Dominique"
Finsi
Finsi

Du coup on utilise == quelque soit les éléments comparés.
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 10:13

OK !! Merci.
Par contre lui dans les cours il nous demande pour l'affectation de mettre une flèche <-

Pour reprendre ton exemple :

Si sexe == "masculin"
alors
Prénom <- "Robert"
Sinon
Si sexe == "féminin"
alors
Prénom <- "Guneltrude"
Sinon
Prénom <- "Dominique"
Finsi
Finsi

Donc du coup en fait le = simple ne va pas me servir. Enfin il me servira quand on fera de vrais programmes mais là vu sa demande il ne sert pas. C'est d'ailleurs ce qu'un autre étudiant lui a demandé du coup sur le forum suite à ma question.

Merci en tout cas, vais reprendre tous mes exercices et mettre des ==
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 11:05

Par contre je ne sais pas si tu peux faire des indentations, mais si possible fais en ça ajoute vraiment à la lisibilité et ça évite bien des erreurs.
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 11:44

heuuuuu .... comment dire .... c'est quoi ce truc là des identations ?
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 11:51

C'est le truc que j'ai fait sur mon tel et qui ne se voit pas lol.
C'est decaler d'une tabulation le contenu d'un test ou d'une boucle
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 12:55

Ah oui ça j'ai fait !

Mais ça apparaît pas sur le forum et pas envie de me prendre à la tête à savoir comment le faire (surement avec la balise code d'ailleurs). Mais sur mes exercices ça y est, c'est beaucoup mieux, ça j'y suis habituée avec le HTML et le CSS de toute manière ^^
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 13:30

Normalement cette fois j'ai fini mon travail ^^

Exercice 1 a écrit:

Écrire les algorithmes suivant, en utilisant une notation algorithmique (voir support de cours) :

1) qui, en fonction de la réponse à la question d'un type d'ampoule, calcule la consommation effective de l'ampoule par rapport à celle lue au clavier correspondant à une ampoule à filament.
La consommation effective sera affichée à l'écran après son calcul.

Pour une ampoule de type fluocompacte, la consommation est réduite de 70% par rapport à celle de l'ampoule à filament, et pour une ampoule de type LED, la consommation est réduite de 90%.

Code:

VARIABLES: conso, type;

DEBUT   
   conso: ENTIER;
   type: CARACTERE;
   conso <-0;
   type <-0;

   ECRIRE ("Quelle est la consommation de votre ampoule ?");
   LIRE (conso);         /*mets la consommation de l'ampoule dans la variable conso*/
      REPETER
         ECRIRE ("Quel est le type d'ampoule que vous souhaitez comparer ?");
         ECRIRE ("F = fluocompacte");
         ECRIRE ("L = LED");
         ECRIRE ("FT = filament");
         LIRE (type);         /*mets le type d'ampoule dans la variable type*/


         SI type=="FT"         /*début calcul si ampoule filament*/
         ALORS
         conso <-conso;         /*consommation si ampoule filament*/
         SINON
            SI type=="F"         /*début calcul si ampoule fluocompacte*/
            ALORS
            conso <-conso-(0.7*conso);   /*consommation si ampoule fluocompacte*/
            SINON
               SI type=="L"         /* début calcul si ampoule à LED*/
               ALORS
               conso <-conso-(0.9*conso);   /*consommation si ampoule à LED*/
               SINON
                  DEBUT
                  ECRIRE ("ERREUR");   /*si l'utilisateur a entré autre chose que F, L ou FT*/
      JUSQUA (type=="F") OU (type=="L") OU (type=="FT")
                  FIN
               FINSI
            FINSI
         FINSI

   ECRIRE ("La consommation réelle pour votre ampoule est de");
   ECRIRE (conso);         /*renvoi la valeur de la consommation réelle de l'ampoule*/
FIN

"exercice 2 a écrit:

2) qui calcule, et affiche à l'écran, la moyenne globale obtenue pour la saisie de 3 notes obtenues dans 3 UEs différentes lues au clavier.

Code:

VARIABLES: ue1, ue2, ue3, moyenne;

DEBUT
   ue1: REEL;
   ue2: REEL;
   ue3: REEL;
   moyenne: REEL;
   ue1 <-0;
   ue2 <-0;
   ue3 <-0;
   moyenne <-0;
   
   ECRIRE ("Note obtenue à l'UE 1");
   LIRE (ue1);         /*Mets la note de la première UE dans la variable ue1*/
   ECRIRE ("Note obtenue à l'UE 2");
   LIRE (ue2);         /*Mets la note de la seconde UE dans la variable ue2*/
   ECRIRE ("Note obtenue à l'UE 3");
   LIRE (ue3);         /*Mets la note de la troisième UE dans la variable ue3*/

   moyenne <-(ue1+ue2+ue3)/3;

   ECRIRE ("Votre moyenne est de");
   ECRIRE (moyenne);
FIN

Exercice 3 a écrit:

3) qui calcule la moyenne pondérée obtenue pour la saisie de 3 notes d'une même UE saisies avec la pondération suivante : Note1 60%, Note2 30% et Note3 10%.

Code:

VARIABLES: note1, note2, note3, moyenne;

DEBUT
   note1: REEL;
   note2: REEL;
   note3: REEL;
   moyenne: REEL;
   note1 <-0;
   note2 <-0;
   note3 <-0;
   moyenne <-0;
   
   ECRIRE ("Note n°1 valant 60%");
   LIRE (note1);         /*Mets la note du premier devoir dans la variable note1*/
   ECRIRE ("Note n°2 valant 30%");
   LIRE (UE2);         /*Mets la note du second devoir dans la variable note2*/
   ECRIRE ("Note n°3 valant 10%");
   LIRE (UE3);         /*Mets la note du troisième devoir dans la variable note3*/

   moyenne <-(60*note1+30*note2+10*note3)/100;

   ECRIRE ("Votre moyenne est de");
   ECRIRE (moyenne);
FIN

Voilà pour les trois premiers, je dois amener Maëva à un anniversaire lol je vous mettrai le reste ce soir ^^
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 19:11

Allez je continue pour le fun ^^

Exercice 4 a écrit:

4) qui permet de jouer au jeu de la découverte : une valeur à découvrir est lue au clavier. Puis 3 joueurs s'affrontent : une valeur est lue au clavier pour chacun des joueurs et le vainqueur est celui dont la valeur entrée est la plus proche de la valeur à découvrir (la plus proche est celle dont la différence avec celle à découvrir est la plus petite en valeur absolue).

Code:

VARIABLES: valeur, joueur1, joueur2, joueur3, dif1, dif2, dif3, rejouer;

DEBUT
   valeur: ENTIER;
   joueur1: ENTIER;
   joueur2; ENTIER;
   joueur3: ENTIER;
   dif1: ENTIER;
   dif2: ENTIER;
   dif3: ENTIER;
   rejouer: CARACTERE;
REPETER            /*Pour rejouer une partie directement à la fin*/
   valeur <-0;
   joueur1 <-0;
   joueur2 <-0;
   joueur3 <-0;
   dif1 <-0;
   dif2 <-0;
   dif3 <-0;
   rejouer <-0;

   ECRIRE ("Entrez la valeur qui devra être devinée");
   LIRE (valeur);            /*Met la valeur à deviner dans la variable valeur*/

   ECRIRE ("Joueur 1 : entrez votre valeur");
   LIRE (joueur1);            /*Met le nombre entré par le joueur 1 dans la variable joueur1*/
   ECRIRE ("Joueur 2 : entrez votre valeur");
   LIRE (joueur2);            /*Met le nombre entré par le joueur 2 dans la variable joueur2*/
   ECRIRE ("Joueur 3 : entrez votre valeur");
   LIRE (joueur3);            /*Met le nombre entré par le joueur 3 dans la variable joueur3*/
      DEBUT
      dif1 <-abs(valeur-joueur1);      /*calcule la différence en valeur absolue entre la valeur à trouver et la valeur entrée par le joueur 1*/
      dif2 <-abs(valeur-joueur2);      /*calcule la différence en valeur absolue entre la valeur à trouver et la valeur entrée par le joueur 2*/
      dif3 <-abs(valeur-joueur3);      /*calcule la différence en valeur absolue entre la valeur à trouver et la valeur entrée par le joueur 3*/
      FIN
   SI (dif1>dif2) ET (dif1>dif3)
   ALORS
   ECRIRE ("Le joueur 1 gagne la partie");
   SINON
      SI (dif2>dif1) ET (dif2>dif3)
      ALORS
      ECRIRE ("Le joueur 2 gagne la partie");
      SINON
         SI (dif3>dif1) ET (dif3>dif2)
         ALORS
         ECRIRE ("Le joueur 3 gagne la partie");
         SINON
            SI (dif1==dif2) ET (dif1>dif3)
            ALORS
            ECRIRE ("Le joueur 1 et le joueur 2 gagnent la partie");
            SINON
               SI dif1==dif3
               ALORS
               ECRIRE ("Le joueur 1 et le joueur 3 gagnent la partie");
               SINON
                  SI dif2==dif3
                  ALORS
                  ECRIRE ("Le joueur 2 et le joueur 3 gagnent la partie");
                  SINON
                     SI dif1==dif2
                     ALORS
                     ECRIRE ("Tous les joueurs ont fait égalité");
                     FINSI
                  FINSI
               FINSI
            FINSI
         FINSI
      FINSI
   FINSI

   ECRIRE ("Le joueur 1 a proposé : " joueur1);   
   ECRIRE ("Le joueur 2 a proposé : " joueur2);
   ECRIRE ("Le joueur 3 a proposé : " joueur3);
   ECRIRE ("Le nombre à deviner était : " valeur);      /*Parce que c'est plus agréable de connaitre la réponse à la fin d'un jeu*/

   ECRIRE ("Faire une autre partie ?");
   ECRIRE ("O = Oui");
   ECRIRE ("N = Non");
   LIRE (rejouer);               /*Pour pouvoir rejouer rapidement une partie*/
JUSQUA rejouer="N"
FIN

Exercice 5 a écrit:

5) Qui affiche la taille maximale et la taille minimale de deux individus dont la taille respective exprimée en centimètre est lue au clavier.

Code:

VARIABLES: pers1, pers2;

DEBUT
   pers1: REEL;
   pers2: REEL;
   pers1 <-0;
   pers2 <-0;

   ECRIRE ("Première personne, quelle est votre taille en cm ?");
   LIRE (pers1);
   ECRIRE ("Seconde personne, quelle est votre taille en cm ?");
   LIRE (pers2);

   SI pers1 > pers2
      ALORS
         DEBUT
         ECRIRE ("La plus grande de vos tailles est : " pers1);
         ECRIRE ("La plus petite de vos tailles est : " pers2);
         FIN
      SINON
         DEBUT
         ECRIRE ("La plus grande de vos tailles est : " pers2);
         ECRIRE ("La plus petite de vos tailles est : " pers1);
         FIN
   FINSI
FIN

Exercice 6 a écrit:

6) En fonction de la réponse à une question, qui convertit des débits de réseaux exprimés en Mégabit par seconde en Méga-octets par seconde et inversement.

Rappel : 1 Megabit = 1000 x 1000 bits, 1 Mega-octet = 1024 x 1024 octets, 1 octet = 8 bits.

Code:

VARIABLES: unité, débit, débitconv, refaire ;

DEBUT
   unité: CARACTERE;
   débit: REEL;
   débitconv: REEL;
   refaire: CARACTERE;
REPETER
   unité <-0;
   débit <-0;
   débitconv <-0;
   refaire <-0;

   ECRIRE ("Connaissez-vous le débit en Mégabit (Mb) ou en Méga-Octets (Mo) ?");
   LIRE (unité)
      TANTQUE (unité!="Mb") OU (unité!="Mo")
         FAIRE
            DEBUT
            ECRIRE ("ERREUR dans la saisie, veuillez saisir Mb ou Mo");
            LIRE (unité);
      FINTANTQUE
         ECRIRE ("Quel est le débit du réseau ?");
         LIRE (débit);

         SI unité=="Mb"
            ALORS
            débitconv <-(débit*1000*1000)/(1024*1024*8);      /*Conversion de Mb en Mo*/
            ECRIRE ("Votre débit est de : " débitconv " Mo");   /*affichage du débit en Mo*/            
         SINON
            débitconv <-(débit*1024*1024*8)/(1000*1000);      /*Conversion de Mo en Mb*/
            ECRIRE ("Votre débit est de : " débitconv " Mb");   /*affichage du débit en Mb*/         
         FINSI
   
   ECRIRE ("Voulez-vous effectuer une autre conversion ?");   /*Pour proposer une boucle du programme*/
   ECRIRE ("O = Oui");
   ECRIRE ("N = Non");
   LIRE (refaire);
JUSQUA refaire=N
FIN

Et enfin le dernier
[quote="Exercice 7]
7) Qui calcule et affiche la moyenne de N mesures du poids d'une personne qui suit un régime. La valeur du nombre entier N, puis les poids, seront saisies par l'utilisateur. Affichage de la moyenne des poids, du premier et dernier poids saisis et différence des deux.
[/quote]

Code:

VARIABLES : poidsini, poidsajouté, moyennepoids, répéter, nbrepoids, poidstotal, poidsperdu;

DEBUT
   poidsini: REEL;
   poidsajouté: REEL;
   moyennepoids: REEL;
   répéter: CARACTERE;
   nbrepoids: ENTIER;
   poidstotal: REEL;
   poidsperdu: REEL;
   poidsini <-0;
   moyennepoids <-0;
   poidsperdu <-0;

      ECRIRE ("Quel est votre poids de départ ?");
      LIRE (poidsini);
      nbrepoids <-1;
      poidstotal <-poidsini;

REPETER
   poidsajouté <-0;
   répéter <-0;

      ECRIRE ("Saisissez le poids suivant");
      LIRE (poidsajouté);
      nbrepoids <-nbrepoids+1;
      poidstotal <-poidstotal+poidsajouté;
   
   ECRIRE ("Voulez-vous ajouter un autre poids ?");
   ECRIRE ("O = Oui");
   ECRIRE ("N = Non");
   LIRE (répéter);
JUSQUA répéter="N"
   
      moyenne poids <-poidstotal/nbrepoids;
      poidsperdu <-poidsajouté-poidsini;
   
   ECRIRE ("Votre poids de départ était de " poidsini " kg");
   ECRIRE ("Votre poids actuel est de " poidsajouté " kg");
   
   SI poidsajouté<poidsini
   ALORS   
   ECRIRE ("Vous avez perdu " poids perdu " kg bravo");
   SINON
      SI poidsajouté=poidsini
      ALORS
      ECRIRE ("Votre poids est resté stable");
      SINON

         ECRIRE ("Vous avez pris "poidsperdu " kg, persévérez dans vos efforts");
      FINSI
   FINSI
   ECRIRE ("Votre poids moyen est de " moyenne poids " kg");
FIN

Bon je vais juste les peaufiner en revoyant les décalages et en supprimant les lignes vides que j'avais mis pour mieux voir les étapes. Peut-être rajouter quelques commentaires parce que c'est bien les commentaires.
Franchement j'avoue que je suis fière de moi en fait ^^
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 20:54

Enolya a écrit:
Normalement cette fois j'ai fini mon travail ^^

Exercice 1 a écrit:

Écrire les algorithmes suivant, en utilisant une notation algorithmique (voir support de cours) :

1) qui, en fonction de la réponse à la question d'un type d'ampoule, calcule la consommation effective de l'ampoule par rapport à celle lue au clavier correspondant à une ampoule à filament.
La consommation effective sera affichée à l'écran après son calcul.

Pour une ampoule de type fluocompacte, la consommation est réduite de 70% par rapport à celle de l'ampoule à filament, et pour une ampoule de type LED, la consommation est réduite de 90%.

Code:

VARIABLES: conso, type;

DEBUT   
   conso: ENTIER;
   type: CARACTERE;
   conso <-0;
   type <-0;

   ECRIRE ("Quelle est la consommation de votre ampoule ?");
   LIRE (conso);         /*mets la consommation de l'ampoule dans la variable conso*/
      REPETER
         ECRIRE ("Quel est le type d'ampoule que vous souhaitez comparer ?");
         ECRIRE ("F = fluocompacte");
         ECRIRE ("L = LED");
         ECRIRE ("FT = filament");
         LIRE (type);         /*mets le type d'ampoule dans la variable type*/


         SI type=="FT"         /*début calcul si ampoule filament*/
         ALORS
         conso <-conso;         /*consommation si ampoule filament*/
         SINON
            SI type=="F"         /*début calcul si ampoule fluocompacte*/
            ALORS
            conso <-conso-(0.7*conso);   /*consommation si ampoule fluocompacte*/
            SINON
               SI type=="L"         /* début calcul si ampoule à LED*/
               ALORS
               conso <-conso-(0.9*conso);   /*consommation si ampoule à LED*/
               SINON
                  DEBUT
                  ECRIRE ("ERREUR");   /*si l'utilisateur a entré autre chose que F, L ou FT*/
        /* JUSQUA (type=="F") OU (type=="L") OU (type=="FT")
                  FIN) */
               FINSI
            FINSI
         FINSI
                JUSQUA (type=="F") OU (type=="L") OU (type=="FT")
        FIN
   ECRIRE ("La consommation réelle pour votre ampoule est de");
   ECRIRE (conso);         /*renvoi la valeur de la consommation réelle de l'ampoule*/
FIN

"exercice 2 a écrit:

2) qui calcule, et affiche à l'écran, la moyenne globale obtenue pour la saisie de 3 notes obtenues dans 3 UEs différentes lues au clavier.

Code:

VARIABLES: ue1, ue2, ue3, moyenne;

DEBUT
   ue1: REEL;
   ue2: REEL;
   ue3: REEL;
   moyenne: REEL;
   ue1 <-0;
   ue2 <-0;
   ue3 <-0;
   moyenne <-0;
   
   ECRIRE ("Note obtenue à l'UE 1");
   LIRE (ue1);         /*Mets la note de la première UE dans la variable ue1*/
   ECRIRE ("Note obtenue à l'UE 2");
   LIRE (ue2);         /*Mets la note de la seconde UE dans la variable ue2*/
   ECRIRE ("Note obtenue à l'UE 3");
   LIRE (ue3);         /*Mets la note de la troisième UE dans la variable ue3*/

   moyenne <-(ue1+ue2+ue3)/3;

   ECRIRE ("Votre moyenne est de");
   ECRIRE (moyenne);
FIN

Exercice 3 a écrit:

3) qui calcule la moyenne pondérée obtenue pour la saisie de 3 notes d'une même UE saisies avec la pondération suivante : Note1 60%, Note2 30% et Note3 10%.

Code:

VARIABLES: note1, note2, note3, moyenne;

DEBUT
   note1: REEL;
   note2: REEL;
   note3: REEL;
   moyenne: REEL;
   note1 <-0;
   note2 <-0;
   note3 <-0;
   moyenne <-0;
   
   ECRIRE ("Note n°1 valant 60%");
   LIRE (note1);         /*Mets la note du premier devoir dans la variable note1*/
   ECRIRE ("Note n°2 valant 30%");
   LIRE (UE2);         /*Mets la note du second devoir dans la variable note2*/
   ECRIRE ("Note n°3 valant 10%");
   LIRE (UE3);         /*Mets la note du troisième devoir dans la variable note3*/

   moyenne <-(60*note1+30*note2+10*note3)/100;

   ECRIRE ("Votre moyenne est de");
   ECRIRE (moyenne);
FIN

Voilà pour les trois premiers, je dois amener Maëva à un anniversaire lol je vous mettrai le reste ce soir ^^

Pour le premier exercice il faut déplacer la fin de boucle. On ferme dans l'ordre où l'on a ouvert.
Pour le deuxième c'est juste mais il aurait été plus "élégant" d'utiliser un tableau à 3 éléments.
Le troisième est juste.
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 21:28

Pour l'exercice 4, il me semble que tu as interverti < et >. Par ailleurs si les 3 joueurs sont ex-aequo tu diras que le joueur 1 et 3 ont gagné. En fait il est très risqué d'imbriquer des tests avec des opérateurs logiques.
Juste un autre petit détail. J'aime mieux initialiser mes variables "characters" à blanc qu'à 0

Exercice 5 ok

Pour l'exercice 6 tu boucles. L'unité sera forcément différente de Mo ou Mb
Il faut mettre ET. Sinon c'est bon (sauf que je n'ai pas vérifier les calculs, je sais, je suis une grosse feignasse lol!)

Le 7 me paraît très bien.







Revenir en haut Aller en bas
Pablo625
Spécialiste
Pablo625


Messages : 1623
Date d'inscription : 04/10/2012
Localisation : devant mon bureau

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 21:52

Mamagnès a écrit:
Pour l'exercice 4, il me semble que tu as interverti < et >. Par ailleurs si les 3 joueurs sont ex-aequo tu diras que le joueur 1 et 3 ont gagné. En fait il est très risqué d'imbriquer des tests avec des opérateurs logiques.
Juste un autre petit détail. J'aime mieux initialiser mes variables "characters" à blanc qu'à 0

Exercice 5 ok

Pour l'exercice 6 tu boucles. L'unité sera forcément différente de Mo ou Mb
Il faut mettre ET. Sinon c'est bon (sauf que je n'ai pas vérifier les calculs, je sais, je suis une grosse feignasse lol!)

Le 7 me paraît très bien.







SOS algorithmique - Page 2 1695130124
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 21:54

J'ai dit une connerie ?
Revenir en haut Aller en bas
Pablo625
Spécialiste
Pablo625


Messages : 1623
Date d'inscription : 04/10/2012
Localisation : devant mon bureau

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 21:57

Mamagnès a écrit:
J'ai dit une connerie ?
Laughing
Ch'sais pas j'ai pô compris une seule ligne
Spoiler:

Les maths c'était à l'oral, la bio et la physique on arrêtait en première Embarassed
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 21:58

Pablo625 a écrit:
Mamagnès a écrit:
J'ai dit une connerie ?
Laughing
Ch'sais pas j'ai pô compris une seule ligne
Spoiler:

Les maths c'était à l'oral, la bio et la physique on arrêtait en première Embarassed

marioniciar tu m'as fait peur !
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:00

J'espère qu'Eno va me comprendre. C'est vrai que je ne suis peut-être pas d'une clarté limpide. Embarassed
Revenir en haut Aller en bas
elo!
Légende
elo!


Messages : 7732
Date d'inscription : 03/10/2012
Age : 40
Localisation : la ferrière

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:17

chéri a regardé et il est ok avec agnès pour tout ...
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:29

Mamagnès a écrit:

Pour le premier exercice il faut déplacer la fin de boucle. On ferme dans l'ordre où l'on a ouvert.
Pour le deuxième c'est juste mais il aurait été plus "élégant" d'utiliser un tableau à 3 éléments.
Le troisième est juste.

Pour le premier : J'ai mis un moment à comprendre ce que tu voulais dire lol mais j'ai compris.
Pour le deuxième : On n'a pas le droit d'utiliser les tableaux qu'on apprendra la semaine prochaine.
Pour le troisième : Ouf un bon lol!

Mamagnès a écrit:
Pour l'exercice 4, il me semble que tu as interverti < et >. Par ailleurs si les 3 joueurs sont ex-aequo tu diras que le joueur 1 et 3 ont gagné. En fait il est très risqué d'imbriquer des tests avec des opérateurs logiques.
Juste un autre petit détail. J'aime mieux initialiser mes variables "characters" à blanc qu'à 0

Exercice 5 ok

Pour l'exercice 6 tu boucles. L'unité sera forcément différente de Mo ou Mb
Il faut mettre ET. Sinon c'est bon (sauf que je n'ai pas vérifier les calculs, je sais, je suis une grosse feignasse lol!)

Le 7 me paraît très bien.

Pour le quatrième : tu as raison j'ai inversé le < et le > !! Purée ça ne m'est même pas venu à l'esprit en plus. Et c'est le prof dans son cour qui dit que c'est mieux d'imbriquer. Il dit que si on les met pas imbriqués ça fait faire des calculs pour rien et ça alourdit le code. J'ai mis un moment à comprendre pourquoi tu me disais que ça n'allait pas marqué qu'ils avaient fait égalité, j'ai modifié :

Code:

               SI (dif1<dif2) ET (dif1<dif3)         /*Affichage des différents résultats*/
               ALORS
               ECRIRE ("Le joueur 1 gagne la partie");
               SINON
                  SI (dif2<dif1) ET (dif2<dif3)
                  ALORS
                  ECRIRE ("Le joueur 2 gagne la partie");
                  SINON
                     SI (dif3<dif1) ET (dif3<dif2)
                     ALORS
                     ECRIRE ("Le joueur 3 gagne la partie");
                     SINON
                        SI (dif1==dif2) ET (dif1!=dif3)
                        ALORS
                        ECRIRE ("Le joueur 1 et le joueur 2 gagnent la partie");
                        SINON
                           SI (dif1==dif3) ET (dif1!=dif2)
                           ALORS
                           ECRIRE ("Le joueur 1 et le joueur 3 gagnent la partie");
                           SINON
                              SI (dif2==dif3) ET (dif2!=dif1)
                              ALORS
                              ECRIRE ("Le joueur 2 et le joueur 3 gagnent la partie");
                              SINON
                                 ECRIRE ("Tous les joueurs ont fait égalité");

Pour le cinquième : re-ouf ^^

Pour le sixième : Ah ben oui c'est vrai, le pire c'est que j'ai hésité et beaucoup réfléchi mdr, pas assez visiblement.

Pour le septième : re-re-ouf Laughing

Mamagnès a écrit:
J'espère qu'Eno va me comprendre. C'est vrai que je ne suis peut-être pas d'une clarté limpide. Embarassed

Oui j'ai tout compris et tout modifié en conséquence !!

Vraiment merci beaucoup !!

Bon maintenant il me reste à faire les tableaux d'exécution manuelle pffff ça me gave ça.
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:29

elo! a écrit:
chéri a regardé et il est ok avec agnès pour tout ...

Merci de lui avoir montré et merci à lui d'avoir regardé bière
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:38

Ah ben cool pas besoin de faire les tableaux d'exécution manuelle ^^ le prof vient juste de le dire hihi.
Bon ben anglais alors ... hum quelqu'un une corde ?? c'est encore plus incompréhensible pour moi que l'algo !
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:46

Tu vois que je me suis mal fait comprendre. Ce qu'il faut éviter ce sont les opérateurs logiques pas les tests imbriqués. Enfin on peut utiliser les opérateurs logiques mais plutôt dans les tests simple .

Merci à toi de me permettre de faire travailler mon vieux cerveau Wink


Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 22:49

elo! a écrit:
chéri a regardé et il est ok avec agnès pour tout ...

bounce queen scratch
Revenir en haut Aller en bas
angy
Passionnée
angy


Messages : 757
Date d'inscription : 04/10/2012
Age : 41
Localisation : lyon

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptySam 1 Déc - 23:24

moi aussi je comprends!! j'ai pas tout oublié!!
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptyDim 2 Déc - 0:38

lol contente de vous faire bosser les filles ^^

Mamagnès tu ferais comment alors pour cet exercice là ? Un truc du genre ça ?

Code:

SI (dif1<dif2) ET (dif1<dif3)
ECRIRE ("Le joueur 1 gagne la partie");
FINSI
SI (dif2<dif1) ET (dif2<dif3)
ECRIRE ("Le joueur 2 gagne la partie");
FINSI
SI (dif3<dif1) ET (dif3<dif2)
ECRIRE ("Le joueur 3 gagne la partie");
FINSI
SI (dif1==dif2) ET (dif1!=dif3)
ECRIRE ("Le joueur 1 et le joueur 2 gagnent la partie");
FINSI
SI (dif1==dif3) ET (dif1!=dif2)
ECRIRE ("Le joueur 1 et le joueur 3 gagnent la partie");
FINSI
SI (dif2==dif3) ET (dif2!=dif1)
ECRIRE ("Le joueur 2 et le joueur 3 gagnent la partie");
FINSI
SI (dif1==dif2) ET (dif1==dif3)
ECRIRE ("Tous les joueurs ont fait égalité");
FINSI

Si c'est ça c'est le genre d'exemple qu'il a donné en disant que c'est possible aussi, que c'est juste, mais que ça fait faire des calculs inutiles parce que le code va vérifier toutes les possibilités au lieu de s'arrêter à celle qui correspond au cas, et va donc faire des calculs inutiles. Ça m'aurait semblé plus simple à écrire (pis pas de risque d'oublier un FINSI ^^) mais j'ai voulu suivre ce qu'il conseille.
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptyDim 2 Déc - 11:47

Non non, j'aurai plutôt écrit

Code:
Si dif1<dif2
alors
    si dif1<dif3
    alors
        ecrire ("le joueur 1 gagne la partie")
    sinon
        si dif1==dif3
        alors
            ecrire ("les joueurs 1 et 3 gagnent la partie")
        sinon
            ecrire ("le joueur 3 gagne la partie")
        finsi
    finsi
sinon......



Mais ce n'est qu'un conseil d'ordre général. Imbriquer des tests avec des opérateurs logiques c'est toujours un exercice de haute voltige, on risque plus facilement d'oublier un cas et c'est plus difficile à maintenir.
Par contre il est bien évident que l'on doit utiliser les imbrications de test.
Revenir en haut Aller en bas
Invité
Invité




SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptyDim 2 Déc - 12:05

Ah OK je vois !
Merci de ton conseil.

Le travail est maintenant envoyé on verra la note, suspense.
Revenir en haut Aller en bas
Mamagnès
Experte
Mamagnès


Messages : 2844
Date d'inscription : 04/10/2012
Localisation : Essonne

SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 EmptyDim 2 Déc - 12:09

Je suis sure que tu auras une très bonne note bisous
Revenir en haut Aller en bas
Contenu sponsorisé





SOS algorithmique - Page 2 Empty
MessageSujet: Re: SOS algorithmique   SOS algorithmique - Page 2 Empty

Revenir en haut Aller en bas
 
SOS algorithmique
Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
CDG :: Discussions :: Coup de gueule-
Sauter vers: