Documentos de Académico
Documentos de Profesional
Documentos de Cultura
el cero entre sus dígitos, obtenga a partir de él otro numero que no es mas que el numero
dado con sus dígitos ordenados de mayor a menor.
ANALISIS:
Efectuando un análisis del problema y sub-dividiéndolo se puede ver que la solución puede
darse dividiendo el problema en los siguientes sub-problemas:
• Leer un entero
• Hallar el mayor digito de los que existen
• Incorporar este digito mayor al nuevo numero
• Eliminarlo este digito mayor del numero leído para la siguiente iteración
• Ubicar la posición del digito mayor para poder eliminarlo.
• El programa principal que dirija el proceso con estos sub-programas, digito a digito.
SOLUCION:
Programa OrdenarDigitosDeUnNumero()
Int NN,N,D,P,k
INICIO
NN 0 // NN sera el nuevo numero con dígitos ordenados
N leerEntero() : nd numDigitos() // N es el numero con el que se inicia
Para k=1, nd
D digitoMayor(N) // pedimos el digito mayor de N en D
NN NN*10 + D // formando el nuevo numero en NN
P posDigitoMayor(N,D) // buscando la ubicación de D para eliminarlo
N eliminaDigitoMayor(N,P) // eliminar D de la ubicación P
FinPara
Mostrar NN
FIN
Un numero decimal (base 10) es un numero en el que cada uno de sus digitos es uno de los
siguientes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 y un numero binario (base 2) es un numero en el que
cada uno de sus digitos es uno de los siguientes: 0 o 1. Se quiere que leido un numero
decimal entero y positivo que indique la cantidad de numeros a sumar (por ejemplo N), leer
numeros binarios (verificando que si lo sean) y efectuar la suma de estos numeros binarios,
es decir efectuar las sumas en binario.
ANALISIS:
Efectuando un análisis del problema y sub-dividiéndolo se puede ver que la solución puede
darse dividiendo el problema en los siguientes sub-problemas:
• Leer un numero entero, que ya se tiene
• Leer un numero binario, verificando que si lo sea
• Contar dígitos de un numero
• Suma de binarios
• Programa principal que maneje los anteriores
SOLUCION:
Programa SumaBinaria()
Int suma, N,K,X
INICIO
suma 0
N leerEntero() // ya se tiene la funcion leeEntero()
Para K=1, N
X leerNumeroBinario()
suma suma2Binarios(suma, X)
FinPara
Mostrar “El resultado es: ”, suma
FIN