Implemente un algoritmo para determinar la suma de las cifras pares de un número ingresado por teclado.
Solución
Se ingresan una cadena de números y obtenemos como resultado la suma de los números pares de dicha cadena.
Ejemplo:
- Entrada: 123456
- Resultado: 12
Iniciamos un ciclo while cuya condición n debe ser mayor a 1(n>1)
dígito = n MOD 10
sacamos a modulo 10 para separar el ultimo dígito y guardarlo en la variable dígito
Ejemplo
n = 12345
n MOD 10 = 5
digito = 5
n = TRUNC(n/10)
truncamos el valor de la división con lo cual obtendremos un numero entero.
Ejemplo
n = 12345
TRUNC(12345/10)
n = 1234
Llamamos a la subrutina SumarPares, con argumentos: n, digito, suma.
Realizamos la comparación, si n es menor que 10 (n<10)
Si es falso(NO)
Preguntamos si (digito MOD 2) es igual a cero,
Si es Verdadero
Es par por lo tanto se agregará en la suma,
Si es Falso
No se hace nada.
Si es Verdadero(SI)
Preguntamos si (digito MOD 2) es igual a cero,
Si es Verdadero
Es par por lo tanto se agregará en la suma,
Si es Falso
No se hace nada.
Finalizamos el ciclo while
mostramos el resultado de la suma
Realizamos la comparación, si n es menor que 10 (n<10)
Si es falso(NO)
Preguntamos si (digito MOD 2) es igual a cero,
Si es Verdadero
Es par por lo tanto se agregará en la suma,
Si es Falso
No se hace nada.
Si es Verdadero(SI)
Preguntamos si (digito MOD 2) es igual a cero,
Si es Verdadero
Es par por lo tanto se agregará en la suma,
Si es Falso
No se hace nada.
Finalizamos el ciclo while
mostramos el resultado de la suma
Diagrama Fuente DFD | ||
Código fuente en Java. | ||
Código fuente en C++ | ||
Código fuente en C | ||
Código fuente en C# | ||
Código fuente en Python | ||
Código fuente en Visual Basic |
2 comentarios:
El operador modulo(%) que sirve para determinar multiplicidad entre valores es muy frecuente usarlo para determinar los dígitos de una cantidad aunque sea de paso recordar el operador de división (/).
Comparto link con el programa que suma los dígitos de un numero
https://tutorias.co/funciones-java-suma-de-los-primeros-tres-digitos/
njlkbhbgjcfrxryexdfctvgyhbjnkm,jhgfrdeswaqwesdfrtcgvhbuynokmik
Publicar un comentario