Première NSI

Exercices variés



Certain de ces exercices sont proposés avec un d'essai (test cases).

Chaque test est identifié par la phrase "nomDeLaFonction : pass test" suivi du numéro du test.

A l'execution de votre programme chaque test doit être validé par True.

Exemple : somme : pass test1 --> True indique que le test n°1 est réussi.

Traitement sans machine

Ces exercices se traitent sur papier, sans machine.

✎ 01° On donne le script suivant :

  x = 1
  n = 5
  while n > 1:
     x = x * n
     k = n - 1

Quelle est la valeur finale de x ?

✎ 02° On donne le script suivant :

  x = 0
  for i in range(2):
     x = x + i
     for j in range(3):
		x = x + j

Quelle est la valeur finale de x ?

Ecrire des fonctions

Pour ces exercices, vous devez écrire des fonctions.

✎ 03° Écrire une fonction somme qui renvoie la somme de trois valeurs passées en paramètres.


# Code à copier dans votre éditeur et à compléter
def somme():
    
# Jeu d'essai
print("Pass test1 --> ",somme(1,5,7)==13)
print("Pass test2 --> ",int(somme(1.2,-6,5)*10)==2)

✎ 04° Ecrire une fonction plus_grand qui possède deux paramètres, des nombres réels.

Les préconditions : les paramètres a et b sont des nombres réels.

La postcondition : Votre fonction devra renvoyer le plus grand des deux nombres.

✎ 05° Ecrire une fonction plus_grand_bis qui possède trois paramètres, des nombres réels.

Les préconditions : les paramètres a , b et c sont des nombres réels.

La postcondition : Votre fonction devra renvoyer le plus grand des trois nombres.

✎ 06° Ecrire une fonction carré qui prend en paramètre un entier strictement positif k et qui renvoie la somme des k premiers carrés non nuls

✎ 07° Diviseurs

  1. Ecrire une fonction somme_diviseurs qui prend en paramètre un entier naturel non nul et qui renvoie la somme de ses diviseurs.
  2. Un entier naturel n est parfait si la la somme de ses diviseurs est égale à 2n.
    Ecrire une fonction parfait qui prend en argument un entier naturel non nul et qui renvoie True s'il est parfait False sinon.
  3. Déterminer les nombres parfaits inférieurs à 100 puis les trois premiers nombres parfaits.

✎ 08° Ecrire une fonction jeu qui prend en paramètre un entier n, simule 1000 fois le tirage d'un nombre choisi au hasard parmis les nombres 1, 2, 3, 4, 5, 6 et renvoie le pourcentage de 6 obtenus.
Utiliser la fonction randint du module random : from random import randint

Chaîne de Caractères

✎ 09° Ecrire une fonction double qui prend en argument un mot (type str) et renvoie le mot obtenu en doublant chaque lettre.

Par exemple double("bon") a pour valeur "bboonn"

✎ 10°

  1. Ecrire une fonction identique qui prend en argument un mot (type str) et renvoie True si le mot commence et se termine par la même lettre et False sinon.
  2. Ecrire une fonction double_identique qui prend en argument deux mots (type str) et renvoie True si les deux mots commencent par la même lettre et se terminent par la même lettre et False sinon.

✎ 11°

  1. Ecrire une fonction occurence qui prend en paramètre une chaine de caractères mot et un caractère c et qui renvoie True si c apparaît dans mot, et False sinon.
      Par exemple: occurence("a", "cheval") renvoie True et occurence("a", "école") renvoie False
  2. Modifier la fonction occurence qui au lieu de renvoyer True , envoie la première position du caractère c dans la chaîne mot et si le caractère n’est pas présent la fonction renvoie -1.
      Par exemple: occurence("a", "cheval") renvoie 4 et occurence("a", "école") renvoie -1

✎ 12° Écrire une fonction reverso qui renvoie le mot donné en paramètre à l'envers.


# Code à copier dans votre éditeur et à compléter
def reverso
        
    
# Jeu d'essai
print("Pass test1 --> ",reverso("")=="")
print("Pass test2 --> ",reverso("a")=="a")
print("Pass test3 --> ",reverso("bonjour")=="ruojnob")
print("Pass test4 --> ",reverso("aa")=="aa")
print("Pass test5 --> ",reverso("laval")=="laval")

✎ 13° Écrire une fonction palindrome utilisant la fonction reverso et qui renvoie True si le mot passé en paramètre est un palindrome.


# Code à copier dans votre éditeur et à compléter
def palindrome

    
# Jeu d'essai
print("Pass test1 --> ",palindrome("")==False)
print("Pass test2 --> ",palindrome("a")==True)
print("Pass test3 --> ",palindrome("bonjour")==False)
print("Pass test4 --> ",palindrome("aa")==True)
print("Pass test5 --> ",palindrome("laval")==True)

Activité publiée le 25 09 2023
Auteur : Andjekel