Exercice 52
Écrire une fonction qui permet de calculer le prix TTC , cette fonction va recevoir un paramètre de type Réel dont le nom est "prixHT" et un second paramètre de type Réel dont le nom est "tva".  

                                   Réponse 
fonction calculPrixTTC( prixHT, tva: réel): réel
Variables  prixTTC :  réel
Début
    prixTTC  prixHT * (1 + tva / 100)
    retourner    prixTTC
Fin


Exercice 53
Écrire une procédure qui permet d'afficher si un nombre entier passé en paramètre est pair ou impair.

                                 Réponse
procédure parite (nb:entier)
Début
    if(nb mod 2 = 0) alors
       Ecrire (nb,"est impair")
       Sinon
       Ecrire (nb," est pair")
   Fin


Exercice 54

Écrire une fonction qui permet de retourner le nombre de caractères d’une chaîne de caractères passée en paramètre. 

                                 Réponse

Fonction longueurChaine (chaine[]: tableau de caractères) : entier
Variables  longueur : entier
longueur ←   0              
tant que (chaine [longueur]  ≠  '\0')  faire
    longueur ←  longueur. + 1                 
FinTantque                              
     retourner   longueur
Fin


Exercice 55

Écrire une fonction qui cherche combien de fois un caractère est présent dans une chaîne de caractères. Le caractère à chercher et la chaîne seront passés en paramètres.

                                  Réponse

Fonction nombreOccurence(texte[] : tableau de caractères , c : caractère) : entier
Début
Variables   nbCar, i : entiers
      nbCar ←  0       i ←0
    Tantque (texte[i] 
 '\0') faire
        Si (texte[i] = c)   
                 nbCar ←nbCar + 1
     .            i ←i + 1
          FinSi
    FinTantque
     retourner.   nbCar
Fin


Exercice 56
Ecrire une fonction ou procédure qui calcule la valeur absolue d’un nombre.

                                 Réponse
Fonction absolue (x : réel) : réel

Debut
Si ( x > 0 ) alors
       retourner  x
Sinon 
     retourner  - x
Fin


Exercice 57
Ecrire une  procédure qui affiche le tableau de multiplication d’un entier positif x.

                                    Réponse
Procedure Multipl (x: entier)

Variables
  i : entier
Debut

Pour i de  1 à 10  faire

    Ecrire (x, ‘X’, i, ‘= ‘, x*i)
FinPour
Fin

Exercice 58
Ecrire une fonction qui calcule le PGCD de deux entiers strictement positifs.

                                  Réponse
Fonction PGCD (a , b : entier) : entier
Début
   Tantque (a * b ≠ 0) Faire
    Si ( a > b ) Alors
            a   a - b
        Sinon
           b  b - a
      FinSi
    FinTantque
   Si (a = 0) alors
      retourner  b
     Sinon
       retourner  a
    FinSi
Fin

Exercice 59
Ecrire une procédure qui permet de lire deux nombres, calculer la somme et le produit et affiche
si ces derniers sont positifs ou négatifs.

                                  Réponse
Procedure calcul (a,b: réel)
variables
som, prod : réels
Debut
Lire (a, b)
som    a + b
prod    a * b
Si (som ≥ 0) Alors
    Ecrire ("la somme est positive")
Sinon
    Ecrire ("la somme est négative")
FinSi
Si (prod ≥ 0 ) Alors
Ecrire ("le produit est positif ")
    Sinon
Ecrire (" le produit est négatif ")
FinSi
Fin


Exercice 60
Ecrire une procédure qui permet de lire une liste de nombres entiers (N nombres)  dont la dernière valeur = -1
et affiche le nombre d’entiers pairs et leur pourcentage par rapport au nombre d’entiers donnés.

                                   Réponse  

Procedure Nombres
Variables
x, N, N_pairs: entiers
pourcent : reel
Debut
N      0
     N_pairs      0
Repeter
      Lire (x)
      N   N  + 1
    Si (x mod 2 = 0 ) alors
          N_pairs N_pairs + 1
      FinSi
Jusqu’à (x = -1)
pourcent     N_pairs * 100 / N
Ecrire ("Nombre de valeurs paires = ", N_pairs, "et leur pourcentage = ", pourcent)
Fin

Exercice 61
Ecrire une procédure  qui permet d’entrer deux valeurs M et N et d’afficher toutes les valeurs paires entre M et N si M < N.

                              Réponse

Procedure paires (M,N: entiers)
Variables
Debut
Si (M >= N) Alors
      Ecrire ("Erreur !!!!")
Sinon
Tantque (M < N) Faire
       Si (M mod 2 = 0 ) Alors
              Ecrire (M)
        FinSi
         M   M + 1
FinTantque
FinSi
Fin

Exercice 62
Ecrire une  procédure qui affiche si un nombre est premier ou non.

                         Réponse
Procedure premier (a : entier)

Variables
test : booleen
d : entier
Debut
test   vrai
     d   2
Tantque ( d ≤ a/2  et  test = vrai ) Faire
        Si (a mod d = 0) Alors
              test Faux
           Sinon
                d   d + 1
           FinSi
FinTantque
Si ( test = vrai) Alors
        Ecrire (a, "est premier")
Sinon
        Ecrire (a, "n'est pas premier")
FinSi
Fin

Exercice 63

Écrire une fonction récursive qui permet de calculer le factorielle d'un entier saisi par l'utilisateur. 


Fonction  factorielle (n: entier): entier 
Début

    Si (n=0   ou  n= 1) alors

                    retourner  1
       
Sinon   retourner factorielle (n-1)*n

    FinSi 

Fin

Exercice 64

Écrire une fonction récursive qui permet de calculer la somme 1+2+3+...+ N. où N saisi par l'utilisateur.

Fonction somme ( n: entier): entier 
Début

   Si (n=0) alors

              retourner  0
       Sinon 

              retourner somme (n-1)+n
    FinSi
Fin

Exercice 65

Écrire une fonction récursive permettant, à partir d'un réel x et d'une valeur entière positive n, de calculer x puissance n .

 

Fonction puissance (r: réel, n: entier): réel

Début 

    Si (n=0)  alors    retourner  1
        Sinon  retourner  puissance (r,n-1)*r
    FinSi
Fin

Exercice 66

Écrire une fonction récursive qui permet d'afficher  les entiers de 0 à 10 .utilisant un seul paramètre.


Procédure  compteur (i: entier) 

Début 
       Ecrire (10-i,"\n")
    Si (i>0) alors 
            i
  i+1     compteur (i)
    FinSi 
Fin


Exercice 67

Écrire une fonction récursive qui permet d'afficher  les entiers de A à  B . Où A et B sont  des paramètres de cette fonction.'

Procédure  compteur (i: entier, n: entier) 
 Début 
     Ecrire (i,"\n")
         Si (i<n) alors 
            
  i  i+1       

              compteur (i,n)

         FinSi 
  Fin


Exercice 68

Écrire une fonction récursive qui permet de calculer le PGCD de deux entiers passés en paramètres,( utiliser l'algorithme d'Euclide).

Fonction Euclide(a: entier,b:entier): entier 

  Début               

        Si( b = 0) alors 

             retourner  a 

        FinSi 

    retourner  Euclide (b, a mod b)

 Fin



Exercice 69

Écrire une fonction récursive qui permet d'afficher les éléments d'une matrice passée en paramètre

 Procédure affiche(tab[3][4]: tableau d'entiers, a: entier, b: entier)

Début 

    Si( a < 3 )  alors

           Si(b < 4) alors 

                   Ecrire (tab[a][b])

                   affiche(tab,a,b+1)

              Sinon 

                   printf("\n")

                    affiche(tab,a+1,0)

           FinSi 

    FinSi 

 Fin

Exercice 70

Écrire une fonction récursive qui permet de calculer l'image d'un entier (passé en paramètre) par une suite de Fibonacci. Suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent.   F(0)=F(1)=1

 Fonction Fibonacci (n: entier): entier 

 Début 

     Si(n =0  ou  n =1) alors 

           Retourner 1

         Sinon

      Retourner   Fibonacci(n-2)+ Fibonacci(n-1)

    FinSi 

Fin