Corrigés des Exercices
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
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
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
Exercice 7.4
…
Ecrire "Rang de la valeur à supprimer ?"
Lire S
Pour i ← S à N-2
T(i) ← T(i+1)
i suivant
Redim T(N–1)
Fin
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
0 commentaires:
Enregistrer un commentaire