Informaticienne

Pages: 10 (2412 mots) Publié le: 6 août 2013
Travaux dirigés

$OJRULWKPLTXH HW SURJUDPPDWLRQ

/D UpFXUVLYLWp



,QWURGXFWLRQ

Ecrire les définitions récursives des fonctions suivantes, puis écrivez-les en langage C : add( a, b ) = a + b ; prod( a, b ) = a * b.

Soit le programme suivant : void recursive(){ int i ; recursive() ; } Expliquez pourquoi l’exécution de ce programme est dangereuse. En déduire une règle pour lesprogrammes récursifs.
 0LURLU

Ecrire une fonction récursive affichant une phrase dans l' ordre inverse de celle reçue en argument.
 3DOLQGURPH

Un palindrome est une chaîne de caractères pouvant être lue dans les deux sens (par exemple "été" est un palindrome). Ecrire une fonction récursive déterminant si une chaîne reçue en argument est un palindrome.______________________________________________________________________________________________ 1 / 15

Travaux dirigés

$OJRULWKPLTXH HW SURJUDPPDWLRQ



/HV WRXUV GH +DQRw

On dispose de n pièces circulaires, percées d’un trou, de tailles différentes, et de trois piquets nommés p, q, r, sur lesquels les pièces peuvent s’enfiler ; il est cependant interdit de poser une pièce sur une autre plus petite, et une seule piècepeut être déplacée à la fois ; au départ, les pièces se trouvent toutes sur le piquet p ; le but est de les amener toutes sur le piquet r, le piquet q servant d’intermédiaire.

p

q

r

Pour résoudre un tel problème, il est souvent utile de chercher une décomposition en problèmes plus simples. Par exemple, si on est capable de passer de la situation ci-dessus à la situation suivante :p

q

r

Il ne restera plus qu’à résoudre le passage de n-1 pièces du piquet q au piquet r avec p comme piquet intermédiaire.
 /HV ODE\ULQWKHV

Soit le labyrinthe suivant où les murs sont représentés par des caractères *, les chemins par des caractères blancs et le point d’arrivée par le caractère A : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * *A* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *______________________________________________________________________________________________ 2 / 15

Travaux dirigés

$OJRULWKPLTXH HW SURJUDPPDWLRQ

A partir d’un point donné du labyrinthe quelles sont les possibilités de déplacement. Généraliser à tous les points en écrivant un algorithme de parcours récursif. Ajouter la condition d’arrêt du parcours qui indique que le point A a été trouvé. Comment faire pour que le chemin parcouru du point de départ au point d’arrivée soitmarqué de caractères + ?

______________________________________________________________________________________________ 3 / 15

Travaux dirigés

$OJRULWKPLTXH HW SURJUDPPDWLRQ

/HV VWUXFWXUHV



&KRL[ GH OD VWUXFWXUH GH GRQQpHV

Quelle structure de données utiliser pour stocker les informations suivantes sur une personne ? nom ; prénom ; âge.

Ecrire une fonction permettantd’initialiser une telle structure à partir d’un nom, d’un prénom et d’un âge passée en paramètre. Ecrire des fonctions permettant de récupérer chaque champs d’une structure passé en paramètre. Ecrire un programme principal permettant de tester les fonctions précédentes.
 &DV R OH QRPEUH GH VWUXFWXUHV HVW FRQQX

Quelle structure de données choisir pour constituer un ensemble fini et non ordonnéde personnes ? Ecrire les fonctions suivantes permettant de manipuler cet ensemble : initialiser l’ensemble de structures ; ajouter une nouvelle structure dans l’ensemble ; rechercher un structure par son nom ; supprimer une structure à partir de son nom.

Ecrire un programme principal permettant de tester les fonctions précédentes. On souhaite à présent ordonner cet ensemble d’après le nom...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Informaticien
  • Informaticien
  • informaticien
  • Informaticien
  • Informaticien
  • Informaticien
  • Informaticien
  • Ingénieur informaticien

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !