Aller au contenu

Exercices 1

Exercices de synthèse⚓︎

Exo 1 - Factorielle⚓︎

On appelle factorielle d'un entier \(n\) et on note \(n!\) le produit de cet entier par tous ceux qui le précèdent à l'exception de zéro. Et on convient d'autre part que \(0!=1\). Par exemple \(5! = 5 \times 4 \times \times 3 \times 2 \times 1 = 120\). Ecrire une fonction factorielle qui prend en argument un entier n et renvoie sa factorielle.

Exo 2 - Puissance⚓︎

Le but de l'exercice est d'écrire la fonction puissance (sans utiliser l'opérateur ** de Python).

  1. En supposant n entier et positif, écrire sans utiliser l'opérateur ** de Python, une fonction puissance_positif qui prend en entrée un nombre x et n et renvoie \(x^n\).
  2. Ecrire une nouvelle fonction puissance qui prend en argument un nombre x et un entier n et renvoie \(x^n\).

    Aide

    Attention Ă  bien traiter tous les cas possibles.

Exo 3 - carré plein⚓︎

  1. Ecrire une fonction carre_plein prenant comme paramètre un entier cote et un caractère car et permettant d'afficher un carré de côté cote rempli de caractères car. Par exemple, carre(5,'C') produit l'affichage suivant :

    Text Only
    CCCCC
    CCCCC
    CCCCC
    CCCCC
    CCCCC
    

  2. Ecrire une fonction rectangle_creux prenant trois paramètres : deux entiers largeur et longueur et un caractère car permettant d'afficher un rectangle creux de dimensions largeur sur longueur dont la bordure est constitué de caractères car. Par exemple rectangle_creux(3,7,'~') devrait produire l'affichage suivant :

    Text Only
    ~~~~~~~
    ~     ~
    ~~~~~~~
    

  3. De la même façon écrire une fonction triangle prenant comme paramètre un entier hauteur et un caractère car telle que triangle(6,'*') produise l'affichage suivant :

    Text Only
         *
        ***
       *****
      *******
     *********
    ***********
    

Exo 4 - Sur les nombres entiers⚓︎

  1. Ecrire une fonction racine qui prend en entrée un entier n positif et renvoie le plus grand entier k tel que k * k <= n. Par exemple, racine(9) renvoie 3 et racine(18) renvoie 4.

  2. Ecrire une fonction qui prend en argument un nombre et renvoie True lorsque ce nombre est premier et False sinon.

    Aide

    On peut se contenter de tester si les entiers \(k\) compris entre 2 et la partie entière de \(\sqrt{n}\) inclus divisent \(n\) et utiliser la question 1.

  3. Ecrire une fonction somme_premiers qui prend en entrée un entier n et calcule la somme des nombres premiers inférieurs ou égaux à n. Par exemple somme_premiers(10) vaut 2 + 3 + 5 + 7 = 17

  4. Tester votre fonction en calculant somme_premiers(10000)

Exo 5 - Palyndrome⚓︎

Ecrire une fonction qui vérifie si la chaine passée en argument est un palindrome (c'est-à-dire qu'elle s'écrit à l'identique de droite à gauche ou de gauche à droite, comme le mot radar).