Aller au contenu

TP - Identifier les erreurs « classiques »

Dans le dossier [NSI], créez le dossier [F03-Finaliser_Programmes].
Dans ce dossier, enregistrez vos fichiers avec le nom donné à la partie (TPF03.11.py, TPF03.12.py, ...). Il faudra créer un nouveau programme pour chaque partie.

Dans ces travaux pratiques, votre travail consiste à :

  • reconnaître les erreurs les plus classiques ;
  • comprendre ce qu'elles signifient ;
  • les corriger.

TPF03.11 - Sans faire d'appel

  1. Copiez, collez le code ci-dessous dans un éditeur :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    def erreur1(a, b):
        """
        a, b – int ou float
        Sortie: int ou float – a-b si a-b est positif, b-a sinon
        """
            if a > b:
                return a-b
            else:
                return b-a
    

  2. Exécutez ce code. Que signifie l'erreur signalée ?
    Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier.

  3. Corrigez ce code puis testez-le.

TPF03.12 - Un appel est nécessaire

  1. Copiez, collez le code ci-dessous dans un éditeur :

    1
    2
    3
    4
    5
    6
    7
    8
    def erreur2(texte):
        """
        texte – str
        Sortie: str – Le texte dans lequel les caractères sont écrits dans l'autre sens
        """
        for carac in texte:
            reponse = carac + reponse
        return reponse
    

  2. Exécutez ce code. Une erreur est-elle signalée ?

  3. Effectuez l'appel :

    >>> erreur2('exemple')
    
    Que signifie l'erreur signalée ?
    Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier.

  4. Corrigez ce code puis testez-le à nouveau.

TPF03.13 - Un appel reste nécessaire

  1. Copiez, collez le code ci-dessous dans un éditeur :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    def erreur3(texte):
        """
        texte – str
        Sortie: str – Le texte dans lequel on ne conserve qu'une lettre sur deux
        """
        reponse = ""
        for i in range(0, len(texte), 2):
            repronse = reponse + texte(i)
        return reponse
    

  2. Exécutez ce code. Une erreur est-elle signalée ?

  3. Effectuez un appel à la fonction erreur3() avec la valeur de votre choix.
    Attention, respectez bien les spécifications : le paramètre d'appel DOIT être une chaîne de caractères.
    Que signifie l'erreur signalée ?
    Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier.

  4. Corrigez ce code puis testez-le à nouveau.

TPF03.14 - Un appel est toujours nécessaire

  1. Copiez, collez le code ci-dessous dans un éditeur :

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    def erreur4(texte):
        """
        texte – str
        Sortie: str – Le texte dans lequel le premier et le dernier caractère sont échangés
        """
        reponse = texte[len(texte-1)]
        for i in range(1, len(texte-1)):
            reponse = reponse + texte[i]
        reponse = reponse + texte[0]
        return reponse
    

  2. Exécutez ce code. Une erreur est-elle signalée ?

  3. Effectuez un appel à la fonction erreur4() avec la valeur de votre choix.
    Attention, respectez bien les spécifications : le paramètre d'appel DOIT être une chaîne de caractères.
    Que signifie l'erreur signalée ?
    Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier.

  4. Corrigez ce code puis testez-le à nouveau.

TPF03.15 - Plusieurs appels sont nécessaires

  1. Copiez, collez le code ci-dessous dans un éditeur :

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    def erreur5(texte):
        """
        texte – str
        Sortie: str – Les caractères de texte ayant pour indice 1, 2, 4, 8, 16, etc...
        """
        reponse = ''
        indice = 1
        while indice <= len(texte):
            reponse = reponse + texte[indice]
            indice = indice*2
        return reponse
    

  2. Exécutez ce code. Une erreur est-elle signalée ?

  3. Effectuez plusieurs appels différents à la fonction erreur5() jusqu'à l'apparition d'une erreur.
    Que signifie l'erreur signalée ?
    Notez votre interprétation sur le cahier puis appelez l'enseignant pour vérifier.

  4. Corrigez ce code puis testez-le à nouveau.

TPF03.16 - Un peu de maths dans tout ça

  1. Copiez, collez le code ci-dessous dans un éditeur :

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    def erreur6(a, b):
        """
        a, b – int, entiers strictement positifs
        Sortie: int – pgcd des entiers a et b
        """
        while b >= 0:
            reste = a%b
            a = b
            b = reste
        return b
    

  2. Exécutez ce code puis effectuez des appels à la fonction erreur6() jusqu'à l'apparition d'une erreur.

  3. Corrigez ce code puis testez-le à nouveau.