Beruflich Dokumente
Kultur Dokumente
certains existent déjà dans les séries d’exercices donc j’ai préféré ne pas les
mettre, essayez de faire les exercices en groupes en respectant la durée
maximale que j’ai mis.
« Bon courage »
Exercice 2 : (rattrapage 2014)=25min
Écrire un algorithme qui crée une liste chaînée L de n entiers (n>0), puis utilise une
procédure pour supprimer tous les éléments multiples du premier élément de la liste.
Afficher la liste finale.
Exemple :
L
2 8 1 9 5 4 3 6 12 7
L 2 1 9 5 3 7
0 3 0
0 2 2
3 0 0
3 3 0
2 0 3
P Q R
Page 1 sur 10
Exercice 1 : (Rattrapage 2015) =25min
- Soit A une matrice d’entiers de taille (n, m) avec n<=20 et m<=30 et B une autre matrice
d’entiers de taille (p, q) avec p<=20 et q<=30. Ecrire une fonction Est_Transpos qui
vérifie si la matrice B est la transposée de A ou non.
Rappel : B est la transposé de A si p=m et q=n et chaque ligne i de A est la colonne i dans B.
- Ecrire un algorithme qui lit les deux matrices A et B puis appel la fonction
Est_Transpos pour afficher si B est la transposé de A ou non.
Exemples :
ch1=“aab” et ch2=”aba” sont anagrammes.
Mais : ch1=”babaa” et ch2=”bbaba” ne sont pas anagrammes. Car le nombre d’occurrence de
‘a’ dans ch1 est 3, mais le nombre d’occurrence de ‘a’ dans ch2 est 2.
Page 2 sur 10
Exercice 3 : (Rattrapage 2016) = 30min
Etant donnée une liste non vide L, ne contenant que des valeurs strictement positives. Ecrire
un sous algorithme qui :
1/ Supprime à partir de L les valeurs impairs et les met dans une nouvelle liste S.
2/ Affiche les éléments de S.
Exemple :
L 3 4 7 2 3 6
L 3 4 7 2 3 6
L 4 2 3 6 S4 3 2 7
Page 3 sur 10
Solution Exercice 2 : (rattrapage 2014)
Algorithme Listemultiple ;
Type MaillonL=structure
valeur : entier ;
Suivant :^(MaillonL) ;
fin
Variable
L, p : ^(MaillonL) ; n, x : entier ;
sinon qq^.suivant ;
pp^.suivant ;
finsi ;
Fait ;
Fin
Début
Ecrire(“Donner la taille de la liste“) ; Lire(n) ;
{création de la liste}
{1ère méthode} {2ème méthode}
LNil ; LNil ;
Pour i1 à n faire Pour i1 à n faire
Ecrire(“Donner un entier“) ; Ecrire(“Donner un entier“) ;
Lire(x) ; Lire(x) ;
Allouer(p) ; Allouer(p) ;
p^.valeurx ; p^.valeurx ;
p^.suivantL ; Si(L=Nil) alors Lp ;
Lp ; Sinon q^.suivantp ;
Fait; Finsi ;
qp ;
Fait ;
q^.suivantNil ;
{Appeler la procédure}
sup(L,n) ;
Page 4 sur 10
Solution Exercice1 : (Examen 2015)
Algorithme exo1 ;
Variable T1, T2 : Tableau [50] entier ; n, i : entier
Fonction fraction_entière (x : entier, y : entier) : booléen ;
Début
Si (x mod y =0) alors fraction_entièrevrai ;
Sinon fraction_entièrefaux ;
Finsi ;
cpt0 ;
Pour i1 à n pas 1 faire
Si(T2[i]<>0 et fraction_entière(T1[i], T2[i])=vrai) alors
cptcpt+1 ;
Finsi ;
Fait ;
Ecrire(cpt) ;
Fin
Page 5 sur 10
{caluler la moyenne}
{1ère méthode} {2ème méthode}
SL^.valeur ; cpt1 ; S0 ; PL ; cpt1 ;
PL^.suivant ; Tant que (P^.suivant<>L) faire
Tant que (P<>L) faire SS + p^.valeur ;
SS + p^.valeur ; pp^.suivant ;
pp^.suivant ; cptcpt+1 ;
cptcpt+1 ; Fait ;
Fait ; SS + p^.valeur ;
MoyS/cpt ;
Ecrire(“la moyenne est :“, Moy) ;
Fin
symvrai ;
jn ; i1 ; i1 ;
Tant que(i<=n div2 et sym=vrai) faire Tant que(i<n div2 et sym=vrai) faire
Si non (VERIF(A, n, i, j)) alors Si non (VERIF(A, n, i, n-i+1)) alors
symfaux ; symfaux ;
Sinon ii+1; jj-1; Sinon ii+1 ;
Finsi ; Finsi ;
Fait ; Fait ;
jn ; i1 ; jn ; i1 ;
Tant que(i<n div2 et sym=vrai) faire Tant que(i<j et sym=vrai) faire
Si non (VERIF(A, n, i, j)) alors Si non (VERIF(A, n, i, j)) alors symfaux ;
symfaux ; Sinon ii+1; jj-1;
Sinon ii+1; jj-1; Finsi ;
Finsi ; Fait ;
Fait ;
Page 9 sur 10
{Traitement de la suppression dans la liste L}
Si(p=L) alors {cas : suppression au début}
LL^.suivant ; Libérer(p) ; pL ;
Sinon {cas : suppression après le premier}
q^.suivantp^.suivant ; Libérer(p) ; pq^.suivant ;
Finsi ;
Sinon qp ; pp^.suivant ;
Fini ;
Fait ;
pS ;
tant que(p<>Nil) faire
Ecrire(p^.valeur) ;
pp^.suivant ;
fait ;
Fin
Page 10 sur 10