Partage
  • Partager sur Facebook
  • Partager sur Twitter

Algorithmes

Algobox

    11 mai 2017 à 14:01:04

    Bonjours, 

    Je cherche un algo pour générer toute les plaques de AA-000-AA à ZZ-999-ZZ en ignorant les lettres UIO;

    Mon idée était de partir de cette chaine lettre="ABCDEFGHJKLMNPQRSTVWXZ"

     VARIABLES

         lettre EST_DU_TYPE CHAINE

         i EST_DU_TYPE NOMBRE

         taille_chaine EST_DU_TYPE NOMBRE

         position_lettre EST_DU_TYPE NOMBRE

         lettre_select EST_DU_TYPE CHAINE

         debut_plaque EST_DU_TYPE CHAINE

         fin_plaque EST_DU_TYPE CHAINE

         plaque EST_DU_TYPE CHAINE

        j EST_DU_TYPE NOMBRE

        numPlaque EST_DU_TYPE CHAINE

        lettre4 EST_DU_TYPE CHAINE

        lettre3 EST_DU_TYPE CHAINE

        lettre2 EST_DU_TYPE CHAINE

        lettre1 EST_DU_TYPE CHAINE

        paireLettre EST_DU_TYPE CHAINE

        compare EST_DU_TYPE CHAINE

      DEBUT_ALGORITHME

        lettre PREND_LA_VALEUR "ABCDEFGHJKLMNPQRSTVWXYZ"

        //prend en valeur un nombre aleatoire compris entre 1 et 26

        //tant que la plaque n'est pas zz-999-zz alors generer des plaques

        TANT_QUE (plaque!="ZZ-999-ZZ") FAIRE

        DEBUT_TANT_QUE

          //on souhaite changer de lettre tout les 999 fois

          SI (i>=0 et i<=999) ALORS

            DEBUT_SI

            //selection lettre de position 1 à 23

            SI (j>=0 et j<24) ALORS

              DEBUT_SI

              debut_plaque PREND_LA_VALEUR lettre.substr(i,1)+lettre.substr(i,1)

              paireLettre PREND_LA_VALEUR lettre.substr(i,1)+lettre.substr(i,1)

              compare PREND_LA_VALEUR lettre.substr(i,1)+lettre.substr(i,1)

              fin_plaque PREND_LA_VALEUR lettre.substr(i,1)+lettre.substr(j,1)

              FIN_SI

            SI (i>=0 et i<10) ALORS

              DEBUT_SI

              i PREND_LA_VALEUR i+1

              numPlaque PREND_LA_VALEUR "00"+i.toString()

              FIN_SI

              SINON

                DEBUT_SINON

                SI (i>9 et <=99) ALORS

                  DEBUT_SI

                  numPlaque PREND_LA_VALEUR "0"+i.toString()

                  FIN_SI

                  SINON

                    DEBUT_SINON

                    numPlaque PREND_LA_VALEUR i.toString()

                    FIN_SINON

                FIN_SINON

            FIN_SI

          i PREND_LA_VALEUR i+1

          SI (i==999) ALORS

            DEBUT_SI

            j PREND_LA_VALEUR j+1

            i PREND_LA_VALEUR 1

            FIN_SI

          FIN_TANT_QUE

      FIN_ALGORITHME

    Je bloque sur mon idée

    • Partager sur Facebook
    • Partager sur Twitter

    Algorithmes

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown