logo

rôle d'un algorithme ?


algorithmiquerôle d'un algorithme ?

#msg2816189 Posté le 08-01-10 à 21:17
Posté par Profilmateo13 mateo13

bonjour à tous, j'ai un algorithme sous les yeux et j'aimerais bien savoir quel est sont rôle.
l'algo en question est :

procédure A_TROUVER(v_tab[TAILLE] : entier, v_tab[TAILLE] : entier )
début
        Avec i, k : entiers
                j : booléen
        k <-- TAILLE/2
        répeter
                  j <-- FAUX
                  pour i de 1 à TAILLE - k faire
                       si v_tab[i] > v_tab[i+k] alors
                           echanger(v_tab[i], v_tab[i+k])
                           j <-- VRAI
                       finsi
                   finfaire
        si ( non j ) alors
           k <-- k/2
        finsi
        tant que k != 0
fin


de plus je ne comprend pas pourquoi il y a deux tableaux identiques en paramètres.

Merci pour vos réponses.
re : rôle d'un algorithme ? #msg2816388 Posté le 08-01-10 à 22:57
Posté par Profiljonatdu21 jonatdu21

Salut, a première vu cela semble être un algo de tri (pour en être sur teste sur un jeu d'essai), mais il n'est pas tout à fait juste car les paramètre déclarer dans le prototype de la procédure ne sont pas déclarés. De même, les variables se déclarent avant le début.
re : rôle d'un algorithme ? #msg2824703 Posté le 12-01-10 à 23:22
Posté par Profilplumemeteore plumemeteore

Bonsoir.
Je ne crois pas qu'on puisse préciser la taille du tableau dans les paramètres; généralement des crochets vides suffisent.
Il doit exister une fonction taille(tableau) qui retourne le nombre d'éléments du tableau.
Exemple.
Ranger les lettres de SYNCHROMATIQUE (plus long mot français ayant des lettres différentes, par ordre alphabétique). On pourrait remplacer les lettres par les nombres correspondants : A = 1, B = 2, etc.
k = 7 : M A N C H R E S Y T I Q U O (aucune place n'est visitée deux fois).
comme les deux lettres de même place dans chaque moitié sont par ordre alphabétique, c'est terminé pour k = 7 et on passe à k = 3
k = 3 : C A N M H R E S Y T I Q U O (après le passage de i de 1 à 3)
C A N E H R M S Y T I Q U O (après le passage de i de 4 à 6)
C A N E H R M I Q T S Y U O (après le passage de i de 7 à 9)
C A N E H R M I Q T O Y U S (après le passage de i de 10 à 11)
on constate qu'il n'y aura pas d'échange au deuxième tour et on passe à K = 1
quand k = 1, si une lettre rompt l'ordre alphabétique, la lettre qui la précède saute vers la droite tout le bloc de lettres qui la précèdent dans l'ordre alphabétique; et on continue à partir de la lettre qui suit la nouvelle place de celle qui a sauté
Au premier tour, on a successivement :
A C N E H R M S Y T I Q U O (saut de C)
A C E H N R M S Y T I Q U O (saut de N)
A C E H N M R S Y T I Q U O (saut de R)
A C E H N M R S T I Q U O Y (saut de Y)
Au deuxième tour :
A C E H M N R S T I Q U O Y (saut de N)
A C E H M N R S I Q T U O Y (saut de T)
A C E H M N R S I Q T O U Y (saut de U)
Au troisième tour :
A C E H M N R I Q S T O U Y (saut de S)
A C E H M N R I Q S O T U Y (saut de T)
Au quatrième tour :
A C E H M N I Q R S O T U Y (saut de R)
A C E H M N I Q R O S T U Y (saut de S)
Au cinquième tour :
A C E H M I N Q R S O T U Y (saut de N)
A C E H M I N Q R O S T U Y (saut de S)
Au sixième tour :
A C E H I M N Q R O S T U Y (saut de M)
A C E H I M N Q O R S T U Y (saut de R)
Au septième tour :
A C E H I M N O Q R S T U Y (saut de Q)
et tout est classé

Répondre à ce sujet

réservé Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster
attention Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.

  • Ce topic

    imprimer Imprimer
    réduire la tailleRéduire   /   agrandir la tailleAgrandir

    Pour plus d'options, connection connectez vous !
  • Fiches de maths



maths haut de pagehaut Retrouvez cette page sur ilemaths l'île des mathématiques
© Tom_Pascal & Océane 2012