Exercice 7.1
Variables
Nb,
i en Entier
Variable
Flag en Booleen
Tableau
T()
en Entier
Debut
Ecrire
“Entrez le nombre de valeurs :“
Lire
Nb
Redim
T(Nb - 1)
Pour
i
←
0 à Nb - 1
Ecrire
“Entrez le nombre n° “, i + 1
Lire
T(i)
i Suivant
Flag
←
Vrai
Pour
i
←
1 à Nb - 1
Si
T(i) <> T(i – 1) + 1 Alors
Flag ←
Faux
FinSi
i Suivant
Si
Flag
Alors
Ecrire
"Les nombres sont consécutifs"
Sinon
Ecrire
"Les nombres ne sont pas consécutifs"
FinSi
Fin
Cette
programmation est sans doute la plus spontanée, mais elle présente le
défaut d'examiner la totalité du tableau, même lorsqu'on découvre dès le
départ deux éléments non consécutifs. Aussi, dans le cas d'un grand
tableau, est-elle dispendieuse en temps de traitement. Une autre manière
de procéder serait de sortir de la boucle dès que deux éléments non
consécutifs sont détectés. La deuxième partie de l'algorithme deviendrait
donc :
i
←
1
TantQue
T(i) = T(i – 1) + 1 et i < Nb - 1
i
←
i + 1
FinTantQue
Si T(i) = T(i
– 1) + 1 Alors
Ecrire
"Les nombres sont consécutifs"
Sinon
Ecrire
"Les nombres ne sont pas consécutifs"
FinSi
énoncé
-
retour au cours
Exercice 7.2
On suppose que
N est le nombre d’éléments du tableau. Tri par insertion :
…
Pour i
←
0 à N - 2
posmaxi = i
Pour
j
←
i + 1 à N - 1
Si
t(j)
> t(posmaxi) alors
posmaxi ←
j
Finsi
j suivant
temp
←
t(posmaxi)
t(posmaxi) ←
t(i)
t(i)
←
temp
i suivant
Fin
Tri à bulles :
…
Yapermut
←
Vrai
TantQue
Yapermut
Yapermut
←
Faux
Pour
i
←
0 à N - 2
Si
t(i)
< t(i + 1) Alors
temp ←
t(i)
t(i) ←
t(i + 1)
t(i + 1) ←
temp
Yapermut
←
Vrai
Finsi
i suivant
FinTantQue
Fin
énoncé
-
retour au cours
Exercice 7.3
On suppose que
n est le nombre d’éléments du tableau préalablement saisi
…
Pour i
←
0 à (N-1)/2
Temp
←
T(i)
T(i)
←
T(N-1-i)
T(N-1-i) ←
Temp
i suivant
Fin
énoncé
-
retour au cours
Exercice 7.4
Pour un tel
traitement, on n'aura pas le choix ; il va falloir passer par un deuxième
tableau, temporaire. L'algorithme qui suit suppose que le tableau T,
comptant N éléments, a déjà été saisi.
…
Ecrire "Rang de la valeur à supprimer ?"
Lire
S
Redim
Temp(N – 2)
Pour
i
←
0 à N - 1
Si i
< S Alors
Temp(i) ←
T(i)
SinonSi
i > S
Alors
Temp(i-1) ←
T(i)
Finsi
i suivant
On recopie
Temp dans T
Redim
T(N – 2)
Pour
i
←
0 à N - 2
T(i)
←
Temp(i)
i suivant
Fin
énoncé
-
retour au cours
Exercice 7.5
N est le
nombre d'éléments du tableau Dico(), contenant les mots du dictionnaire,
tableau préalablement rempli.
Variables
Sup,
Inf, Comp en Entier
Variables
Fini
en
Booléen
Début
Ecrire "Entrez le mot à
vérifier"
Lire Mot
On définit
les bornes de la partie du tableau à considérer
Sup
←
N - 1
Inf
←
0
Fini
←
Faux
TantQue
Non Fini
Comp désigne l'indice de l'élément à comparer.
En bonne rigueur, il faudra veiller à ce que Comp soit bien un nombre
entier, ce qui pourra s'effectuer de différentes manières selon les
langages.
Comp
←
(Sup + Inf)/2
Si le mot se
situe avant le point de comparaison, alors la borne supérieure change, la borne
inférieure ne bouge pas.
Si
Mot < Dico(Comp) Alors
Sup ←
Comp - 1
Sinon, c'est l'inverse
Sinon
Inf
←
Comp + 1
FinSi
Fini ←
Mot = Dico(Comp)
ou
Sup < Inf
FinTantQue
Si Mot =
Dico(Comp) Alors
Ecrire
"le mot existe"
Sinon
Ecrire "Il
n'existe pas"
Finsi
Fin
énoncé
-
retour au cours
|