Ayuda solicitada para un ejercicio de NSI de primero.

SalaNsi Mensajes publicados 13 Estado Miembro -  
SalaNsi Mensajes publicados 13 Estado Miembro -

Hola,

Estoy en primero de bachillerato y tengo un trabajo que contiene este ejercicio, no he podido hacerlo incluso después de haberlo intentado durante bastante tiempo.

He puesto en enlace lo que he completado así como las instrucciones.

¡Gracias!

7 respuestas

  1. jee pee Mensajes publicados 31888 Fecha de registro   Estado Moderador Última intervención   9 981
     

    Hola,

    En lugar de una imagen del código, preferimos que esté en el mensaje, con el ícono de fuente y el lenguaje Python que da:

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

    Tu declaración indica que la potencia de 2 es un cálculo posicional de derecha a izquierda, por lo que no puedes simplemente tomar i. Luego, debes extraer la posición del binario con una sintaxis binaria[i].

    0
  2. SalaNsi Mensajes publicados 13 Estado Miembro
     

    Entiendo el código en el mensaje, pero después no veo cómo hacerlo de derecha a izquierda y aún menos cómo extraer la posición del binario ya que no la vimos en clase.

    0
    1. jee pee Mensajes publicados 31888 Fecha de registro   Estado Moderador Última intervención   9 981
       

      Dependiendo del valor de i, de 0 a 3, vas a extraer el bit a tratar con binaire[i]

      Luego, para la potencia de 2, necesitas encontrar una fórmula que combine i (variando de 0 a 3) y len(binaire) que es 4 donde

      • cuando i=0 potencia de 2 = 3
      • cuando i=1 potencia de 2 = 2
      • cuando i=2 potencia de 2 = 1
      • cuando i=3 potencia de 2 = 0
      0
  3. SalaNsi Mensajes publicados 13 Estado Miembro
     

    Lo siento, pero incluso después de haber buscado durante mucho tiempo, todavía no he encontrado lo que había que poner.

    0
    1. jee pee Mensajes publicados 31888 Fecha de registro   Estado Moderador Última intervención   9 981
       
      int(binaire[i]) * (2**(len(binaire)-1-i))

      tienes que repasar el curso de Python

      0
  4. SalaNsi Mensajes publicados 13 Estado Miembro
     

    gracias por esto, pero de verdad no te miento, tengo 3 ejercicios más en el trabajo de clase y no sé qué tiene el profesor en la cabeza, no tenemos la clase, solo nos dio algunas herramientas para supuestamente ayudarnos.

    0
  5. SalaNsi Mensajes publicados 13 Estado Miembro
     

    Incluso he comenzado el segundo ejercicio pero sigo teniendo dificultades

    aquí está el código del 2 y las instrucciones relacionadas

    :

    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

        
        # al final, mientras que el binario no tenga un tamaño de 4
        while binaire != 4:
            # agregamos "0" a la izquierda
            binaire = ...
            
        return binaire


    # Las líneas de abajo prueban tu código... ¡no las toques!
    # Si aparece un AssertionError... es que tu código no es bueno...
    assert dec_to_bin(10) == '1010'
    assert dec_to_bin(15) == '1111'
    assert dec_to_bin(0) == '0000'

    0
  6. PierrotLeFou
     

    No he mirado si este sitio ofrece un curso sobre Python.
    Busca en el sitio "Zeste De Savoir" el curso "Zeste de Python" escrito por "entwanne".

    0
  7. SalaNsi Mensajes publicados 13 Estado Miembro
     

    pero en realidad no tengo mucho tiempo porque el deber está para entregar el lunes.

    0