Algoritmia - pseudocodigo dificil

 
Vista:

pseudocodigo dificil

Publicado por deyner (11 intervenciones) el 16/05/2007 17:40:59
amigos deseo saber como realizares te algoritmo
un programa que lea un numero (va desde un digito hasta 4 o 5 digitos son enteros)
y que me escriba ese mismo numero igual y su equivalente en letras ejemplo 2500 = dos mil quinientos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pseudocodigo dificil

Publicado por Luis Fdo Avila Manjarres (2 intervenciones) el 05/06/2007 05:48:07
nose si asi te sirva en java pero alli va....
copialo, pegalo y ejecutalo en algun compilador de java y lo veras mejor....
recive numeros negativos....


/* ************************************************************************** *
* Programa que lee un número cualquiera mayor que -9999 y menor que 9999 *
* y regresa su equivalente en letras ej: 4520 = cuatro mil quinientos veinte *
* ************************************************************************** *
* Creado por: Luis Fernando Avila Manjarres *
* Estudiante de Ingenieria de Sistemas II semestre *
* Corporacion Universitaria Rafael Nuñez (Cartagena, Colombia) *
* Fecha de creación: 4 de Junio de 2007 *
* ************************************************************************** */

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Decimal_Letras_Arreglo extends JFrame implements ActionListener {
private JLabel numero, letras;
private JTextField numeroEdi, salida;
private JTextArea areaSalida;
private JButton aceptar;

public Decimal_Letras_Arreglo (){
Container contenedor = getContentPane ();
contenedor.setLayout (new FlowLayout());

numero = new JLabel("Digite Numero: ");
numeroEdi = new JTextField (20);
contenedor.add (numero);
contenedor.add (numeroEdi);

aceptar = new JButton ("Aceptar");
contenedor.add (aceptar);

letras = new JLabel("Equivalente en letras: ");
salida = new JTextField (30);
salida.setEditable (false);
contenedor.add (letras);
contenedor.add (salida);

aceptar.addActionListener (this);
numeroEdi.addActionListener (this);

setSize (500, 150);
setVisible (true);
} // fin constructor

public void actionPerformed (ActionEvent evento) {
String r="";
if (evento.getSource() == aceptar || evento.getSource()== numeroEdi) {
int num = Integer.parseInt (numeroEdi.getText());

if (num <-9999 || num>9999)
JOptionPane.showMessageDialog (null, "digite número mayor que -9999 y menor que 9999",
"Error", JOptionPane.ERROR_MESSAGE);
else
r= numeroEnLetras(num);
} // fin if

salida.setText (r);

} // fin metodo actionPerformed

public static String hastaNueve (int num) {
String cero_nueve[] = {"cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
return cero_nueve[num];
} // fin metodo hastaNueve

public static String hastaVeinte (int num) {
String once_diecinueve[] = {"", "once", "doce", "trece", "catorce", "quince", "dieciseis", "diecisiete", "dieciocho", "diecinueve"};
return once_diecinueve[num];
} // fin metodo hastaVeinte

public static String decenas (int num) {
String arreglo_decenas []= {"", "diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "sententa", "ochenta", "noventa"};
return arreglo_decenas[num];
} // fin metodo decenas


public static String hastaCien (int num) {
String veinti_noventa[] = {"", "", "veinti", "treinta y ", "cuarenta y ", "cincuenta y ", "sesenta y ", "setenta y ", "ochenta y ", "noventa y "};
return veinti_noventa[num];
} // fin metodo cien

public static String hastaMil (int num) {
String ciento_mil [] ={"", "ciento ", "doscientos ", "trecientos ", "cuatrocientos ", "quinientos ", "seiscientos ", "setecientos ", "ochocientos ", "novecientos "};
return ciento_mil[num];
} // fin metodo hastaMil

public static String hastaDiezMil (int num) {
String mil_nueveMil [] = {"", "mil ", "dos mil ", "tres mil ", "cuatro mil ", "cinco mil ", "seis mil ", "siete mil ", "ocho mil ", "nueve mil "};
return mil_nueveMil[num];
} // fin metodo hastaDiezMil

public static String numeroEnLetras (int num) {
String respuesta ="";
boolean negativo = false;
if (num<0) {
num *= -1;
negativo = true;
} // fin if

if (num<10) {
respuesta = hastaNueve(num);
} // fin if

else if (num>=10) {
int i=1;
boolean controlador = false;

while (num>=10) {
int r= num%10;
num /= 10;

if (i==1){ // if
if (r == 0)
controlador = true;
else if (num%10==1)
respuesta = hastaVeinte (r);
else
respuesta = hastaNueve (r);
} // fin if

else if (i==2) {
if (controlador && r!=0) {
respuesta = decenas (r);
controlador = false;
} // fin if
else if (r==0)
controlador = true;
else
respuesta = hastaCien (r) + respuesta;
} // fin else if

else if (i==3) { // else if 1
if (controlador && r!=0) {
respuesta = (r==1) ? "cien" : hastaMil (r);
controlador = false;
} // fin if
else if (r==0)
controlador = true;
else
respuesta = hastaMil (r) + respuesta;
} // fin else if 1
i++;
} // fin while

if (i==2){
if (controlador)
respuesta = decenas (num);
else
respuesta = hastaCien (num) + respuesta;
} // fin if

else if (i==3){
if (controlador)
respuesta = hastaMil (num) + respuesta;
else
respuesta = hastaMil (num) + respuesta;
} // fin else if

else if (i==4)
respuesta = hastaDiezMil (num) + respuesta;
} // fin else if 1

if (negativo)
respuesta = "menos " + respuesta; // fi es negativo anteponerle menos

return respuesta;
} // fin metodo numeroEnLetras

public static void main (String args[]) {
Decimal_Letras_Arreglo aplicacion = new Decimal_Letras_Arreglo () ;
aplicacion.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
} // fin metodo main

} // fin clase
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por sergio alfredo jimenez (1 intervención) el 28/02/2008 00:41:56
Algunos de unstades tendra un curso practico para estudiar programacion.
Soy estudiante de universidad y la verdad nunca lleve algo como esa materia y se me esta dificulktando demasiado ademas tengo una maestra que nadie ni ella misma se entiede lo que dice
Podrian ayudarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por Lucy (10 intervenciones) el 08/04/2012 05:27:55
amigo me podrias ayudar a mi porfavor con estos speudocodigos

me podrían ayudar ha hacer estos pseudocodigo por favor
solo el pseudocodigo

en una universidad se conoce el numero de alumnos que ingresaron en sus 3 años. Haga un diagrama de flujo que proporcione la siguiente informacion:

1) Total de alumnos por año que ingresaron a la universidad
2) Porcentaje de alumnos ingresados en el año X de la carrera Y.
3)En que año y en que carrera se dio el menor ingreso de alumnos
4)Año en el cual la Carrera T tuvo el mayor ingreso de alumnos


y este ultimo

En una granja llevan el registro de los kilogramos producidos y entregados mensualmente al mercado de la ciudad. Esta consiste de tomates, cebolla, lechuga, zanahoria y papas Haga un diagrama de flujo que calcule lo siguiente

1. cual es le producto que mas kilogramos rindio al final del año
2. cual es la produccion total de cada producto y cual fue el dinero que estos productos produjeron
3. cual es el producto que mas dinero prudujo al final de año
4. que importe mensual le pagaron a esta familia de granjeros, por sus productos entregados al mercado


perdón por molestar tanto

cualquier ayuda se la agradeciera de todo corazón

aunque sea solo pseudocodigo

les estaria eternamente agradecida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por Lucy (10 intervenciones) el 08/04/2012 05:30:47
amigo me podrias ayudar a mi porfavor con estos speudocodigos

me podrían ayudar ha hacer estos pseudocodigo por favor
solo el pseudocodigo

en una universidad se conoce el numero de alumnos que ingresaron en sus 3 años. Haga un diagrama de flujo que proporcione la siguiente informacion:

1) Total de alumnos por año que ingresaron a la universidad
2) Porcentaje de alumnos ingresados en el año X de la carrera Y.
3)En que año y en que carrera se dio el menor ingreso de alumnos
4)Año en el cual la Carrera T tuvo el mayor ingreso de alumnos


y este ultimo

En una granja llevan el registro de los kilogramos producidos y entregados mensualmente al mercado de la ciudad. Esta consiste de tomates, cebolla, lechuga, zanahoria y papas Haga un diagrama de flujo que calcule lo siguiente

1. cual es le producto que mas kilogramos rindio al final del año
2. cual es la produccion total de cada producto y cual fue el dinero que estos productos produjeron
3. cual es el producto que mas dinero prudujo al final de año
4. que importe mensual le pagaron a esta familia de granjeros, por sus productos entregados al mercado


perdón por molestar tanto

cualquier ayuda se la agradeciera de todo corazón

aunque sea solo pseudocodigo

les estaria eternamente agradecida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por pepe (6 intervenciones) el 12/07/2007 13:50:07
Aquí tienes otro en DBASE o CLIPPER :



************************************ Cheques.PRG
*- Imprime cheques.
*- Comprueba los procedimientos de conversi¢n de
*- fechas y n£meros en expresi¢n verbal.

*------------ Activar el fichero de procedimietos.

SET PROCEDURE TO ProcGen

*-------------------- Declarar variables P£blicas.
PUBLIC Fecha_Pal, Num_Pal

*------------------ Abrimos el fichero de Cheques.
USE Cheques

*--- Efectuamos las conversiones en cada registro.
CLEAR
GO TOP
DO WHILE .NOT. EOF()
M_Fecha = Fecha_C
DO FechaPal WITH M_Fecha
M_Pesetas = Pesetas
DO NumPal WITH M_Pesetas
? SPACE(5) + Num_Cheque
?? SPACE(36) + Fecha_Pal
?
? SPACE(5) + Pagese_a
?? SPACE(20) , Pesetas
?
? SPACE(4) + Num_Pal
?
?
?
SKIP
ENDDO

CLOSE PROCEDURE
RELEASE Num_Pal
RETURN


********************************************
*--- Expresar un n£mero en palabras.
*--- Hacer p£blica la variable Num_Pal en el
*--- programa que utilize este procedimiento.
*********************************************

PROCEDURE NumPal
PARAMETERS Numero

U = ""
U1 = "UNO"
U2 = "DOS"
U3 = "TRES"
U4 = "CUATRO"
U5 = "CINCO"
U6 = "SEIS"
U7 = "SIETE"
U8 = "OCHO"
U9 = "NUEVE"
U10 = "DIEZ"
U11 = "ONCE"
U12 = "DOCE"
U13 = "TRECE"
U14 = "CATORCE"
U15 = "QUINCE"
U16 = "DIECISEIS"
U17 = "DIECISIETE"
U18 = "DIECIOCHO"
U19 = "DIECINUEVE"
U20 = "VEINTE"
U30 = "TREINTA"
U40 = "CUARENTA"
U50 = "CINCUENTA"
U60 = "SESENTA"
U70 = "SETENTA"
U80 = "OCHENTA"
U90 = "NOVENTA"
U100 = "CIENTO"
U200 = "DOSCIENTOS"
U300 = "TRESCIENTOS"
U400 = "CUATROCIENTOS"
U500 = "QUINIENTOS"
U600 = "SEISCIENTOS"
U700 = "SETECIENTOS"
U800 = "OCHOCIENTOS"
U900 = "NOVECIENTOS"

*------ Inicializar las variables de memoria.
Contador = 1
Inicio = 1
Cadena = STR(Numero,9,2)
Num_Pal= " "

*------ Tratamos millares y centenas.
DO WHILE Contador < 3

*------ Descomponer centenas, decenas y unidades.
Subcadena = SUBSTR(Cadena,Inicio,3)
Centena = SUBSTR(Subcadena,1,1)+'00'
Decena = SUBSTR(Subcadena,2,2)
Unidad = SUBSTR(Subcadena,3,1)

*------ Transformar las centenas.
IF VAL(Subcadena) > 99
Num_Pal = Num_Pal + U&Centena+' '
ENDIF (Subcadena > 99)

*------ Transformar las decenas (2 d¡gitos).
T = VAL(Decena)
IF T > 0

DO CASE

* Caso 1: Decenas sin unidades o de 10 a 20.
CASE (INT(T/10.0)=T/10.0).OR.(T>9.AND.T<20)
Num_Pal = Num_Pal + U&Decena

* Caso 2: Decenas mayores de 10,
* pero con unidades.
CASE T > 9 .AND. (INT(T/10.0)#T/10.0)
Decena = SUBSTR(Decena,1,1) + '0'
IF Decena # '20'
Num_Pal = Num_Pal + U&Decena+' Y '+U&Unidad
ELSE
Num_Pal = Num_Pal + 'VENTI'+U&Unidad
ENDIF
*Caso 3: Si no hay decenas.
CASE T < 10
Num_Pal = Num_Pal + U&Unidad
ENDCASE

ENDIF (T > 0)

*--- A¤adir la palabra "Mil" si es necesario.
IF Numero > 999.99 .AND. Contador = 1
Num_Pal = Num_Pal + ' MIL '
ENDIF (si necesita "mil")

*--- En Caso de expresi¢n 'UNO MIL ', dejar solo 'MIL'
IF Num_Pal = ' UNO MIL '
Num_Pal = ' MIL '
ENDIF

*--- Seguir con las centenas.
Inicio = 4
Contador = Contador +1

ENDDO (mientras contador < 3)

*------ Cent‚simas.
IF INT(Numero) > 0
Num_Pal = Num_Pal + " CON "
ENDIF

Num_Pal = Num_Pal + SUBSTR(Cadena,8,2)+" CENTIMOS"

*------ Fin del Programa.
RETURN

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por Lucy (10 intervenciones) el 08/04/2012 05:29:25
amigo me podrias ayudar a mi porfavor con estos speudocodigos

me podrían ayudar ha hacer estos pseudocodigo por favor
solo el pseudocodigo

en una universidad se conoce el numero de alumnos que ingresaron en sus 3 años. Haga un diagrama de flujo que proporcione la siguiente informacion:

1) Total de alumnos por año que ingresaron a la universidad
2) Porcentaje de alumnos ingresados en el año X de la carrera Y.
3)En que año y en que carrera se dio el menor ingreso de alumnos
4)Año en el cual la Carrera T tuvo el mayor ingreso de alumnos


y este ultimo

En una granja llevan el registro de los kilogramos producidos y entregados mensualmente al mercado de la ciudad. Esta consiste de tomates, cebolla, lechuga, zanahoria y papas Haga un diagrama de flujo que calcule lo siguiente

1. cual es le producto que mas kilogramos rindio al final del año
2. cual es la produccion total de cada producto y cual fue el dinero que estos productos produjeron
3. cual es el producto que mas dinero prudujo al final de año
4. que importe mensual le pagaron a esta familia de granjeros, por sus productos entregados al mercado


perdón por molestar tanto

cualquier ayuda se la agradeciera de todo corazón

aunque sea solo pseudocodigo

les estaria eternamente agradecida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por Lucy (10 intervenciones) el 08/04/2012 05:31:39
amigo me podrias ayudar a mi porfavor con estos speudocodigos

me podrían ayudar ha hacer estos pseudocodigo por favor
solo el pseudocodigo

en una universidad se conoce el numero de alumnos que ingresaron en sus 3 años. Haga un diagrama de flujo que proporcione la siguiente informacion:

1) Total de alumnos por año que ingresaron a la universidad
2) Porcentaje de alumnos ingresados en el año X de la carrera Y.
3)En que año y en que carrera se dio el menor ingreso de alumnos
4)Año en el cual la Carrera T tuvo el mayor ingreso de alumnos


y este ultimo

En una granja llevan el registro de los kilogramos producidos y entregados mensualmente al mercado de la ciudad. Esta consiste de tomates, cebolla, lechuga, zanahoria y papas Haga un diagrama de flujo que calcule lo siguiente

1. cual es le producto que mas kilogramos rindio al final del año
2. cual es la produccion total de cada producto y cual fue el dinero que estos productos produjeron
3. cual es el producto que mas dinero prudujo al final de año
4. que importe mensual le pagaron a esta familia de granjeros, por sus productos entregados al mercado


perdón por molestar tanto

cualquier ayuda se la agradeciera de todo corazón

aunque sea solo pseudocodigo

les estaria eternamente agradecida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pseudocodigo dificil

Publicado por Ronald (1 intervención) el 14/04/2012 02:34:59
Con respecto al de la granja, al parecer le faltan datos, el inciso a, solamente es pedir la cantidad de kilogramos entregados mensualmente de cada producto y sumarlos por individual ej:

cont=1
hacer mientras cont<=cont
escribir o imprimir "digite los kilogramos de cebolla en el mes ", cont
leer cantidadanualcebollas
kgcebollas=kgcebollas+cantidadanualcebollas
cont=cont+1
fin hacer mientras

esto te daría el total de kilogramos anuales de cebollas. pero con respecto al inciso 2,3 en ningún momento te dan el precio de cada producto, así que no puedes sacar ganancias a menos que los pidas estos montos y lo mismo pasa con el inciso 4 no te dan el dato del importe mensual de la familia. saludos y espero te sirva la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar