ayudeeeen
ALGUN GENIO DE BUEN CORAZON Q ME AYUDE PARA STE MOMENTO GRACIAS
DOY TODOS LOS PUNTAJES AYUDEN
15. Dada una cantidad de dinero leída entre 1 y 999, transfórmela en palabras
Ejemplo: Se lee 275,45
La salida será: Dos cientos setenta y cinco dólares con 45/100
Respuestas
A continuación pseudocódigo en pseint que muestra por pantalla una cantidad en palabras, ingresada como número por el teclado.
Algoritmo en pseint para convertir números a palabras
Proceso escribirEnPalabrasNumeros
Definir cant Como Entero;
Definir cantidad Como real;
Escribir Sin Saltar "Ingrese una cantidad (decimales use punto):";
Repetir
Leer cantidad;
Hasta Que cantidad>=1 y cantidad<=999
separardecimales(cantidad);
Escribir "";
FinProceso
SubProceso conversion(cant,partedecimal)
Definir unidades,decimas,diez_y Como Cadenas;
Definir unidad,decima,centena Como Reales;
Definir centenas Como Cadenas;
Dimension unidades(9);
unidades[1] <- "uno";
unidades[2] <- "dos";
unidades[3] <- "tres";
unidades[4] <- "cuatro";
unidades[5] <- "cinco";
unidades[6] <- "seis";
unidades[7] <- "siete";
unidades[8] <- "ocho";
unidades[9] <- "nueve";
Dimension decimas(9);
decimas[1] <- "diez";
decimas[2] <- "veinte";
decimas[3] <- "treinta";
decimas[4] <- "cuarenta";
decimas[5] <- "cincuenta";
decimas[6] <- "sesenta";
decimas[7] <- "setenta";
decimas[8] <- "ochenta";
decimas[9] <- "noventa";
Dimension diez_y(5);
diez_y[1] <- "once";
diez_y[2] <- "doce";
diez_y[3] <- "trece";
diez_y[4] <- "catorce";
diez_y[5] <- "quince";
Dimension centenas(9);
centenas[1] <- "ciento";
centenas[2] <- "";
centenas[3] <- "";
centenas[4] <- "";
centenas[5] <- "quinientos";
centenas[6] <- "";
centenas[7] <- "setecientos";
centenas[8] <- "";
centenas[9] <- "novecientos";
unidad <- cant % 10;
decima <- ((cant - cant % 10)/ 10) % 10;
centena <- ((cant - cant % 100)/ 100) mod 10;
Si centena<> 0 Entonces
Si centenas[centena] = "" Entonces
Escribir Sin Saltar unidades[centena], "cientos";
Sino
Si centena<> 1 o unidad<> 0 o decima <> 0 Entonces
Escribir Sin Saltar centenas[centena];
Sino
Escribir Sin Saltar "cien";
FinSi
FinSi
FinSi
Si unidad<> 0 o decima <> 0 Entonces
Si centena<> 0 Entonces
Escribir Sin Saltar " ";
FinSi
Si decima = 0 Entonces
Escribir Sin Saltar unidades[unidad];
Sino
Si unidad= 0 Entonces
Escribir Sin Saltar decimas[decima];
Sino
Si decima = 1 y unidad>=1 y unidad<=5 Entonces
Escribir Sin Saltar diez_y[unidad];
Sino
Si decima = 1 Entonces
Escribir Sin Saltar "dieci", unidades[unidad] ;
Sino
Si decima = 2 Entonces
Escribir Sin Saltar "veinti", unidades[unidad] ;
Sino
Escribir Sin Saltar decimas[decima], " y ", unidades[unidad];
FinSi
FinSi
FinSi
FinSi
FinSi
FinSi
Escribir " con ", partedecimal, "/100 dólares"
FinSubProceso
SubProceso conversion2(cant, partedecimal)
Definir unidades, miles Como Reales;
unidades<- cant % 1000;
miles <- ((cant - cant % 1000)/ 1000) % 1000;
Si miles>1 Entonces
conversion(miles,partedecimal);
FinSi
Si miles<> 0 Entonces
Escribir Sin Saltar "mil";
FinSi
Si unidades<> 0 Y miles<> 0 Entonces
Escribir Sin Saltar " ";
FinSi
conversion(unidades, partedecimal);
FinSubProceso
SubProceso conversion3(cant,partedecimal)
Definir unidades, millares Como Reales;
unidades<- cant % 1000000;
millares<- ((cant - cant % 1000000)/ 1000000) % 1000000;
Si millares>1 Entonces
conversion2(millares,partedecimal);
Escribir Sin Saltar " millones";
Sino
Si millares<> 0 Entonces
Escribir Sin Saltar "un millón";
FinSi
FinSi
Si unidades<> 0 y millares<> 0 Entonces
Escribir Sin Saltar " ";
FinSi
conversion2(unidades,partedecimal);
FinSubProceso
SubProceso separardecimales(cantidad)
Definir N Como caracter
parteentera <- 0
partedecimal <- ""
N <- ConvertirATexto(cantidad)
Para a<-0 Hasta LONGITUD(N) Hacer
digito <- SUBCADENA(N,a,a)
si digito = "." Entonces
parteentera <- trunc(cantidad)
partedecimal <- SUBCADENA(N,a+1,Longitud(N))
FinSi
FinPara
cant <- parteentera
conversion3(cant,partedecimal);
FinSubProceso
Para saber más acerca de programas para convertir números a palabras consulte: https://brainly.lat/tarea/61519957
#SPJ1