Exercices corrigés sur les fonctions récursives -TD1-

Do you have difficulties understanding French courses? visit our English version Click here

Exercices corrigés sur les fonctions récursives -TD1-

Expliquez les fonctionnalités des fonctions suivantes.

Exercice 1

                fonction fct1(x,y)
                    SI x==0 ALORS
                        retourne y
                    SINON
                        retourne fct1(x-1,x+y)
                    FINSI
            
                def fct1(x,y):
                    if x==0:
                        return y
                    else:
                        return fct1(x-1,x+y)
            
Corrigé :
La fonction fct1() calcule et retourne ((1 + 2 ... + x-1 + x) +y) qui est (x(x+1)/2) + y. Par exemple, si x est 5 et y est 2, alors fct1 devrait retourner 15 + 2 = 17.

Exercice 2

                    fonction fct2(n)
                        SI n=1 ALORS
                            retourne 0
                        SINON
                            return 1+fct2(n/2)
                        FINSI
                
                    def fct2(n):
                        if n==0:
                            return 0
                        else:
                            return 1+fct2(n//2)
                
Corrigé :
La fonction calcule et renvoie le plus grand entier inférieur ou égal à log2(n). Par exemple, si n est entre 8 et 15, fct2() renvoie 3. Si n est entre 16 et 31 alors fct2() renvoie 4.

Exercice 3

                        fonction fct3(n)
                            SI n=0 ALORS
                                retourne
                            FINSI
                            fct3(n/2)
                            Ecrire(n%2)
                    
                        def fct3(n):
                            if n==0:
                                return
                            fct3(n//2)
                            print(n % 2, end=" ")
                    
Corrigé :
La fonction fct3() affiche l'équivalent binaire d'un nombre n.
Par exemple, si n est 21, alors fct3() affiche 10101.

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Many people realize their hearts desires late in life. Continue learning, never stop striving and keep your curiosity sharp, and you will never become too old to appreciate life.

0 Commentaire(s)

Pour laisser un commentaire vous devez avoir un compte Inscription, ou Se connecter