Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

rôle d'un algorithme ?

Posté par
mateo13
08-01-10 à 21:17

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.

Posté par
jonatdu21
re : rôle d'un algorithme ? 08-01-10 à 22:57

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.

Posté par
plumemeteore
re : rôle d'un algorithme ? 12-01-10 à 23:22

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é



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !