SlideShare une entreprise Scribd logo
Institut Galilée Algorithmique et structures de données
Ingénieurs 1ère année (MACS/Télécom/Mesures/Energie) 2008/2009
Correction du T.D. 2
Les tableaux
1 Exercice 1
Ecrire les algorithmes permettant :
1. Le calcul du nombre d’occurences d’un élément donné dans un tableau.
Nb_occurences (T: Tableau d’entier, N: entier) : entier
VAR i,nb_occ : entiers
Debut
nb_occ <- 0
Pour i <- 1 a N Faire
Si T[i] = X
Alors nb_occ <- nb_occ + 1
Fsi
Fpour
retourner nb_occ
Fin
2. Le calcul de la moyenne et du minimum des éléments d’un tableau.
Moyenne (T: Tableau d’entier, N: entier) : réel
VAR somme, i: entiers
moyenne : réel
Début
somme <- 0
Pour i <- 1 a N Faire
somme <- somme + T[i]
Fpour
moyenne <- somme / N
retourner moyenne
Minimum (T: Tableau d’entier, N: entier): entier
VAR min, i: entiers
Début
min <- T[1]
Pour i <- 2 a N Faire
Si T[i]<min
Alors min=T[i]
Fsi
Fpour
retourner min
3. De tester si un tableau est trié.
1
Est_trie (T: Tableau d’entiers, N: entier): booléen
VAR i: entiers
est_trie: Booléen
Debut
i <- 1
Tant que i < N ET T[i] <= T[i+1] Faire
i <- i + 1
Ftque
est_trie <- (i = N)
retourner est_trie
Fin
4. Le calcul du produit scalaire de deux vecteurs réels u et v de dimension
n : u.v =
Pi=n
i=1 ui ∗ vi
Produit_scalaire (u: Tableau d’entiers, v: Tableau d’entiers, n:
entier): entier
VAR i, prod_scalaire: entiers
Debut
prod_scalaire <- 0
Pour i <- 1 a n Faire
prod_scalaire <- prod_scalaire + u[i] * v[i]
Fpour
retourner prod_scalaire;
Fin
2 Exercice 2
Ecrire l’algorithme effectuant le décalage des éléments d’un tableau.
Exemple :
• Tableau initial D E C A L A G E
• Tableau modifié (décalage à gauche) E C A L A G E D
Procédure Decalage_gauche (T: Tableau de caractères, N: entier)
VAR tmp: caractère
i: entier
Debut
tmp <- T[1]
Pour i <- 1 a N-1 Faire
T[i] <- T[i+1]
Ftque
T[N] <- tmp
Fin
3 Exercice 3
Ecrire l’algorithme qui calcule le produit de deux matrices carées réelles A =
(aij) et B = (bij) de dimension n : cij =
Pk=n
k=1 aik ∗ bkj.
2
Produit_matriciel (a: Matrice carrée , b: Matrice carrée, n:
entier): Matrice carrée
VAR c: Matrice carrée n*n
i: entier
Debut
Pour i <- 1 a n Faire
Pour j de 1 a n Faire
c[i][j] <- 0
Pour k de 1 a n Faire
c[i][j] <- c[i][j] + a[i][k] * b[k][j]
Fpour
Fpour
Fpour
retourner c
Fin
4 Exercice 4
Soit un tableau T avec T(i) ∈ {0, 1}. Ecrire un algorithme qui retourne la
position i dans le tableau telle que T[i] est le début de la plus longue suite
consécutive de zéros.
pos_suite_0 (t: Tableau d’entiers, n: entier): entier
VAR pos, lmax, lg, i: entiers
suite: Booléen
Debut
pos = -1
lmax = 0
suite = Faux
pour i
Pour i <- 1 a n Faire
Si t[i]= 0
Alors
Si NON suite
Alors
lg <- 0
suite = 1
Fsi
lg = lg+1
Sinon //t[i] diférent de zéro
Si suite = Vrai
Alors
suite <- Faux
Si lg > lmax
Alors
lmax = lg
pos = i - lg
Fsi
3
Fsi
Fsi
Fpour
Si suite=Vrai ET lg > lmax
Alors
pos = i - lg + 1
Fsi
return pos
Fin
5 Exercice 5
Ecrire un algorithme qui calcule le plus grand écart dans un tableau (l’écart est
la valeur absolue de la différence de deux éléments).
plus_grand_ecart (t: Tableau d’entiers, n: entier): entier
VAR: min, max, i: entiers
Debut
min = t[1]
max = t[1]
Pour i <- 2 a n Faire
Si t[i] > max
Alors
max = t[i]
Fsi
Si t[i] < min
Alors
min = t[i]
Fsi
Fpour
return max - min
Fin
4

Contenu connexe

Tendances

Guide d'évaluation de prix des travaux
Guide d'évaluation de prix des travauxGuide d'évaluation de prix des travaux
Guide d'évaluation de prix des travaux
Clico travaux
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerSana Aroussi
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
Missaoui Abdelbaki
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
Yassine Badri
 
La pedagogie du projet
La pedagogie du projetLa pedagogie du projet
La pedagogie du projettjb47
 
Pfe.gc.0144
Pfe.gc.0144Pfe.gc.0144
Pfe.gc.0144dopascal
 
jeu stratégie de maintenance
jeu stratégie de maintenancejeu stratégie de maintenance
jeu stratégie de maintenance
CIPE
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012jedjenderedjian
 
pfe génie civil
pfe génie civilpfe génie civil
pfe génie civil
Mohamed Elhedi Ben Saad
 
Exam 15.02.2022.pdf
Exam 15.02.2022.pdfExam 15.02.2022.pdf
Exam 15.02.2022.pdf
GhazaliLoubna
 
Rapport pfe licence
Rapport pfe licenceRapport pfe licence
Rapport pfe licence
Fatima Zahra Fagroud
 
Intégration pédagogique des TIC
Intégration pédagogique des TICIntégration pédagogique des TIC
Intégration pédagogique des TICHanane Eljarroudi
 
Knn
KnnKnn
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
InforMatica34
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auHanfi Akram
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
AmineMouhout1
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Faciliter Une Réunion
Faciliter Une RéunionFaciliter Une Réunion
Faciliter Une Réunion
Frantz Degrigny
 
51 demontage-remontage
51 demontage-remontage51 demontage-remontage
51 demontage-remontage
Hubert Faigner
 

Tendances (20)

Guide d'évaluation de prix des travaux
Guide d'évaluation de prix des travauxGuide d'évaluation de prix des travaux
Guide d'évaluation de prix des travaux
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
La pedagogie du projet
La pedagogie du projetLa pedagogie du projet
La pedagogie du projet
 
Pfe.gc.0144
Pfe.gc.0144Pfe.gc.0144
Pfe.gc.0144
 
jeu stratégie de maintenance
jeu stratégie de maintenancejeu stratégie de maintenance
jeu stratégie de maintenance
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012
 
pfe génie civil
pfe génie civilpfe génie civil
pfe génie civil
 
Exam 15.02.2022.pdf
Exam 15.02.2022.pdfExam 15.02.2022.pdf
Exam 15.02.2022.pdf
 
Rapport pfe licence
Rapport pfe licenceRapport pfe licence
Rapport pfe licence
 
Intégration pédagogique des TIC
Intégration pédagogique des TICIntégration pédagogique des TIC
Intégration pédagogique des TIC
 
Knn
KnnKnn
Knn
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire au
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Faciliter Une Réunion
Faciliter Une RéunionFaciliter Une Réunion
Faciliter Une Réunion
 
51 demontage-remontage
51 demontage-remontage51 demontage-remontage
51 demontage-remontage
 
python
pythonpython
python
 

Similaire à Correction td2

Fiche2 ex-sous-programme
Fiche2 ex-sous-programmeFiche2 ex-sous-programme
Fiche2 ex-sous-programme
Baghdadi Wajih
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
Sana Aroussi
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
abdallahyoubiidrissi1
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009Morom Bil Morom
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
salah fenni
 
Cours d'algorithmique
Cours d'algorithmiqueCours d'algorithmique
Cours d'algorithmique
ABDESSELAM ARROU
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
sunprass
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
Riadh Harizi
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: Tableau
InforMatica34
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
Smee Kaem Chann
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
borhen boukthir
 
Resume algorithme
Resume algorithmeResume algorithme
Resume algorithme
NAWEL_DERBEL
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
coursAlgo_V5.pdf
coursAlgo_V5.pdfcoursAlgo_V5.pdf
coursAlgo_V5.pdf
MonssifNajim1
 
Corrigé iscae informatique 2013
Corrigé iscae informatique 2013Corrigé iscae informatique 2013
Corrigé iscae informatique 2013
Yassine Anddam
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
Hajar Yazine
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
Slide matlab
Slide matlab Slide matlab
Slide matlab
Smee Kaem Chann
 

Similaire à Correction td2 (20)

Fiche2 ex-sous-programme
Fiche2 ex-sous-programmeFiche2 ex-sous-programme
Fiche2 ex-sous-programme
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Cours d'algorithmique
Cours d'algorithmiqueCours d'algorithmique
Cours d'algorithmique
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: Tableau
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 
Resume algorithme
Resume algorithmeResume algorithme
Resume algorithme
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
coursAlgo_V5.pdf
coursAlgo_V5.pdfcoursAlgo_V5.pdf
coursAlgo_V5.pdf
 
Corrigé iscae informatique 2013
Corrigé iscae informatique 2013Corrigé iscae informatique 2013
Corrigé iscae informatique 2013
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
Slide matlab
Slide matlab Slide matlab
Slide matlab
 

Correction td2

  • 1. Institut Galilée Algorithmique et structures de données Ingénieurs 1ère année (MACS/Télécom/Mesures/Energie) 2008/2009 Correction du T.D. 2 Les tableaux 1 Exercice 1 Ecrire les algorithmes permettant : 1. Le calcul du nombre d’occurences d’un élément donné dans un tableau. Nb_occurences (T: Tableau d’entier, N: entier) : entier VAR i,nb_occ : entiers Debut nb_occ <- 0 Pour i <- 1 a N Faire Si T[i] = X Alors nb_occ <- nb_occ + 1 Fsi Fpour retourner nb_occ Fin 2. Le calcul de la moyenne et du minimum des éléments d’un tableau. Moyenne (T: Tableau d’entier, N: entier) : réel VAR somme, i: entiers moyenne : réel Début somme <- 0 Pour i <- 1 a N Faire somme <- somme + T[i] Fpour moyenne <- somme / N retourner moyenne Minimum (T: Tableau d’entier, N: entier): entier VAR min, i: entiers Début min <- T[1] Pour i <- 2 a N Faire Si T[i]<min Alors min=T[i] Fsi Fpour retourner min 3. De tester si un tableau est trié. 1
  • 2. Est_trie (T: Tableau d’entiers, N: entier): booléen VAR i: entiers est_trie: Booléen Debut i <- 1 Tant que i < N ET T[i] <= T[i+1] Faire i <- i + 1 Ftque est_trie <- (i = N) retourner est_trie Fin 4. Le calcul du produit scalaire de deux vecteurs réels u et v de dimension n : u.v = Pi=n i=1 ui ∗ vi Produit_scalaire (u: Tableau d’entiers, v: Tableau d’entiers, n: entier): entier VAR i, prod_scalaire: entiers Debut prod_scalaire <- 0 Pour i <- 1 a n Faire prod_scalaire <- prod_scalaire + u[i] * v[i] Fpour retourner prod_scalaire; Fin 2 Exercice 2 Ecrire l’algorithme effectuant le décalage des éléments d’un tableau. Exemple : • Tableau initial D E C A L A G E • Tableau modifié (décalage à gauche) E C A L A G E D Procédure Decalage_gauche (T: Tableau de caractères, N: entier) VAR tmp: caractère i: entier Debut tmp <- T[1] Pour i <- 1 a N-1 Faire T[i] <- T[i+1] Ftque T[N] <- tmp Fin 3 Exercice 3 Ecrire l’algorithme qui calcule le produit de deux matrices carées réelles A = (aij) et B = (bij) de dimension n : cij = Pk=n k=1 aik ∗ bkj. 2
  • 3. Produit_matriciel (a: Matrice carrée , b: Matrice carrée, n: entier): Matrice carrée VAR c: Matrice carrée n*n i: entier Debut Pour i <- 1 a n Faire Pour j de 1 a n Faire c[i][j] <- 0 Pour k de 1 a n Faire c[i][j] <- c[i][j] + a[i][k] * b[k][j] Fpour Fpour Fpour retourner c Fin 4 Exercice 4 Soit un tableau T avec T(i) ∈ {0, 1}. Ecrire un algorithme qui retourne la position i dans le tableau telle que T[i] est le début de la plus longue suite consécutive de zéros. pos_suite_0 (t: Tableau d’entiers, n: entier): entier VAR pos, lmax, lg, i: entiers suite: Booléen Debut pos = -1 lmax = 0 suite = Faux pour i Pour i <- 1 a n Faire Si t[i]= 0 Alors Si NON suite Alors lg <- 0 suite = 1 Fsi lg = lg+1 Sinon //t[i] diférent de zéro Si suite = Vrai Alors suite <- Faux Si lg > lmax Alors lmax = lg pos = i - lg Fsi 3
  • 4. Fsi Fsi Fpour Si suite=Vrai ET lg > lmax Alors pos = i - lg + 1 Fsi return pos Fin 5 Exercice 5 Ecrire un algorithme qui calcule le plus grand écart dans un tableau (l’écart est la valeur absolue de la différence de deux éléments). plus_grand_ecart (t: Tableau d’entiers, n: entier): entier VAR: min, max, i: entiers Debut min = t[1] max = t[1] Pour i <- 2 a n Faire Si t[i] > max Alors max = t[i] Fsi Si t[i] < min Alors min = t[i] Fsi Fpour return max - min Fin 4