# Base : exercices divers

Objectifs : Concevoir des algorithmes simples.

### Factorielle

- Écrivez la fonction factorielle, en respectant la déclaration suivante :
- Écrivez une procédure de test pertinente, et invoquez votre procédure de test pour les entiers de 0 à 8.
- Votre test devrait afficher :
  - Factorielle 0 = 1
  - Factorielle 1 = 1
  - Factorielle 2 = 2
  - Factorielle 3 = 6
  - Factorielle 4 = 24
  - Factorielle 5 = 120
  - etc.

## Questions de compréhension

- Avez-vous recopié neuf fois la même ligne pour effectuer les tests de 0 à 8, ou avez-vous été plus malin ?

### Somme des entiers de 1 à n

- Écrivez la fonction somme_n, en respectant la déclaration suivante :
  Cette fonction calcule la somme des entiers de 1 à N (N étant l'argument reçu par la fonction). N'utilisez pas de formule pour calculer cette somme : effectuez vraiment l'addition des N entiers.
- Testez en affichant le résultat de la fonction pour N=100 et N=1000. Vérifiez que le résultat est correct en comptant sur vos doigts.

### Saisie de valeurs et calcul de min, max, moyenne.

- Écrivez un programme qui demande à l'utilisateur de taper un entier puis ré-affiche cet entier. Voir page 31 pour la saisie d'un entier au clavier. Vérifiez que votre programme fonctionne correctement.
- Modifiez le programme pour qu'il tourne sans cesse jusqu'à ce que l'utilisateur rentre la valeur 0.
- Faites en sorte que le programme calcule la moyenne des entiers rentrés au clavier et qu'il l'affiche à la fin du programme.
- Enfin, afficher également à la fin la valeur minimale (sans compter le 0) et la valeur maximale. Voici un exemple d'exécution du programme :
  - Bonjour, entrez des nombres et terminez par 0.
  - Votre nombre ? 10
  - Votre nombre ? 12
  - Votre nombre ? 14
  - Votre nombre ? 8
  - Votre nombre ? 0
  - Moyenne des nombres : 11.0
  - Valeur maximale : 14
  - Valeur minimale : 8
- La solution ne vous sera utile que si vous avez cherché par vous-mêmes : soluce3.adb

### Résolution de polynômes du 2nd degré.

- Écrire une procédure qui reçoit trois arguments entiers A, B, C, et qui affiche la ou les solutions réelles de l'équation AX² + BX + C = 0
- Votre programme doit fonctionner dans tous les cas, y compris si A vaut 0.
- La fonction racine carrée traîne quelque part dans l'acteur `Cartographie`
- Testez votre procédure en l'invoquant avec diverses valeurs.