:: Enseignements :: Licence :: L2 :: 2007-2008 :: Programmation Avancée en C :: Travaux dirigés ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Petite interrogation surprise |
Exercice 1 - Passage par adresse et par valeur
Expliquez clairement les mécanismes de passage par adresse et par valeur. Donnez un exemple d'utilisation du passage par ardresse
autre que l'échange de deux valeurs.
Exercice 2 - Echange de valeurs
Est-il possible d'échanger la valeur de deux variables en utilisant un opérateur logique (et, ou, ou exclusif) ? Donnez un exemple.
Est-il possible d'échanger la valeur de deux entiers à l'aide d'opérations arithmétiques classiques ?
A quoi doit-on faire attention ? Donnez un exemple
Exercice 3 - Multiplication de deux polynômes
On souhaite maintenant réaliser la multiplication de deux polynômes de degré fini. Un polynôme peut être représenté par
un tableau de réels. L'indice dans le tableau représente le degré du monôme et la valeur à l'indice représente le
coefficient du monôme.
- Ecrire une structure de données permettant de représenter un polynôme de degré fini.
- Ecrire une fonction réalisant la multiplication de deux polynômes.
La fonction de multiplication prend deux polynômes en paramètres et retourne TRUE si tout c'est bien passé et FALSE dans
le cas contraire.
Pensez à gérer tous les cas et notamment le dépassement du tableau par le polynôme résultant !
Exercice 4 - Palindrome
Un palindrome est un mot dont l'ordre des lettres reste le même qu'on le lise de droite à gauche ou de gauche à droite. Par exemple le
texte suivant est un palindrome:
Esope reste ici et se repose
- Ecrivez une fonction C permettant de déterminer si un mot est un palindrome.
Si on ne considère pas le degré des différents monômes, un polynôme peut lui aussi être un palindrome !
- Ecrivez une fonction C permettant de déterminer si un polynôme (voir l'exerice ci dessus pour la représentation) est un palindrome.
© Université de Marne-la-Vallée