Serie 4

Exercice 1 :
En mathématiques, on définit la fonction factorielle de la manière suivante:
0! = 1
n! = n*(n-1)*(n-2)* ... * 1 (pour n>0)
Ecrire une fonction FACT du type double qui reçoit la valeur N (type int) comme paramètre et qui
fournit la factorielle de N comme résultat. Ecrire un petit programme qui teste la fonction FACT.
Une deuxième notation plus rigoureuse fait appel à la récurrence.
n! = 1 si n = 0
n! = n * (n-1)! si n > 0
n! se définit en fonction d’elle-même (n-1)! 
Ecrire un autre programme qui utilise la méthode récursive

Exercice 2 :
Ecrire un programme se servant d'une fonction F pour afficher la table de valeurs de la fonction définie
par :

où x est un entier compris entre 1 et 10.

Exercice 3 :
Ecrire la fonction retournant le N

eme

terme, N donné en argument, de la suite de fibonacci : 

En utilisant la structure itérative for() 
En utilisant la méthode récursive
Combien y-à-t-il d’appels récursive pour le calcul de U6 ?

Exercice 4 :
Ecrire la fonction retournant le N

eme

terme, N donné en argument, de la suite suivante :

Sn=14+24+34+44+………………….+n4 
En utilisant la structure itérative for() 
En utilisant la méthode récursive

Ecrire un les sous programmes suivants : programme contenant  Une procédure saisie d’un nombre réel.  Une procédure différence de deux nombres réels.Exercice 5 : Ecrire une fonction min() et une fonction max() qui déterminent le minimum et le maximum de deux nombres réels. soustraction.  Une fonction carrée d’un nombre réel. écrite en Langage C.  Une procédure affichage d’un nombre réel. en représentant les fonctions à l'aide de blocs .  Une procédure produit de deux nombres réels. Ecrire un programme se servant des fonctions min() et max() pour déterminer le minimum et le maximum de quatre nombres réels entrés au clavier .  Une procédure menu de gestion de toutes ces opérations. .  Une fonction inverse d’un nombre réel.  Une procédure rapport de deux nombres réels. qui permet d'effectuer les quatre opérations (addition. division et multiplication) sur deux nombres entiers introduits par l'utilisateur. Exercice 6 : On désire effectuer des opérations sur les nombres réels.  Une fonction racine carrée d’un nombre réel. Votre travail consiste à: - rechercher les différentes fonctions définies dans la classe Calculette dessiner le programme sous forme de schéma.  Une procédure somme de deux nombres réels. Projet : Un collège doit réaliser un programme simple: une calculatrice.

. nous supposons à présent que les variables résultat et opérations sont déclarées en tant que variables globales et non plus localement aux fonction afficher() et menu(). 7. Comment la fonction afficher() peut-elle connaître le résultat de la fonction calculer? 6. Enfin.De placer les variables aux endroits adéquat. . ainsi que les variables globales . Question: quelle technique devez vous utiliser pour que les fonctions calculer() et afficher() connaissent le contenu des variables a et b. afin d'effectuer ensuite les instructions qui les composent? Écrivez les fonctions en utilisant cette technique… Question: Nous supposons que le programme calculette ne contienne plus de variable globale Les variables résultat et opération sont maintenant déclarées localement aux fonctions qui les utilisent. Pour corriger le programme Calculette. Modifier la fonction calculer() de sorte à lui transmettre l'opérateur fourni par la fonction menu(). Transformez la fonction calculer() de telle façon que le résultat soit transmis à la fonction main().Même question pour ce qui est de la fonction afficher ( ). 1. Quelles sont les conséquences de cette nouvelle hypothèse sur le résultat du programme? 2. la fonction calculer ( ) peut-elle réaliser l'opération demandée? Pourquoi? .Après exécution de la fonction menu( ) et lecture des deux valeurs numériques a et b. 4. modifiez la fonction afficher() de sorte à lui transmettre le résultat fourni par la fonction calculer().déterminez les variables locales à chacune des fonctions. Comment la fonction Calculer( ) peut-elle connaître l'opérateur choisi par l'utilisateur dans la fonction menu( )? 3. Transformez la fonction menu() de telle sorte que l'opérateur soit transmis à la fonction main( ). 5.