• Aucun résultat trouvé

1. Introduction aux tableaux Exercice 1. Ecrire et tester les fonctions suivantes :

N/A
N/A
Protected

Academic year: 2022

Partager "1. Introduction aux tableaux Exercice 1. Ecrire et tester les fonctions suivantes :"

Copied!
2
0
0

Texte intégral

(1)

ULCO 2019 - 2020

L2 Math´ ematiques Informatique

TP 2

1. Introduction aux tableaux Exercice 1. Ecrire et tester les fonctions suivantes :

1. void affiche tableau(int* tab,int n) prenant en param` etre un tableau tab de longueur n et affichant son contenu (ex. [1,-2,4]).

2. int min(int* tab,int n) retournant le plus petit ´ el´ ement du tableau tab (de taille n).

3. int max(int* tab,int n) retournant le plus petit ´ el´ ement du tableau tab (de taille n).

4. int somme(int* tab,int n) retournant la somme des ´ el´ ements du tableau tab (de taille n).

Exercice 2. Ecrire et tester les fonctions suivantes :

1. bool est pair(int* tab,int n) testant si le tableau tab contient que des entiers pairs.

2. bool est trie(int* tab,int n) testant si le tableau tab est tri´ e dans l’ordre croissant.

3. int* copie(int* tab,int n) qui retourne une copie du tableau tab.

2. Algorithmes de tri

Les diff´ erentes m´ ethodes de tri pourront ˆ etre test´ ees sur les tableaux tab10, tab20, tab100 et tab1000 fournis et de tailles respectives 10, 20, 100 et 1000.

Exercice 3.

1. Ecrire une fonction void tri insertion(int* tab,int n) triant le tableau tab ` a l’aide de l’algorithme du tri par insertion.

2. Modifier votre fonction en void tri insertion v2(int* tab,int n) afin de connaˆıtre le nombre de comparaisons d’entiers utilis´ ees ainsi que le nombre de lectures/´ ecritures faites sur le tableau.

3. Noter les valeurs obtenues dans le tableau suivant :

insertion tab10 tab20 tab100 tab1000 comparaisons

lectures/´ ecriture

Exercice 4.

1. Ecrire une fonction void tri selection(int* tab,int n) triant le tableau tab ` a l’aide de l’algorithme du tri par s´ election.

2. Modifier votre fonction en void tri selection v2(int* tab,int n) afin de connaˆıtre le nombre de comparaisons d’entiers utilis´ ees ainsi que le nombre de lectures/´ ecritures faites sur le tableau.

3. Noter les valeurs obtenues dans le tableau suivant :

selection tab10 tab20 tab100 tab1000 comparaisons

lectures/´ ecritures

Exercice 5.

1. Ecrire une fonction void tri fusion(int* tab,int n) triant le tableau t ` a l’aide de l’algo- rithme du tri fusion.

2. Modifier votre fonction en void tri fusion v2(int* tab,int n) afin de connaˆıtre le nombre de comparaisons d’entiers utilis´ ees ainsi que le nombre de lectures/´ ecritures faites sur le tableau.

3. Noter les valeurs obtenues dans le tableau suivant :

fusion tab10 tab20 tab100 tab1000 comparaisons

lectures/´ ecritures

(2)

2

Exercice 6. Comparer les nombres de comparaisons et de lectures/´ ecritures obtenus aux exercices pr´ ec´ edents.

3. Recherche par dichotomie

Exercice 7. La recherche par dichotomie consiste ` a rechercher la position d’un ´ el´ ement dans un tableau tri´ e. Le principe est le suivant : on compare l’´ el´ ement avec la valeur se trouvant au milieu du tableau. Si les valeurs sont ´ egales, on a fini. Sinon, on recherche par dichotomie l’´ el´ ement dans la moiti´ e pertinente du tableau.

1. Ecrire une fonction int recherche(int* tab,int n,int e) qui retourne la position de e dans le tableau tri´ e tab de taille l si e est pr´ esent et -1 sinon.

2. Combien de comparaisons devrons nous faire dans le pire des cas pour rechercher un ´ el´ ement

dans un tableau tri´ e de taille n. Et si le tableau n’est pas tri´ e ?

Références

Documents relatifs

[r]

[r]

// on suppose que le tableau Note contient

o` u f repr´esente une fonction d´efinie, continue et positive sur [valeur init, valeur f in] et o` u nb pas est un entier naturel non nul, qui retourne la valeur approch´ee du

[r]

UNIVERSIT ´ E NICE SOPHIA ANTIPOLIS Ann´ ee 2014/2015. Licence Informatique

UNIVERSIT ´ E NICE SOPHIA ANTIPOLIS Ann´ ee 2013/2014. Licence Informatique

Mˆeme question avec un ferm´e, puis un compact.. Exercice 3 : Exemples d’ouverts et de