Vous êtes sur la page 1sur 4

Exercice 1

1)
a)
procedure rempMatrice (m[][] : tab d’entier, n : entier, m : entier)
i, j : entier
pour i allant de 0 à n-1, faire
pour j allant de 0 à m-1, faire
repetez
ecrire(‘’entrez un nb’’)
lire( m[i][j] )
jusqu’à (m[i][j] >= 0)
fin pour
fin pour
fin procedure

b)
procedure afficherMatrice (m[][] : tab d’entier, n : entier, m : entier)
i, j : entier
pour i allant de 0 à n-1, faire
pour j allant de 0 à m-1, faire
ecrire ( m[i][j] )
fin pour
fin pour
fin procedure

c)
fonction minMatrice (m[][] : tab d’entier, n : entier, m : entier) : entier
i, j, min : entier
min <- m[0][0]
pour i allant de 0 à n-1, faire
pour j allant de 0 à m-1, faire
si ( min > m[i][j] )
min <- m[i][j]
fin si
fin pour
fin pour
retourner min
fin fonction

d)
procedure indicesMinMatrice (m[][] : tab d’entier, n : entier, m : entier)
i, j, min, lmin, cmin : entier
min <- m[0][0]
lmin <- 0
cmin <- 0
pour i allant de 0 à n-1, faire
pour j allant de 0 à m-1, faire
si ( min > m[i][j] )
min <- m[i][j]
lmin <- i
cmin <- j
fin si
fin pour
fin pour
ecrire (‘’ligne min est : ’’, lmin, ‘’colonne min est : ’’, cmin)
fin procedure

e)
fonction ligneSommeMax (m[][] : tab d’entier, n : entier, m : entier) : entier
i, j, s, som, indSom : entier
som <- 0
pour j allant de 0 à m-1, faire
som <- som + m[0][j]
fin pour
indSom <- 0
pour i allant de 1 à n-1, faire
s <- 0
pour j allant de 0 à m-1, faire
s <- s + m[i][j]
fin pour
si ( s > som )
som <- s
indSom <- i
fin si
fin pour
retourner indSom
fin fonction

2)
Algo Test
Var
M[3][4] : tab d’entier
Début
rempMatrice(M, 3, 4)
afficherMatrice(M, 3, 4)
ecrire(‘’min matrice : ‘’, minMatrice(M, 3, 4))
indicesMinMatrice(M, 3, 4)
ecire(‘’ligne avec som max : ’’, ligneSommeMax(M, 3, 4) )
Fin
Exercice 2
1)
a)
procedure rempTab (t[] : tab d’entier, n : entier)
i : entier
pour i allant de 0 à n-1, faire
repetez
ecrire(‘’entrez un nb’’)
lire( t[i] )
jusqu’à (t[i] >= 0)
fin pour
fin procedure

b)
procedure afficherTab (t[] : tab d’entier, n : entier)
i : entier
pour i allant de 0 à n-1, faire
ecrire( t[i] )
fin pour
fin procedure

c)
fonction : moyenneElementSup(t[] : tab d’entier, n : entier, x : entier) : Réel
i, som, nb : entier
moy : réel
som <- 0
pour i allant de 0 à n-1, faire
si ( t[i] >= x )
som <- som + t[i]
nb <- nb + 1
fin si
fin pour
moy <- som / nb
retourner moy
fin fontion

e)
fonction chercherElement(t[] : tab d’entier, n : entier, x : entier) : entier
pour i allant de 0 à n-1, faire
si ( t[i] = x )
retourner i
fin si
fin pour
retourner -1
fin fonction
d)
procedure trierTab(t[] : tab d’entier, n : entier)
i, j, min, indMin, tmp : entier
pour i allant de 0 à n-1, faire
min <- t[i]
indMin <- i
pour j allant de i+1 à n-1, faire
si(min > t[j])
min <- t[j]
indMin <- j
fin si
fin pour
tmp <- t[i]
t[i] <- t[indMin]
t[indMin] <- tmp
fin pour
fin procedure

f)
fonction chercherElementDichotomie (t[] : tab d’entier, n : entier, x : entier) : entier
d, f, res milieu : entier
res <- -1
d <- 0
f <- n-1
tant que ( res = -1 ET d<=f )
milieu <- (f+d) / 2
si ( t[milieu] = x )
res <- milieu
sinon si ( t[milieu] < x )
d <- milieu + 1
sinon
f <- milieu - 1
fin si
fin pour
retourner res
fin fonction

2)
Algo Test
Var T[5] : tableau d’entier
Début
rempTab(T, 5)
afficherTab(T, 5)
ecrire (‘’Moy des elements > à 8 est : ’’, moyenneElementSup(T, 5, 8) )
trierTab(T, 5)
ecrire (‘‘indice de 11 dans le tableau est avec rech ordinaire : ’’, chercherElement(T, 5, 11) )
ecrire (‘’indice de 11 dans le tableau est avec rech dich : ’’, chercherElementDichotomie(T, 5, 11) )
Fin

Vous aimerez peut-être aussi