• Aucun résultat trouvé

Travaux Dirig´es d’algorithmique n

N/A
N/A
Protected

Academic year: 2022

Partager "Travaux Dirig´es d’algorithmique n"

Copied!
2
0
0

Texte intégral

(1)

Travaux Dirig´ es d’algorithmique n

o

5

Cours d’informatique de deuxi` eme ann´ ee

—L2.1—

Coercition et ensembles

x

Exercice 1. Coercition et pointeur

Le programme suivant affiche les valeurs

2,3,5. Expliquez pourquoi.

#include <stdio.h>

int main(void) {

char a[8]={1,2,3,4,5,6,7,8};

char b;

void *pt;

pt=a;

b= ((char *)pt)[1];

printf("%d\n",b);

b= ((short *)pt)[1];

printf("%d\n",b);

b= ((int *)pt)[1];

printf("%d\n",b);

}

x

Exercice 2. Comparaison

Ecrire une fonction effectuant la comparaison de deux variables de type quelconque. Les variables seront transmises par adresse et compar´ ees octet par octet.

x

Exercice 3. Ensembles

Un ensemble est une collection d’´ el´ ements distincts. On souhaite repr´ esenter en machine le type abstrait ensemble (plus pr´ ecis´ ement, ensemble d’´ el´ ements d’un certain type). On donne ci-dessous quelques op´ erations de base qui permettront de manipuler des objets de ce type.

1

(2)

– initialiser un ensemble ` a l’ensemble vide, – tester si un ensemble est vide,

– calculer le nombre d’´ el´ ements d’un ensemble – tester l’appartenance d’un ´ el´ ement ` a un ensemble, – ajouter, supprimer un ´ el´ ement ` a un ensemble, – saisir, afficher un ensemble,

– calculer l’union, l’intersection de deux ensembles, –

etc

Pour simplifier, nous supposons que les ensembles sont des ensembles d’entiers. On repr´ esente d’abord un ensemble par une structure contenant :

– un tableau (les ´ el´ ements de l’ensemble), – un entier (le cardinal de l’ensemble).

D´ efinir en

C

un type

Ensemble

pour cette repr´ esentation, nous verrons plus tard comment r´ eserver la place m´ emoire en fonction de la taille de l’ensemble. Impl´ ementer les op´ erations mentionn´ ees ci-dessus en supposant que :

– le tableau n’est pas tri´ e,

– le tableau est tri´ e (donc chaque op´ eration devra conserver cette propri´ et´ e).

Evaluer la complexit´ e de ces op´ erations dans chacun des cas.

2

Références

Documents relatifs

VRAI ou FAUX ? Les applications suivantes sont des formes lin´ eaires sur un espace vectoriel :.. 1. Montrer que φ est

Conjecturer ` a partir de combien de voitures fabriqu´ ees et vendues l’entreprise r´ ealisera un b´ en´ efice.. Pour combien de voitures fabriqu´ ees le b´ en´ eficie

On peut déjà se rapprocher de cette voîe au moyen du théorème suivant : « La condition nécessaire et suffisante pour qu'une fonc- tionnelle F (A) sommable par rapport à la

Un algorithme général pour trouver un sous-ensemble d’un certain type à distance minimum d’une partie donnée.. Mathématiques et sciences humaines, tome 30

puisqu’on sait faire des combinaisons lin´ eaires de matrices, on sait d´ efinir les relations lin´ eaires entre matrices... Syst` emes libres

Les camionnettes disponibles ` a Vallauris permettent d’acheminer au plus 400 cartons par se- maine vers Cannes au coˆ ut unitaire de 20 euros ; celles de Mougins, 400 cartons dont

Montrer qu’il existe un ensemble B de 2n − 5 points du plan, avec la propri´ et´ e suivante : pour tout triangle ayant pour sommets des points de A, il y a un point de B (au moins)

Pour un ensemble quelconque de segments, cette majoration se vérifie directement pour les petits nombres de segments. Dans le cas général, soit un point P extrémité commune de