Código del ejercicio:
Definición de los códigos del ejercicio:
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
append() --> agrega un elemento al final de la lista.
str() --> convierte el valor especificado en una cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.
Explicación del Código:
Objetivo del ejercicio
El programa solicita una matriz formada únicamente por números 0 y 1. Cada fila se interpreta como un número binario y luego se convierte a su equivalente en decimal.
Ejemplo:
1 0 1 1 1 0
La primera fila forma el binario 101, que en decimal es
5.
La segunda fila forma el binario 110, que en decimal es
6.
1. Ingreso del tamaño de la matriz
n = int(input("Ingresar N: "))
m = int(input("Ingresar M: "))
- n: cantidad de filas.
- m: cantidad de columnas.
- int(): convierte el dato ingresado a número entero.
2. Creación de la matriz
matriz = []
Se crea una lista vacía donde se almacenarán todas las filas de la matriz.
3. Llenado de la matriz
for fila in range(n):
matriz.append([])
for columna in range(m):
numero = int(input("Ingresar número: "))
matriz[fila].append(numero)
- El ciclo externo recorre las filas.
- matriz.append([]) crea una nueva fila vacía.
- El ciclo interno recorre las columnas.
- Se solicita un número (0 o 1).
- append(numero) agrega el número a la fila actual.
Ejemplo:
[ [1,0,1], [1,1,0] ]
4. Variable contador de filas
c = 1
Se utiliza para numerar las filas al momento de mostrar los resultados.
5. Recorrer cada fila de la matriz
for fila in matriz:
Recorre una fila completa de la matriz en cada repetición.
6. Formar el número binario
concatenacion = ""
for columna in fila:
concatenacion += str(columna)
- Se crea una cadena vacía.
- Se recorren los elementos de la fila.
- str() convierte cada número a texto.
- Los valores se unen formando un número binario.
Ejemplo:
Fila: [1,0,1,1] Resultado: "1011"
7. Convertir binario a decimal
binario_a_decimal = int(concatenacion, 2)
La función int(valor, base) convierte un número de una base determinada a decimal.
- concatenacion contiene el binario.
- 2 indica que el número está en base 2.
Ejemplo:
int("1011", 2)
Resultado:
11
8. Mostrar el resultado
print(f"Fila {c}:| {concatenacion} = {binario_a_decimal}")
c += 1
- Muestra el número de fila.
- Muestra el binario formado.
- Muestra su equivalente decimal.
- Incrementa el contador para la siguiente fila.
Ejemplo de salida:
Fila 1:| 101 = 5 Fila 2:| 110 = 6
9. Mostrar la matriz completa
for i in matriz:
print(*i)
- Recorre cada fila de la matriz.
- *i muestra los elementos separados por espacios.
Salida:
1 0 1 1 1 0
Resumen
- Se ingresan filas y columnas.
- Se llena una matriz con 0 y 1.
- Cada fila se convierte en una cadena binaria.
- El binario se transforma a decimal usando int(..., 2).
- Se muestra el resultado de cada fila.
- Finalmente se imprime toda la matriz.
En pocas palabras: el programa toma cada fila de la matriz como un número binario y calcula automáticamente su valor decimal equivalente.
No hay comentarios.:
Publicar un comentario