Código del ejercicio:
Definición de los códigos del ejercicio:
int() --> convierte el valor especificado en un número entero.input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
print() --> imprime un mensaje en la pantalla.
Explicación del Código:
El ejercicio pide mostrar los x primeros números de la siguiente serie:
2, 3, 6, 7, 14, 15, 30, 31, 62, 63, ...
La serie sigue dos operaciones que se van alternando:
- Primero se suma 1.
- Después se multiplica por 2.
- Luego se vuelve a sumar 1.
- Después se vuelve a multiplicar por 2.
Código en Python
Explicación de cada código
| Código | Función |
|---|---|
x = int(input(...)) |
Pide al usuario cuántos números de la serie quiere mostrar.
int() convierte el dato ingresado en un número entero.
|
vi = 2 |
Guarda el primer número de la serie. La serie comienza en 2. |
c = 0 |
Es un contador que indica cuántos números de la serie ya se han mostrado. |
sw = 1 |
Es un interruptor que permite alternar entre las dos operaciones: sumar 1 y multiplicar por 2. |
while c != x: |
Repite el proceso mientras la cantidad de números mostrados sea diferente a la cantidad solicitada. |
print(vi, end=",") |
Muestra el número actual de la serie y coloca una coma después de cada número. |
if sw == 1: |
Comprueba si corresponde realizar la operación de sumar 1. |
vi = vi + 1 |
Suma 1 al número actual. |
sw = 0 |
Cambia el interruptor para que en la siguiente vuelta se realice la multiplicación por 2. |
else: |
Se ejecuta cuando sw no es igual a 1.
|
vi = vi * 2 |
Multiplica el número actual por 2. |
sw = 1 |
Cambia nuevamente el interruptor para que en la siguiente vuelta se realice una suma de 1. |
c = c + 1 |
Aumenta el contador en 1 porque ya se procesó un número de la serie. |
¿Cómo se genera la serie?
El programa comienza con vi = 2. Después alterna entre sumar 1 y multiplicar por 2:
| Número actual | Operación | Siguiente número |
|---|---|---|
| 2 | + 1 | 3 |
| 3 | × 2 | 6 |
| 6 | + 1 | 7 |
| 7 | × 2 | 14 |
| 14 | + 1 | 15 |
| 15 | × 2 | 30 |
| 30 | + 1 | 31 |
| 31 | × 2 | 62 |
| 62 | + 1 | 63 |
Ejemplo
Si el usuario ingresa:
El programa mostrará los primeros 5 números:
En resumen, sw es el encargado de alternar las operaciones: una vez suma 1 y la siguiente vez multiplica por 2.
No hay comentarios.:
Publicar un comentario