Академический Документы
Профессиональный Документы
Культура Документы
Page 1 sur 16
Matrices
Récursivité Informations et Archives
de variables
Travaux dirigés
Evaluation intermédiaire Sujets de projet
et travaux pratiques
Cours TD - Corrections TP
AffichageTableauSeuils.lda
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercices ... Page 2 sur 16
{ Affichage d'un tableau de reels }
{ pour les valeurs comprises }
{ entre des bornes minimale et maximale }
action principale()
Locales
réel min
réel max
Tableau [N] de réel t
entier i
afficher("SVP, valeur minimale? ")
min <- saisir()
afficher("SVP, valeur maximale? ")
max <- saisir()
t <- initRand(N)
pour i de 0 à N-1 faire
si ( t[i] >= min ) et ( t[i] <= max ) alors
afficherln(t[i])
fsi
fait
fin action
MoyenneTableau.lda
action initRand(tab)
Sorties
Tableau [] de réel tab
Locales
entier i
pour i de 0 à longueur(tab)-1 faire
tab[i] <- random()*10.0
fait
fin action
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercices ... Page 3 sur 16
action principale()
Locales
entier i
reel moyenne
Tableau [N] de réel t
initRand(t)
moyenne <- 0.0
pour i de 0 à N-1 faire
moyenne <- moyenne+t[i]
fait
moyenne <- moyenne/N
afficherln("La moyenne est ",moyenne)
fin action
NombreValeursInferieuresLimite.lda
action principale()
Locales
reel limite
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercices ... Page 4 sur 16
Tableau [N] de reel t
entier i
entier cpt
t <- initRand(N)
afficher("SVP, valeur limite? ")
limite <- saisir()
cpt <- 0
pour i de 0 à N-1 faire
si t[i] <= limite alors
cpt <- cpt+1
fsi
fait
afficherln("Nombre valeurs < a ",limite,": ",cpt)
fin action
d) On considère l'existence d'un tableau de réels. Les valeurs qu'il contient sont
comprises dans l'intervalle [0.0, 20.0[. Ecrire un algorithme permettant de calculer et
d'afficher les nombres de valeurs de ce tableau comprises dans les intervalles
[0.0,1.0[, [1.0, 2.0[, [2.0, 3.0[, ..., [19.0, 20.0[ (classification).
ClassificationTableau.lda
action initRand(tab)
Sorties
Tableau [] de reel tab
Locales
entier i
pour i de 0 à longueur(tab)-1 faire
tab[i] <- random()*20.0
fait
fin action
action principale()
Locales
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercices ... Page 5 sur 16
Tableau [N] de reel t
Tableau [20] de entier classification
entier i
entier cl
initRand(t)
pour i de 0 à longueur(classification)-1 faire
classification[i] <- 0
fait
pour i de 0 à longueur(t)-1 faire
cl <- t[i]
classification[cl] <- classification[cl]+1
fait
afficherln("Nombres valeurs:")
pour i de 0 à longueur(classification)-1 faire
afficherln(i," ",classification[i])
fait
fin action
a) Reprendre les questions (c) et (d) de l'exercice n°1 en les implantant avec
utilisation de sous-algorithmes.
FonctionNombreValeursInferieuresLimite.lda
FonctionClassificationTableau.lda
IndiceDuMinimum.lda
FusionTableaux.lda
BarycentreNuageSommets3D.lda
structure sommet3D
reel x <- 0.0
reel y <- 0.0
reel z <- 0.0
fin structure
TableauSommets2D.lda
structure sommet2D
reel x <- 0.0
reel y <- 0.0
fin structure
action polygoneRegulier(r,t)
Entrées
reel r
Entrées / Sorties
Tableau [] de sommet2D t
Locales
i entier
reel angle
pour i de 0 à longueur(t)-1 faire
angle <- i*2.0*PI/longueur(t)
t[i].x <- r*cos(angle)
t[i].y <- r*sin(angle)
fait
fin action
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 10 sur 16
reel fonction distance(p1,p2)
Entrées
sommet2D p1
sommet2D p2
Locales
réel l
réel dx
réel dy
dx <- p2.x-p1.x
dy <- p2.y-p1.y
l <- sqrt(dx*dx+dy*dy)
retourner l
fin fonction
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 11 sur 16
a) On souhaite calculer le coefficient de corrélation linéaire défini entre deux séries
de 15 données réelles.
1) Définir un type agrégé permettant de stocker ces deux séries de données en une
seule variable.
2) Implanter un sous-algorithme permettant de calculer le coefficient de corrélation
linéaire existant entre les deux séries de données stockées au sein d'une variable du
type agrégé de la question (1). On utilisera la formule de calcul suivante (wikipedia):
CoefficientCorrelationLineaire.lda
structure DeuxSeries
Tableau [N] de reel x
Tableau [N] de reel y
fin structure
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 12 sur 16
{ Fonction de calcul et retour de l'ecart }
{ quadratique des valeurs contenues }
{ dans un tableau de double }
{ t : Le tableau de calcul }
{ m : La valeur par rapport à laquelle }
{ le calcul est réalisé }
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 13 sur 16
EnsembleDeChainesDeCaracteres.lda
structure ensembleDeChaines
entier n <- 0
Tableau [N] de chaine s
fin structure
action affichage(edc)
Entrées
ensembleDeChaines edc
Locales
entier i
pour i de 0 à edc.n faire
afficherln(edc.s[i])
fait
fin action
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 14 sur 16
{ Fonction d'ajout d'une chaine de caracteres }
{ à un ensemble de chaines de caracteres }
{ Retourne vrai si l'ajout a abouti }
{ Retourne faux si plus de place }
{ e : L'ensembleDeChaines où l'ajout }
{ est effectué }
{ s : La chaine ajoutée }
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 15 sur 16
{ de chaines de caracteres dans un ensemble }
{ de chaines de caracteres }
{ Retour de faux si fusion impossible }
{ car pas assez de place et ne touche pas }
{ au parametre en sortie }
{ Retour de vrai sinon }
{ e1 : Le premier ensembleDeChaines }
{ e2 : Le premier ensembleDeChaines }
{ e : L'ensembleDeChaines issu de la fusion }
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018
Algorithmique-Programmation Orientée Objet Semestre 2 ST - Les tableaux de variables - Exercic... Page 16 sur 16
entier i
res <- faux
i <- 0
tantque ( res == faux ) et ( i < e.n ) faire
res <- (e.s[i] == s)
i <- i+1
fait
si res alors
pour i de i à e.n-1 faire
e.s[i-1] <- e.s[i]
fait
e.n <- e.n-1
fsi
retourner res
fin fonction
http://127.0.0.1:9000/Algo-S2/03-Tableaux/TD-Correction.htm 01/02/2018