Saltar al contenido
EnglishEspacio →

Convierte pseudocódigo a Java

Codoritmo traduce tu algoritmo a una clase de Java con su método main: deduce los tipos (int, double, boolean, String), convierte tus funciones en métodos static y agrega lo necesario para leer datos del teclado.

Abrir este ejemplo y ver su Java

Abre el programa en Codoritmo; elige Java en Ver › Traducir a.

El mismo algoritmo en pseudocódigo y en Java

El ejemplo «Promedio de notas», con un arreglo y un ciclo Para, y el Java que genera Codoritmo para él, sin retoques.

Pseudocódigo

PromedioNotas.psc · 21 líneas
Proceso PromedioNotas    Definir notas Como Real    Dimension notas[5]    Definir suma, promedio, maximo Como Real    Definir i Como Entero    suma <- 0.0    maximo <- 0.0    // Llenar el arreglo    Para i <- 1 Hasta 5 Hacer        Escribir "Ingrese nota ", i, ": "        Leer notas[i]        suma <- suma + notas[i]        // Encontrar la nota máxima        Si notas[i] > maximo Entonces            maximo <- notas[i]        FinSi    FinPara    promedio <- suma / 5    Escribir "Promedio: ", promedio    Escribir "Nota más alta: ", maximoFinProceso

Java generado por Codoritmo

PromedioNotas.java · 59 líneas
// Este código fue generado por Codoritmo a partir del pseudocódigo.// Puede que no sea completamente correcto: revíselo antes de usarlo.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigDecimal;import java.math.RoundingMode;class Promedionotas {    static BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));    public static void main(String[] args) {        int i = 0;        double maximo = 0.0;        double promedio = 0.0;        double suma = 0.0;        double[] notas = new double[5];        suma = 0;        maximo = 0;        for (i = 1; i <= 5; i++) {            System.out.println("Ingrese nota " + i + ": ");            notas[i - 1] = leerReal();            suma = suma + notas[i - 1];            if (notas[i - 1] > maximo) {                maximo = notas[i - 1];            }        }        promedio = suma / 5;        System.out.println("Promedio: " + texto(promedio));        System.out.println("Nota más alta: " + texto(maximo));    }    // Lee una línea de la entrada.    static String leer() {        try {            String linea = entrada.readLine();            return linea == null ? "" : linea;        } catch (IOException e) {            return "";        }    }    static double leerReal() {        return Double.parseDouble(leer().trim());    }    // Escribe un número como PSeInt: redondeado a 10 decimales, sin ceros    // finales y sin notación exponencial.    static String texto(double valor) {        if (Double.isNaN(valor) || Double.isInfinite(valor)) return String.valueOf(valor);        return new BigDecimal(valor).setScale(10, RoundingMode.HALF_UP).stripTrailingZeros().toPlainString();    }    static String texto(boolean valor) {        return valor ? "VERDADERO" : "FALSO";    }}

El código es exactamente el que genera Codoritmo para este programa, incluido el comentario del inicio, que siempre sale en español.

Cómo traducir tu pseudocódigo a Java

  1. Escribe o abre tu algoritmo

    Tiene que estar sin errores de sintaxis; el panel Problemas te muestra cuáles hay.

  2. Elige Java

    En Ver › Traducir a, elige Java. La pestaña de código del panel lateral muestra la traducción.

  3. Compara y copia

    La traducción cambia mientras escribes. Cópiala o descárgala como .java con Archivo › Exportar como.

  4. Ejecútala

    Guárdala con el nombre de la clase, por ejemplo Promedionotas.java, y ejecútala con java Promedionotas.java (Java 11 o posterior).

Abrir este ejemplo y ver su Java

Abre el programa en Codoritmo; elige Java en Ver › Traducir a.

Lo que cambia al pasar a Java

La clase toma el nombre de tu algoritmo: Algoritmo PromedioNotas se convierte en class Promedionotas.

Para leer datos, el código agrega métodos pequeños (leerEntero, leerReal…) que leen una línea del teclado y la convierten al tipo de la variable.

Los arreglos se crean con new y su tamaño puede ser una variable, así que Dimension datos[n] se traduce directo. Como en C, los índices empiezan en 0 y datos[i] pasa a ser datos[i - 1] cuando tu perfil usa arreglos desde 1.

Los reales se escriben como en PSeInt, redondeados a 10 decimales, con un método de ayuda llamado texto.

Cómo se traduce cada instrucción

Cada fila es una instrucción de PSeInt traducida por Codoritmo dentro de un programa con n y i enteros, x real, nombre de texto y un arreglo datos[5]. El resultado se genera al construir esta página.

InstrucciónPSeIntJava
Escribir
Escribir "Hola, ", nombre
System.out.println("Hola, " + nombre);
Escribir sin salto de línea
Escribir Sin Saltar "Total: "
System.out.print("Total: ");
Leer un entero
Leer n
n = leerEntero();
Leer un real
Leer x
x = leerReal();
Número al azar
n <- Aleatorio(1, 6)
n = 1 + (int) (Math.random() * (6 - 1 + 1));
Si … SiNo
Si n MOD 2 = 0 Entonces
    Escribir "par"
SiNo
    Escribir "impar"
FinSi
if (n % 2 == 0) {
    System.out.println("par");
} else {
    System.out.println("impar");
}
Segun
Segun n Hacer
    1: Escribir "uno"
    De Otro Modo: Escribir "otro"
FinSegun
switch (n) {
    case 1:
        System.out.println("uno");
        break;
    default:
        System.out.println("otro");
}
Mientras
Mientras n > 0 Hacer
    n <- n - 1
FinMientras
while (n > 0) {
    n = n - 1;
}
Repetir … Hasta Que
Repetir
    Leer n
Hasta Que n > 0
do {
    n = leerEntero();
} while (n <= 0);
Para
Para i <- 1 Hasta 10 Hacer
    Escribir i
FinPara
for (i = 1; i <= 10; i++) {
    System.out.println(i);
}
Elemento de un arreglo
datos[1] <- n
datos[0] = n;

Codoritmo y PSeInt de escritorio

PSeInt de escritorio también exporta a Java. Estas son las diferencias.

Lo que suma Codoritmo

  • Ves la traducción al lado del pseudocódigo y cambia mientras escribes.
  • Exporta también a C#, PHP, Pascal, Visual Basic, QBasic, MatLab y HTML, como PSeInt.
  • La traducción respeta el perfil elegido, por ejemplo arreglos desde 0 o desde 1.

Lo que PSeInt de escritorio hace y Codoritmo todavía no

  • Su exportación tiene muchos años de uso en aulas; la de Codoritmo es más reciente, así que revisa el código antes de entregarlo.

Codoritmo es un proyecto independiente, inspirado en PSeInt y compatible con su sintaxis y sus perfiles de instituciones. No es PSeInt ni está afiliado a él. Sitio oficial de PSeInt

Preguntas frecuentes

¿Qué versión de Java necesito?

El código compila con Java 8 o posterior. Para ejecutarlo directamente con java Archivo.java, sin compilar antes, necesitas Java 11 o posterior.

¿Por qué no usa Scanner?

Usa BufferedReader, que lee una línea completa cada vez, como Leer en PSeInt. Así cada respuesta que escribes corresponde a un Leer.

¿El código sigue el estilo de Java?

Está escrito para parecerse a tu pseudocódigo, no para seguir todas las convenciones de Java: por ejemplo, declara todas las variables al principio de main. Es un buen punto de partida para reescribirlo a tu manera.

Programas resueltos, cada uno con su código, su diagrama y una ejecución de muestra.

Por concepto:Ejemplos de Entrada y salidaEjemplos de Arreglos

Sigue aprendiendo