0% ont trouvé ce document utile (0 vote)
129 vues3 pages

Partiel d'Algorithmique L2 Informatique

Le document contient trois exercices d'algorithmique. Le premier exercice décrit une fonction récursive pour retourner le plus grand élément d'un tableau. Le deuxième exercice demande d'écrire des fonctions itérative et récursive pour vérifier si le taux de réussite d'étudiants dépasse la moitié. Le troisième exercice demande d'écrire une fonction récursive pour insérer une valeur dans un tableau trié.

Transféré par

bouchrihamoundirdz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
129 vues3 pages

Partiel d'Algorithmique L2 Informatique

Le document contient trois exercices d'algorithmique. Le premier exercice décrit une fonction récursive pour retourner le plus grand élément d'un tableau. Le deuxième exercice demande d'écrire des fonctions itérative et récursive pour vérifier si le taux de réussite d'étudiants dépasse la moitié. Le troisième exercice demande d'écrire une fonction récursive pour insérer une valeur dans un tableau trié.

Transféré par

bouchrihamoundirdz
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Abou Bekr Belkaid – Tlemcen Année Universitaire 2022 - 2023

L2 Licence Informatique
Faculté des Sciences
UEI-72 - [Link]
Département d’Informatique Durée : 1 h

Partiel d’Algorithmique
Barème : exercice 1 (4 points), exercice 2 (4 points), exercice 3 (4 points),

Exercice 1 : Soit la fonction suivante :

int Mystere(int *t, int n, int v)


{
if(n < 0)
return v;
else
{
if(*t > v)
v = *t;

return Mystere(++t, --n, v);


}
}

En déduire ce que fait la fonction « Mystere » pour l’appel :


int var = Mystere(array,N-1,*array);

Exercice 2 : Soit un tableau T contenant des nombres réels qui représentent les moyennes
générales de N étudiants.

1. Donnez une fonction itérative permettant de vérifier si le taux de réussite dépasse la


moitié.
2. Proposez une fonction récursive pour cette vérification.

0 1 2 3 4 5 6 7 8 9
9 7 10.5 4 11.75 15 10 3 9.5 8 Return 0
3.

0 1 2 3 4 5 6 7 8 9
19 7 10.5 14 11.75 15 10 3 9.5 8 Return 1

Exercice 3 : Étant donné un tableau T contenant N entiers triés en ordre croissant. Écrire une
fonction récursive qui permet d’ajouter une nouvelle valeur dans T.
Corrigé
Exercice 1 :

Mystere est une fonction récursive permettant de retourner le plus grand élément d’un tableau d’entiers.

Exercice 2 :
1- Version itérative :
int verif_iter(float T[],int N)
{
int i,ct=0 ;
for(i=0 ;i<N;i++)
{
if(T[i]>=10) ct++;
if(ct >N/2) return 1;
}
return 0 ;
}

2- Version récursive :
int verif_recu(float T[],int N,int i,int ct)
{
if(i==N) return 0;
if(T[i] >=10)ct++ ;
if(ct >N/2) return 1;
return verif_recu(T,N,++i, ct)

}
L’appel récursif : pour un tableau T de taille N

int v= verif_recu( T, N,0,0) ;


Exercice 3 :

void Classer(int T[ ] ,int N, int v){

if (N==0)

T[N]=v ;

else

if ( T[N-1] > v ){

T[N] = T[N-1] ;

Classer( T,N-1,v) ;

else

T[N]=v ;

Vous aimerez peut-être aussi