Vous êtes sur la page 1sur 2

Correction TD N°6-Les sous-programmes et passage de paramètres Algorithmique et structure de données I

Oueslati Bilel Année Universitaire : 2022/2023

Voici proposition de l’etudiant


Explication passege par valeur et
passage par variable

variable :T 2 5 1 4
variable : 5
X

Procedure Saisire(var N :entier)


Var
Début
Ecrire ("donner N") ; lire(N)
Fin

Algorithme principal
Var x : entier
Début
X<- 5
Saisire(x) // l’utilisateur va introduire 6
Ecrire (x) // avec var il affiche 6 ,
Fin
Notez que :si vous retirez la déclaration
"var" dans la procédure , cela signifie que la
variable "x" est déjà initialiser auparavant et
qu'elle contient toujours la valeur de 5. Dans
ce cas, l'algorithme affichera toujours 5,
quelle que soit la valeur entrée par
Correction exercice 10
l'utilisateur.
Procedure Saisire(var T : Tableaux[1..50] d’entier , N :entier)
Var i :entier
Début
Pour i de 1 a N faire
Ecrire( "donner T[ " ,i," ] ")
Lire(T[i])
Fin pour
Fin
Procedure affiche(T : Tableaux[1..50] d’entier , N :entier)
Var i :entier
Début
Pour i de 1 a N faire
Ecrire( T[i] )
Fin pour
Fin

Procedure Trie( Var T : Tableaux[1..50] d’entier , N :entier) T


Oueslati.Bilel - 1
1 2 3 4 5 6 7 8
14 5 17 8 11 4 8 6
i-> <- k
Var i ,k :entier
Début
i<- 1 // position debut
k<- N // position fin
répéter
si( T[i] mod 2 =0 ) alors
i<- i+1
sinon si ( T[k] mod 2 ≠ 0) alors
k<-k-1
alors
Permut( T , i,k)
i<- i+1
k<-k-1
fin si
fin si

jusqu’à (k=<i)

Fin

Procedure permut ( var T : Tableaux[1..50] d’entier , i, j)


Var aux ; entier
Début
Aux <- T[i] 
T[i]  <- T[j]
T[j]  <- Aux
Fin

Algorithme principal
Var Test tableaux déjà trier
T : Tableaux[1..50] d’entier 1 2 3 4 5 6 7 8
N : entier 8 6 2 4 2 3 17 5
Début i=1 et k=8
Répéter
Ecrire ("donner N") lire(N) // l’utilisateur va introduire 8 test parite de T[1] (paire) ok i ,++
Jusqu ‘a N >1 et N<=50 test parite de T[2] (paire) ok i ,++
Saisire(T,N)
Trie(T,N) test parite de T[3] (paire) ok i ,++
Affiche( T, N) test parite de T[4] (paire) ok i ,++
Fin
test parite de T[5] (paire) ok i ,++

test parite de T[6] (impaire )

test parite de T[8] (impaire ) ok k ,--

test parite de T[6] (impaire )

test parite de T[7] (impaire ) ok k ,--

test parite de T[6] (impaire )

test parite de T[6] (impaire ) ok k ,--

Oueslati.Bilel - 2

Vous aimerez peut-être aussi