Questions complémentaires

Questions complémentaires

Question 0

Les questions ci-dessous sont des questions supplémentaires de Question 1 de la phase de préperation; ce sont des questions à faire sur papier.

  • Déterminez combien de fois la ligne de code if e2 == e1: est executée pour le cas de test suivant:

    assert intersect ( list(range(100)), list(range(100)) ) == list(range(100))
    
 
 

  • On va essayer de résoudre le problème plus efficacement. Une idée est de parcourir les deux listes en même temps; pour chaque élément de la première liste, on regarde si on peut trouver l'élément dans la partie de la deuxième liste qu'on n'a pas encore parcouru. Cette idée a été mise en oeuvre dans la fonction suivante:

    def intersect ( l1, l2 ):
        """ Retourne une liste ordonnée des nombres entiers communs entre l1 et l2.
    
        Args:
            l1: une liste ordonnée de nombres entiers, positif ou négatif
            l2: une liste ordonnée de nombres entiers, positif ou négatif
        Retourne:
            Une liste ordonnée de nombres entiers communs entre l1 et l2.
        """
        l = []
        p1 = 0
        p2 = 0
        while p1 < len(l1):
            while l1[p1] > l2[p2]:
                p2 += 1
            if l1[p1] == l2[p2]:
                l.append ( p2 )
            p1 += 1
        return l
    

    Malheureusement, le code ne fonctionne pas encore correctement.

    Écrivez quelques testes qui permettent de découvrir que le code n'est pas correct.

 
 
 
 

  • Corrigez le programme pour résoudre le problème, sans ajouter des lignes au programme.
 
 
 
 
 
 

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Page précédente Page suivante