Travail sur le sujet zéro

On présente un corrigé (projeté et commenté) de l’exercice pour aujourd’hui sur les piles et le « tri par crêpes », qui constitue le premier exercice du sujet zéro pour le BAC NSI.

Essayer de refaire ces codes pour la prochaine fois la semaine prochaine.

Travail ensuite sur le deuxième exercice :

  • liste de listes,
  • récursivité

Cet exercice est à terminer pour la prochaine fois la semaine prochaine.

Lundi 25 janvier, c’est officiel, reprise en présentiel pour tout le monde !
Les élèves du groupe B pourront travailler tranquillement sur ces codes vendredi.
Les élèves du groupe A sont les bienvenus.

Ce travail est à prolonger avec notre nouveau projet Labyrinthe !

8 réflexions au sujet de « Travail sur le sujet zéro »

  1. Bonjour monsieur je galère pour le programme du max je sais pas comment affecter à « j » l’indice de la valeur max:

    def max_pile(pile,i):
        pile_aux = initialisation()
        j = 1
        if not est_vide(pile):
            var_aux = depiler(pile)
            empiler(pile,var_aux)
            while not est_vide(pile) and j < var_aux:
                maximum = valeur
                j = #je sais pas quoi mettre pour
                    #qu'il prenne l'indice
                empiler(pile_aux,valeur)
    
            while not est_vide(pile_aux):
                empiler(pile,depiler(pile_aux))
            return j
    • Il te faut un compteur en dépilant.
      Tu remplaces j par ce compteur si c’est plus grand :

      def max_pile(pile, i):
          pile_aux = creer_pile_vide() # attention pas initialisation ici
          j = 1 # indice du maximum dans la pile entre 1 et hauteur
          compteur = 1 # là ça va t'aider
          valeur_maxi = depiler(pile) # il te faut une valeur de début
          empiler(pile_aux, valeur_maxi) # on range le sommet
          while not est_vide(pile): # et pas if
              compteur += 1 # pour savoir quoi mettre !
              var_aux = depiler(pile)
              empiler(pile_aux, var_aux) # et pas pile
              if valeur_maxi < var_aux: # et pas j
                  valeur_maxi = var_aux # nouveaux noms
                  j = #maintenant tu sais
              # le reste était ok
              while not est_vide(pile_aux):
                  empiler(pile, depiler(pile_aux))
              return j
  2. Même pour sa monsieur j’ai besoin d’aide, le probleme ce que cette histoire d’indice j’arrive pas je sais pas comment faire avec:

    def retourner(pile,j):
        pile1 = initialisation()
        pile2 = initialisation()
        i = 1
        while not est_vide(pile) and i <= j:
            empiler(pile1,depiler(pile))
            i += i
            while not est_vide(pile1):
                empiler(pile2,depiler(pile1))	
    
        return pile
    • Pas de problème ! Alors…

      def retourner(pile,j):
          pile1 = initialisation()
          pile2 = initialisation()
          i = 1
          # on dépile pile dans pile1
          while not est_vide(pile) and i <= j:
              empiler(pile1, depiler(pile))
              i += i
      
          # on remet i à 1
          # on dépile pile1 dans pile2
      
          # on remet i à 1
          # on dépile pile2 dans pile
          return pile
  3. en fait j’ai besoin d’aide pour tout le sujet… la dernière fonction est juste ? (vous avez dit qu’elle est assez courte):

    def tri_crepes(pile):
    	hauteur = hauteur_pile(P)
    	for i in range(hauteur_pile(P)):
    		max_pile(pile,hauteur)
    		retourner(pile,hauteur)
    		hauteur -= 1

Répondre à Emir Annuler la réponse.

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.