Vous êtes sur la page 1sur 4

Série d’exercices

Les procédures
Exercice 1 :
Écrire l’algorithme d’un sous-programme Remplir qui permet de remplir un tableau par des entiers
impairs.

Exercice 2 :
Écrire l’algorithme d’un sous-programme Remplir_ordre qui permet de remplir un tableau par des
éléments dans l’ordre croissant.

Exercice 3 :
Écrire l’algorithme d’un sous-programme Remplir_distincts qui permet de remplir un tableau par des
entiers distincts.

Exercice 4 :
Écrire l’algorithme d’un sous-programme Remplir_tch qui permet de remplir un tableau par des
chaines de caractères de 8 chiffres.

Exercice 5 :
Écrire l’algorithme d’un sous-programme Permute qui permute deux variables réelles.

Exercice 6 :
Écrire l’algorithme d’un sous-programme Inverser_tab qui permet d’inversez les éléments d’un tableau T de n
entiers sans utiliser un tableau supplémentaire.
Exemple :
Pour n=5 et 13 17 24 19 21 T
Le résultat est comme suit : T
21 19 24 17 13

Exercice 7 :
Écrire l’algorithme d’un sous-programme Transfert qui permet de transférer les éléments pairs d’un
tableau T, dans un tableau T1 et les éléments impairs dans un tableau T2.

Exercice 8 :
Écrire l’algorithme d’un sous-programme Insertion qui insère un entier x dans un tableau T à une position p.
Pour insérer un nouvel entier dans le tableau, déplacez les éléments de la position d'insertion donnée vers la
droite.

Exercice 9 :
É crire un algorithme d’un sous-programme Suppression qui permet de supprimez un élément du tableau T à
une position spécifiée p. (0<=p <= n-1).

Page 1|4
Correction série
Les sous-programmes

Exercice 1 :
Procédure Remplir(@T :tab , n :entier) def Remplir(T , n):
Début for i in range(n) :
Pour i de 0 à n-1 faire while True:
Répéter print ("Donner T[" , i , "] : ",end="")
Afficher ("Donner T[" , i , "] : ") T[i]=int(input())
Lire(T[i]) if T[i] % 2==1 :
Jusqu’à T[i] mod 2=1 break
Fin pour
Fin
Exercice 2 :
Procédure Remplir_ordre (@T :tab , n :entier) def Remplir_ordre(T , n):
Début print ("Donner T[0] : ",end="")
Afficher("Donner T[0] : ") T[0]=int(input())
Lire(T[0]) for i in range(1,n) :
Pour i de 1 à n-1 faire while True:
Répéter print ("Donner T[" , i , "] : ",end="")
Afficher ("Donner T[" , i , "] : ") T[i]=int(input())
Lire(T[i]) if T[i] >= T[i-1] :
Jusqu’à T[i] > T[i-1] break
Fin pour
Fin
Exercice 3 :
Procédure Remplir_distincts (@T :tab , n :entier) def Remplir_distincts(T , n):
Début T[0]=int(input("Donner T[0] : "))
Afficher("Donner T[0] : ") for i in range(1,n) :
Lire(T[0]) while True:
T[i]=int(input("Donner T[" + str(i) + "] : "))
Pour i de 1 à n-1 faire
j=0
Répéter
while j<i and T[i]!=T[j]:
Afficher ("Donner T[" , i , "] : ") j=j+1
Lire(T[i]) if i==j :
j=0 break
tant que j<i et T[j]≠T[i] faire
jj+1
fin tant que
Jusqu’à i=j
Fin pour
Fin
Exercice 4 :
Procédure Remplir_tch (@T :tab , n :entier) Fin
Début def Remplir_tch (t,n):
Pour i de 0 à n-1 faire for i in range(n) :
Répéter while True:
T[i]=input("Donner T[" +str(i)+ "] : ")
Afficher ("Donner T[" , i , "] : ")
if len(T[i])==3 and T[i].isdigit()==True :
Lire(T[i])
break
Jusqu’à long(T[i])=8 et estnum(T[i])=Vrai
Fin pour
Page 2|4
Exercice 5 : *
Procédure Permute (@x :réel , @y : réel) Fin
Début def Permute (x,y):
aux  x aux=x
xy x=y
y=aux
y  aux
return x,y
#-----Prog. Principal----
a=float(input("Donnez a:"))
b=float(input("Donnez b:"))
a,b=Permute(a,b)
print("a=",a)
print("b=",b)

Exercice 6 :
Procédure Inverser_tab (@T :tab,n :entier)
Début
Pour i de 0 à (n Div 2) -1 faire
Permute(T[i],T[n-1-i])
Fin pour
Fin

def Inverser_tab(T,n):
for i in range(n//2) :
T[i],T[n-1-i]=Permute(T[i],T[n-1-i])

Exercice 7 : **
Procédure Fin
Transfert(T :tab,n :entier,@T1 :tab,@n1 :entier,@T2 :tab,@n2 :entier) def Transfert(T,n,T1,T2):
Début j =-1
j  -1 k =-1
k  -1 for i in range(n):
Pour i de 0 à n-1 faire if T[i] % 2 ==0 :
Si T[i] mod 2=0 alors j=j+1
j  j +1 T1[j] = T[i]
T1[j]  T[i] else:
Sinon k=k+1
kk+1 T2[k] = T[i]
T2[k]  T[i] n1=j+1
Finsi n2=k+1
Fin pour return n1,n2
n1  j+1
n2  k+1
#-----Prog. Principal----
n=int(input("n:"))
T=[int]*n
Remplir(T,n)
T1=[int]*n
T2=[int]*n
n1,n2=Transfert(T,n,T1,T2)
Afficher(T1,n1)
Afficher(T2,n2)

Page 3|4
Exercice 8 : **
Procédure Insertion (@T :tab, @n :entier, x :entier , p :entier) def Insertion (T,n,x,p):
Début n=n+1
n n + 1 for i in range(n-1,p,-1):
Pour i de n-1 à p+1 (pas= -1) faire T[i] = T[i-1]
T[i]  T[i-1] T[p] = x
Fin pour return n
T[p]  x
Fin
#-----Prog. Principal----
T=[int]*50
n=int(input("n:")) #doit être <50
Remplir(T,n)
Afficher(T,n)
p=int(input("Donner la position d'insertion:")) #doit être <n-1
x=int(input("Donner la valeur à insérer :"))
n=Insertion(T,n,x,p)
Afficher(T,n)
Exercice 9 : **
Procédure Suppression (@T :tab,@n :entier,p :entier) def Suppression (T,n,p):
Début for i in range(p,n-1):
Pour i de p à n-2 faire T[i] = T[i+1]
T[i]  T[i+1] n=n-1
Fin pour return n
n  n-1
Fin
#-----Prog. Principal----
T=[int]*50
n=int(input("n:")) #doit etre <=50
Remplir(T,n)
Afficher(T,n)
p=int(input("Donner la position de l'élément à supprimer:")) #doit 0<=p<=n-1
n=Suppression(T,n,p)
Afficher(T,n)

Page 4|4

Vous aimerez peut-être aussi