0% ont trouvé ce document utile (0 vote)
104 vues2 pages

Partiel 2023

Le document contient trois exercices d'algorithmique portant sur la recherche trichotomique, la recherche de l'élément le plus proche dans un tableau et le fonctionnement des passages de paramètres par valeur et par référence.

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)
104 vues2 pages

Partiel 2023

Le document contient trois exercices d'algorithmique portant sur la recherche trichotomique, la recherche de l'élément le plus proche dans un tableau et le fonctionnement des passages de paramètres par valeur et par référence.

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 2023 - 2024

Faculté des Sciences L2 Licence Informatique

Département d’Informatique UEI-72 - [Link]


Durée : 1 h 15 mn

PARTIEL D’ALGORITHMIQUE
Barème : exercice 1 (4 points), exercice 2 (6 points), exercice 3 (4 points),

Exercice 1 :

Étant donné un entier E et un tableau T contenant N entiers triés en ordre croissant.


1. Écrire une fonction récursive qui permet de tester si E appartient à T en suivant le
principe de la recherche Trichotomique : à chaque étape de l'algorithme, le tableau
courant doit être divisé en trois parties et la recherche de E doit être effectuée sur l'une de
ces parties.
2. Écrire le premier appel de cette fonction.

Exercice 2 :

On dispose d’un entier E et d’un tableau T composé de N entiers distincts, et on souhaite écrire
une fonction pour retourner l’indice de l’élément le plus proche de E dans T ; la fonction doit
s’arrêter immédiatement si E existe dans le T.

1. Écrire une fonction itérative.

2. Écrire une fonction récursive (avec son premier appel).

Exemple :
0 1 2 3 4 5 6 7 8 9

T 10 27 13 0 89 70 49 -6 66 53

 Pour E = 89, la fonction doit retourner 4.


 Pour E = 7, la fonction doit retourner 0.
 Pour E = 68, la fonction doit retourner 5 ou 8.
Exercice 3 :

Quels résultats fournira le programme suivant :

#include<stdio.h>
int recursion(int);
void by_adress(int *);
int val = 10;
int main() {
int val = 5 , *ptr;
ptr = &val;
printf("Start program: val = %d *ptr = %d\n",val,*ptr);
by_adress(&val);
printf("End program : val = %d *ptr = %d \n",val,*ptr);
return 0 ;
}

int recursion(int N)
{
printf("Start recursion: N = %d\n",N);
return (N<8) ? recursion(N+2):1;
printf("End recursion: N=%d \n",N);
}

void by_adress(int *adr)


{
if (*adr){
int val = recursion(++(*adr));
printf("Start by_adress: *adr=%d val=%d \n",*adr,val);
}
*adr=*adr+10;
val++;
printf("End by_adress: *adr = %d val = %d \n",*adr,val);
}

Vous aimerez peut-être aussi