:: Enseignements :: Licence :: L2 :: 2007-2008 :: Programmation Avancée en C :: Travaux dirigés ::
[LOGO]

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.