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.
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.