Programación General > ADA

 Probrema En Un Procedimiento

(1/1)

eb8cxw:
Hola a tod@s:

Soy nuevo en la lista, estudio Ingeneria Técnica en informática de gestión, tengo que realizar una páctica, pero me da problemas en el siguiente procedimiento:

--- Código: Text --- -- Procedimiento Fechar que inicializa una fecha en el primer   -- parámetro, usando el segundo parámetro como día, el tercero como     -- mes y el cuarto como año. Si los parámetros diesen lugar a una   -- fecha incorrecta, se lanzará la excepción Fecha_Incorrecta.      procedure Fechar(F: out Fecha; Di, Me, An: in Positive) is      begin          if ((Me = 4) or (Me = 6) or (Me = 9) or (Me = 11)) and (Di >30) then                         raise Fecha_Incorrecta&#59;  --lanza una excepción    end if&#59;     if (Me = 2) and (Di > 29)then       raise Fecha_Incorrecta&#59;  --lanza una excepción    end if&#59;     if (Me = 2) and (Di = 29)then      if (An rem 4 = 0) then        if ((An rem 100 = 0) and (An rem 400 /= 0)) then           raise Fecha_Incorrecta&#59;  --lanza una excepción        end if;      end if&#59;      if (An rem 4 /= 0) then        raise Fecha_Incorrecta&#59;  --lanza una excepción      end if;        end if;                  f.D:= Di;                  F.M:= Me&#59;                  F.A:= An&#59;   end Fechar&#59;  En el fichero ads tengo la siguiente especificación:

--- Código: Text --- private  -- -- Estructura de representación del tad fechas  type Fecha is record    D: Positive range 1..31&#59;    M: Positive range 1..12&#59;    A: Positive range 1..9999;  end record;end Fechas;  
El procedimiento lo que hace es inicializar la fecha, comprueba que no hay error en la fecha es decir que los meses que solo tienen 30 dias no se ponga 31,
que el mes de febrero no tengan más de 28 días, salvo que sea bisiesto que entonces no puede tener más de 29 dias,
Bueno el problema es que al mandarlo a la universidad vía internet, hay un programa que copila y te poner la nota y te indica los erroes que tienes, en mi caso me pone que en este procedimiento Falla, lanza una excepción inesperada.
Espero haberme explicado, os agradeceria una ayuda al respecto, yo no veo donde puede estar el error. Gracias de antemano

Un cordial saludo
           José Manuel
         Gran Canaria/España

gandalfelgris:
Hola Jose Manuel

No se lo que te pasará con tu codigo, pero yo he cogido tu codigo, le he añadido un par de cosas y funciona correctamente. Te adjunto a este mensaje y a los sucesivos dos los ficheros tal y como a mi me funcionan

Si otro particular Atentamente

Aitor

1º Declaracion del paquete.

gandalfelgris:
2º Cuerpo del paquete

Aitor

gandalfelgris:
3º Procedimiento principal
Aitor

eb8cxw:
Aitor, perdona aunque tarde te doy las gracias , por la ayuda, ya entregue la práctica y la aprobe.

Ahora estoy con la segunda de Lista secuenciales, en otra disculsión tengo puesto los dos ficheros .ads y .adb, pues me da errores, la verdad que me esta constando y he estado buscando y pregunte en este foro por tutorias, pero no he encontrado.

Un cordial saludo
         José Manuel
          Gran Canaria

Navegación

[0] Índice de Mensajes

Ir a la versión completa