TP Init 03

Tableaux et fonctions

Exercice 1. Fonctions

En partant de ce programme, écrivez une fonction calculant la surface d'un cercle dont le rayon est donné. Vous pouvez copier la fonction main, vider son corps, changer son nom, changer son argument, changer le type de ce qu'elle renvoie. Testez cette fonction.

Écrivez une fonction calculant la surface d'une couronne spécifiée par deux rayons.

Une solution.

Exercice 2. Tableaux

Écrire une fonction prenant un vecteur de chaînes de caractères et le modifiant pour que les éléments apparaissent en ordre inverse. Écrire une fonction imprimant le contenu d'un vecteur de chaînes de caractères et s'en servir pour bâtir un programme qui imprime les arguments qu'il a reçu de la ligne de commande en ordre inverse. Ainsi:

moselle% java Inverse a bab cbcac
cbcac bab a 

Une solution.

Exercice 3. Matrices

Écrire une fonction prenant une taille (un entier) et créant un damier de cette taille. Les cases noires et blanches seront représentées par des chaînes de un caractère de long "X" et " ". Écrire la fonction qui imprime ce damier au milieu de la ligne comme suit:

moselle% java Damier 5
                          X X X
                           X X
                          X X X
                           X X
                          X X X

Une solution.

Exercie 4. Triangle de pascal

Écrire une fonction qui calcule une ligne du triangle de Pascal lorsqu'on lui donne la ligne précédente. Écrire une fonction qui imprime cette ligne.

moselle% java Pascal 3
1
1 1
1 2 1
1 3 3 1 

Calculez le coefficient binomial C3020.

Une solution.

Exercice 5. Récursivité

Écrire une fonction calculant la factorielle de manière récursive. Écrire une fonction calculant le coefficient binomial de manière récursive. Votre fonction vous permet-elle de calucler C3020 ?

Une solution.

Exercice 6. Arc de cercle

Modifier l'exercice 3 pour construire un arc de cercle pour un affichage discret (quels sont les pixels à allumer).

moselle% java Arc 20
                                                 X
                                                 X
                                                 X
                                                 X
                                                 X
                                                 X
                                                 X
                                                X 
                                                X 
                                               X  
                                               X  
                                              X   
                                             X    
                                             X    
                                            X     
                                          XX      
                                         X        
                                       XX         
                                     XX           
                              XXXXXXX             

Une solution.

Exercice 7. Tours de Hanoi


On ne peut prendre qu'un anneau à la fois et on doit toujours le poser sur un anneau (ou la base) plus grand.

Copiez ces deux fichiers de Luc Maranget AnimHanoi.java et EssaiHanoi.java dans votre répertoire de travail. Le premier contient les règles du jeu (il est inutile de consulter le fichier), le second permet d'y jouer. Modifiez le fichier EssaiHanoi.java pour déplacer tous les anneaux du pieux 1 au pieux 3 à l'aide d'une fonction récursive deplacer permettant de déplacer n anneaux empilés sur un pieux vers un autre.

Une solution.

Documentation

Que pensez vous de l'énoncé ?

Un petit sondage pour améliorer l'énoncé :

Exercice 1

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 2

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 3

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 4

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 5

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 6

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Exercice 7

Difficulté :
Intérêt :
Ce que vous avez fait :
Commentaire :

Plus d'exercices

Continuez sur ces exercices.
Encore plus.
Encore plus.


Last modified: Tue Jan 7 16:45:18 CET 2003