lunes, 24 de enero de 2022

Pseudocodigo Ingresar un número de 'X' cifras y obtener su equivalente en letras en español

Ejercicio:

Escribir un pseudocodigo que permita ingresar un numero entero de 'x' cifras y obtenga el equivalente en letras en el idioma español.

//funcion unidades

//el argumento es las unidades

//se le asigna a letra_unidad

funcion letra_unidad=SubUnidades(x)

segun x hacer

1:letra_unidad="uno"

2:letra_unidad="dos"

3:letra_unidad="tres"

4:letra_unidad="cuatro"

5:letra_unidad="cinco"

6:letra_unidad="seis"

7:letra_unidad="siete"

8:letra_unidad="ocho"

9:letra_unidad="nueve"

FinSegun

FinFuncion


Funcion letra_decena=SubDecenas(z)

segun z hacer

1:letra_decena="diez"

2:letra_decena="veinte"

3:letra_decena="treinta"

4:letra_decena="cuarenta"

5:letra_decena="cincuenta"

6:letra_decena="sesenta"

7:letra_decena="setenta"

8:letra_decena="ochenta"

9:letra_decena="noventa"

FinSegun

FinFuncion


Funcion letra_unidad_compuesta=SubUnidadesCompuestas(w)

segun w hacer

1:letra_unidad_compuesta="once"

2:letra_unidad_compuesta="doce"

3:letra_unidad_compuesta="trece"

4:letra_unidad_compuesta="catorce"

5:letra_unidad_compuesta="quince"

6:letra_unidad_compuesta="dieciseis"

7:letra_unidad_compuesta="diecisiete"

8:letra_unidad_compuesta="dieciocho"

9:letra_unidad_compuesta="diecinueve"

FinSegun

FinFuncion


Funcion letra_centena=SubCentena(u)

segun u hacer

1:letra_centena="cien"

2:letra_centena="doscientos"

3:letra_centena="trescientos"

4:letra_centena="cuatrocientos"

5:letra_centena="quinientos"

6:letra_centena="seiscientos"

7:letra_centena="setecientos"

8:letra_centena="ochocientos"

9:letra_centena="novecientos"

FinSegun

FinFuncion


//funcion para saber las decenas y unides

Funcion  letra_decena_x=operar_decenas(f,g)

segun f hacer

1:

//si f (decenas) es 1 pregunto si las unidades o g es igual a cero

si g=0 Entonces

letra_decena_x= SubDecenas(f)

SiNo

letra_decena_x= SubUnidadesCompuestas(g)

FinSi

2:

//si las decenas es 2 hago una decision preguntando si las unidades es cero

si g=0 Entonces

letra_decena_x= SubDecenas(f)

SiNo

letra_decena_x= "veinti"+SubUnidades(g)

FinSi

De Otro Modo:

si g= 0 Entonces

letra_decena_x=SubDecenas(f)

SiNo

letra_decena_x= SubDecenas(f)+" y "+SubUnidades(g)

FinSi

FinSegun

FinFuncion


Funcion letra_centena_x=operar_centenas(centenas,decenas,unidades)

segun centenas hacer

1:

si unidades=0 y decenas=0 Entonces

letra_centena_x="cien"

SiNo

si decenas=0 y unidades<>0 Entonces

letra_centena_x= "ciento "+SubUnidades(unidades)

SiNo

letra_centena_x= "ciento "+operar_decenas(decenas,unidades)

FinSi

FinSi

De Otro Modo:

si decenas=0 Entonces

letra_centena_x= SubCentena(centenas)+" "+SubUnidades(unidades)

SiNo

letra_centena_x= SubCentena(centenas)+" "+operar_decenas(decenas,unidades)

FinSi

FinSegun

FinFuncion


Proceso numeros_a_letras

//ingresar el numero a leer 

//leo numero_xx

//asignar numero_xx a numero_x

Mostrar "Introduce tu numero a leer (max. cinco digitos):"

Leer numero_xx


numero_x=numero_xx

//extraigo las unidedes, las decenas, las centenas, las unidades de millar, las decenas de millar

//usando las funciones truncar

//y el operador resto

decenas_millar=trunc(numero_x/10000)

numero_x=numero_x mod 10000

unidades_millar=trunc(numero_x/1000)

numero_x=numero_x mod 1000

centenas=trunc(numero_x/100)

numero_x=numero_x mod 100

decenas=trunc(numero_x/10)

unidades=numero_x mod 10

// pregunto si el numero es menor de cero

//si el numero es menor de cero

si numero_xx<0 Entonces

Mostrar "Error! Numero fuera de rango"

// si el numero no es menor que cero

SiNo

// si el numero es igual a cero

si numero_xx=0 Entonces

//muestro en pantalla cero

Mostrar "cero"

SiNo

//si el numero no es cero y es menor igual que 9

si numero_xx<=9 Entonces

//llamo a una funcion llamada subunidades

Mostrar SubUnidades(unidades)

SiNo

// si el numero es menor igual que noventa y nueve

si numero_xx<=99 Entonces

//llamo a funcion operar decenas y a los argumentos le doy los valores de decenas y unidades

Mostrar operar_decenas(decenas,unidades)

SiNo

si numero_xx<=999 Entonces

Mostrar operar_centenas(centenas,decenas,unidades)

SiNo

si numero_xx<=9999 Entonces

Segun unidades_millar hacer

1:

Mostrar "mil "+operar_centenas(centenas,decenas,unidades)

De Otro Modo:

Mostrar SubUnidades(unidades_millar)+" mil "+operar_centenas(centenas,decenas,unidades)

FinSegun

SiNo

si numero_xx<=99999 Entonces

cadena1=operar_decenas(decenas_millar,unidades_millar)

cadena2=" mil "+operar_centenas(centenas,decenas,unidades)

si decenas_millar>1 y unidades_millar=1 Entonces

Mostrar Subcadena(cadena1,0,(Longitud(cadena1)-1))+cadena2

SiNo

Mostrar operar_decenas(decenas_millar,unidades_millar)+" mil "+operar_centenas(centenas,decenas,unidades)

FinSi

SiNo

Mostrar "Error! Numero fuera de rango"

FinSi

FinSi

FinSi

FinSi

FinSi

FinSi

FinSi

FinProceso


No hay comentarios.:

Publicar un comentario