informaticaPC

Teoría de la programación

Ejemplos de algoritmos en pseudocódigo (VI)

Programa que usando un Procedimiento, muestra el nombre del mes que corresponde a un número

Código fuente del programa principal:

ALGORITMO Meses;
VAR
    ENTERO numero;
    CARACTER mes <- "";
INICIO

    ESCRIBIR("Dime un número");
    LEER( numero );

    DevolverMes( numero, mes );

    SI( mes == "" )
        ESCRIBIR("El número introducido no es válido");
    SINO
        ESCRIBIR( "El número [", numero, "] corresponde al mes: ", mes );
    FIN_SI

FIN

Código fuente del Procedimiento:

PROCEDIMIENTO DevolverMes( E ENTERO num, S CARACTER nombre )
INICIO

    SI( (num >= 1) AND (num <= 12) )

        EN_CASO_DE num HACER
            1: nombre <- "Enero";
            2: nombre <- "Febrero";
            3: nombre <- "Marzo";
            4: nombre <- "Abril";
            5: nombre <- "Mayo";
            6: nombre <- "Junio";
            7: nombre <- "Julio";
            8: nombre <- "Agosto";
            9: nombre <- "Septiembre";
            10: nombre <- "Octubre";
            11: nombre <- "Noviembe";
            12: nombre <- "Diciembre";
        FIN CASO

    SINO

        nombre <- "";

    FIN SI

    RETORNAR;

FIN_PROCEDIMIENTO

EXPLICACIÓN: desde el programa principal se llama al Procedimiento DevolverMes(), que tras comprobar si el número es válido carga el nombre del mes correspondiente en la variable 'nombre', o una cadena vacía (indicado con las dos comillas) en caso de no serlo.

Posteriormente desde el programa principal se muestra el nombre del mes, o un mensaje de error en caso de haber recibido una cadena vacía.

Programa que usando una Función, muestra el nombre del mes que corresponde a un número

Código fuente del programa principal:

ALGORITMO Meses;
VAR
    ENTERO numero;
    CARACTER mes <- "";
INICIO

    ESCRIBIR("Dime un número");
    LEER( numero );

    mes <- Devolver_Mes( numero );

    SI( mes == "" )
        ESCRIBIR("El número introducido no es válido");
    SINO
        ESCRIBIR( "El número [", numero, "] corresponde al mes: ", mes );
    FIN_SI

FIN

Código fuente de la Función:

CARACTER FUNCION Devolver_Mes( E ENTERO num )
VAR
	LOCAL CARACTER nombre <- "";
INICIO

    SI( (num >= 1) AND (num <= 12) )

        EN_CASO_DE num HACER
            1: nombre <- "Enero";
            2: nombre <- "Febrero";
            3: nombre <- "Marzo";
            4: nombre <- "Abril";
            5: nombre <- "Mayo";
            6: nombre <- "Junio";
            7: nombre <- "Julio";
            8: nombre <- "Agosto";
            9: nombre <- "Septiembre";
            10: nombre <- "Octubre";
            11: nombre <- "Noviembe";
            12: nombre <- "Diciembre";
        FIN CASO

    FIN SI

        DEVOLVER nombre;

FIN_FUNCION

EXPLICACIÓN: desde el programa principal se llama a la Función Devolver_Mes(), que tras comprobar si el número es válido modificará el valor de la variable 'nombre' (que previamente se ha inicializado con una cadena vacía) con el nombre del mes correspondiente. En caso de que el número no sea válido la variable 'nombre' continuará teniendo el valor de cadena vacía.

Posteriormente desde el programa principal se muestra el nombre del mes, o un mensaje de error en caso de haber recibido una cadena vacía.

Primera página Anterior
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso