Ayuda solicitada para un ejercicio de NSI de primero.

SalaNsi Mensajes publicados 13 Estado Membre -  
SalaNsi Mensajes publicados 13 Estado Membre -

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 réponses

jee pee Mensajes publicados 31912 Fecha de registro   Estado Modérateur Última intervención   9 947
 

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
SalaNsi Mensajes publicados 13 Estado Membre
 

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
jee pee Mensajes publicados 31912 Fecha de registro   Estado Modérateur Última intervención   9 947
 

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
SalaNsi Mensajes publicados 13 Estado Membre
 

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

0
jee pee Mensajes publicados 31912 Fecha de registro   Estado Modérateur Última intervención   9 947
 
int(binaire[i]) * (2**(len(binaire)-1-i))

tienes que repasar el curso de Python

0
SalaNsi Mensajes publicados 13 Estado Membre
 

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
SalaNsi Mensajes publicados 13 Estado Membre
 

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
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
SalaNsi Mensajes publicados 13 Estado Membre
 

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

0