Está en la página 1de 4

4. PRÁCTICA DE LABORATORIO.

4.1- Operadores de aritmética entera.

Ejercicio 1.- Escribir un programa que dado un número entero de 3 dígitos invierta el orden de

estos dígitos. Primer algoritmo

# Invertir el orden de los dígitos de un número de tres dígitos

# Leer un número entero de tres dígitos


N = int(input('Ingrese un número entero de 3 dígitos: '))

# Descomponer el número en sus dígitos e invertirlo


U = N % 10
D = (N // 10) % 10
C = N // 100
NroInvertido = U * 100 + D * 10 + C

# Escribir el número con el orden de los dígitos invertido


print('Número invertido = ', NroInvertido)

Segundo algoritmo

# Invertir el orden de los dígitos de un número de tres dígitos

# Leer un número entero de tres dígitos


N = int(input('Ingrese un número entero de 3 dígitos: '))

# Invertir el número
NroInvertido = 0

NroInvertido = NroInvertido * 10 + N % 10
N = N // 10

NroInvertido = NroInvertido * 10 + N % 10
N = N // 10

NroInvertido = NroInvertido * 10 + N % 10
N = N // 10

# Escribir el número con el orden de los dígitos invertido


print('Número invertido = ', NroInvertido)

Trabajo con docente:

Sección de discusión. - Analizar los dos algoritmos anteriores y fundamentar cuál de los dos es el más
apropiado al “pensamiento algorítmico” que se debe tener para resolver problemas con algoritmos.
Pregunta 1.- Modificar el programa anterior de modo que invierta el orden de los dígitos de un número
de 4 dígitos. Previamente analice con cuál de los dos algoritmos es más fácil resolver este problema.
Ejercicio 2.- Dado un número entero de 3 dígitos, escribir un programa que determine el número de

dígitos impares Primer algoritmo

60
# Determinar el número de dígitos impares de un número de tres dígitos

# Leer un número entero de tres dígitos


N = int(input('Ingrese un número entero de 3 dígitos: '))

# Descomponer el número en sus digitos


U = N % 10
D = (N // 10) % 10
C = N // 100

# Contar el número de dígitos impares


DigitosImpares = (U % 2) + (D % 2) + (C % 2)

# Escribir el número de dígitos impares


print('Dígitos Impares = ', DigitosImpares)

Segundo algoritmo

# Determinar el número de dígitos impares de un número de tres dígitos

# Leer un número entero de tres dígitos


N = int(input('Ingrese un número entero de 3 dígitos: '))

# Contar el número de dígitos impares


DigitosImpares = 0

DigitosImpares = DigitosImpares + (N % 2)
N = N // 10

DigitosImpares = DigitosImpares + (N % 2)
N = N // 10

DigitosImpares = DigitosImpares + (N % 2)
N = N // 10

# Escribir el número de dígitos impares


print('Dígitos Impares = ', DigitosImpares)

Trabajo con docente:

Sección de discusión.- Analizar los dos algoritmos anteriores y fundamentar cuál de los dos es el más
apropiado al “pensamiento algorítmico” que se debe tener para resolver problemas con algoritmos.
Sección de
evaluación:

Pregunta 2.- Modificar el programa anterior de modo que determine el número de dígitos pares de un
número de 4 dígitos. Previamente analice con cuál de los dos algoritmos es más fácil resolver este
problema.

Ejercicio 3.- Dado una hora en HH:MM:SS, escribir un programa que determine la hora correspondiente al siguiente
segundo.

Primer algoritmo

61
# Calcular la hora correspondiente al siguiente segundo

# Leer la hora inicial


HH1 = int(input('Ingrese la hora inicial: '))
MM1 = int(input('Ingrese el minuto inicial: '))
SS1 = int(input('Ingrese el segundo inicial: '))

# Expresar la hora inicial en segundos y agregar un segundo


TotalSegundos = (HH1 * 3600 + MM1 * 60 + SS1) + 1

# Degterminar la hora correspondiente al siguiente segundo


HH2 = (TotalSegundos // 3600) % 24
MM2 = (TotalSegundos % 3600) // 60
SS2 = TotalSegundos % 60

# Mostrar la hora correspondiente al siguiente segundo


print('Hora Final: ',HH2,':',MM2,':',SS2)

Segundo algoritmo

# Calcular la hora correspondiente al siguiente segundo

# Leer la hora inicial


HH1 = int(input('Ingrese la hora inicial: '))
MM1 = int(input('Ingrese el minuto inicial: '))
SS1 = int(input('Ingrese el segundo inicial: '))

# Calcular el siguiente segundo


SS2 = (SS1 + 1) % 60

# Si al sumar el segundo hace un minuto, sumar a minutos


MM2 = (MM1 + ((SS1 + 1) // 60)) % 60

# Si al sumar el minuto hace una hora, sumar a horas


HH2 = (HH1 + (MM1 + ((SS1 + 1) // 60)) // 60) % 24

# Mostrar la hora correspondiente al siguiente segundo


print('Hora Final: ',HH2,':',MM2,':',SS2)

También podría gustarte