Aide demandée pour un exercice de NSI première

SalaNsi Messages postés 13 Statut Membre -  
SalaNsi Messages postés 13 Statut Membre -

Bonjour,

Je suis en première générale et j'ai un Dm qui contient cet exercice, je n'y suis pas arrivé même après avoir essayé pendant un bon bout de temps.

J'ai mis en lien ce que j'ai complété ainsi que les consignes.

Merci!

7 réponses

  1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     

    Bonjour,

    Plutôt qu'une image du code nous préférons qu'il soit dans le message, avec l'icone source et le langage Python qui donne :

    for i in range(4):
       print(i)

    Ton énoncé indique que la la puissance de 2 est un calcul positionnel de droite à gauche, tu ne peux donc pas prendre tout simplement i. Après tu dois extraire la position du binaire avec une syntaxe binaire[i].

    0
  2. SalaNsi Messages postés 13 Statut Membre
     

    Je comprends pour le code dans le message, mais après je ne vois pas comment la faire de droite à gauche et encore moins comment extraire la position du binaire vu que l'on ne la pas vu dans le cours.

    0
    1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
       

      Suivant la valeur de i, 0 à 3, tu vas extraire le bit à traiter avec binaire[i]

      Après pour la puissance de 2 il faut que tu trouves une formule qui combine i (variant de 0 à 3) et len(binaire) qui vaut 4 où

      • quand i=0 puissance de 2 = 3
      • quand i=1 puissance de 2 = 2
      • quand i=2 puissance de 2 = 1
      • quand i=3 puissance de 2 = 0
      0
  3. SalaNsi Messages postés 13 Statut Membre
     

    Je suis désolé mais même après avoir cherché pendant longtemps je n'ai toujours pas trouvé ce qu'il fallait mettre.

    0
    1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
       
      int(binaire[i]) * (2**(len(binaire)-1-i))

      il faut que tu reprennes le cours de Python

      0
  4. SalaNsi Messages postés 13 Statut Membre
     

    merci pour ça mais vraiment je te mens pas j'ai 3 autres exercices dans le dm et je sais pas ce que le prof a dans la tête, on n'a pas le cours il nous a juste donné quelques outils pour soi disant nous aider.

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SalaNsi Messages postés 13 Statut Membre
     

    J'ai même commencé le 2ème exercices mais toujours des difficultés 

    voici le code du 2 et les consignes en lien

    :
     

    def dec_to_bin(decimal):
        binaire=""
        quotient = decimal // 2
        reste = decimal % 2
        binaire = reste + binaire
        while quotient!=0 :
            decimal = quotient
            reste = decimal % 2
            binaire = reste + binaire
            quotient = decimal//2

        
        # au final, tant que le binaire n'a pas une taille de 4
        while binaire != 4:
            # on ajoute des "0" à gauche
            binaire = ...
            
        return binaire


    # Les lignes ci-dessous testent votre code... n'y touchez pas !
    # Si une AssertionError apparaît... c'est que votre code n'est pas bon...
    assert dec_to_bin(10) == '1010'
    assert dec_to_bin(15) == '1111'
    assert dec_to_bin(0) == '0000'

    0
  7. PierrotLeFou
     

    Je n'ai pas regardé si ce site offre un cours sur Python.
    Cherches pour le site "Zeste De Savoir" le cours "Zeste de Python" écrit par "entwanne".

    0
  8. SalaNsi Messages postés 13 Statut Membre
     

    mais enfaite j'ai pas trop le temps car le dm est à rendre pour lundi.

    0