Pascal/Turbo Pascal - Algoritmo para determinar la vigencia de un certificado de salud.

 
Vista:
sin imagen de perfil
Val: 31
Ha disminuido 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Algoritmo para determinar la vigencia de un certificado de salud.

Publicado por Roberto (19 intervenciones) el 08/01/2016 23:08:47
Saludos, he hecho un algoritmo para determinar la vigencia de un certificado de salud, tomando en cuenta que dura 1 año. Este algoritmo será adaptado a un programa que debo hacer . Si alguien tiene un mejor solucion para esto, si puede, publiquela.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{Algoritmo para determinar la vigencia del certificado de salud}
{El certificado de salud dura un año}
{Elaborado por El Varón}
 
Program Fecha_certificado_de_salud;
Uses Crt,dos;
 
 
Var
   a, m, d, ds : word; {Variables empleadas para obtener la fecha actual}
   a1,m1,d1: integer;  {variables empleadas para el certificado de salus}
 
 
begin
 clrscr;
 getdate(a,m,d,ds);    {getdate,  traducido literalmente como "obtener fecha"}
 writeln('FECHA DE HOY = ',d,'/',m,'/',a);
 writeln;
 writeln;
 writeln('Ingrese la fecha de expedición del certificado de salud');
 writeln;
 write('escriba dia   dd: ');
   repeat
     read(d1) until d1 in [1..31];
 
 write('escriba mes   mm: ');
 
   repeat
     read(m1) until m1 in [1..12];
 write('escriba año aaaa: ');
   repeat
     read(a1) until (a1>1960) and (a1<2060);
 writeln;
 writeln('FECHA CERTIFICADO DE SALUD = ',d1,'/',m1,'/',a1);
 writeln;
 
{El siguiente método no es muy preciso, pero fácil y efectivo para este problema.}
 
if (((d)+(m*30)+(360*a)) - ((d1) + (30*m1) +(360*a1))) >= 360   then
 write('Observación: VENCIDO')
   else
   write('Observación: VIGENTE');
 readkey;
end.
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
sin imagen de perfil

Algoritmo para determinar la vigencia de un certificado de salud.

Publicado por crack81 (58 intervenciones) el 09/01/2016 04:48:58
Hola te dejo mi version basadas en algunas librerias ya existentes en freepascal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Classes,sysutils,dateutils;
 
var
  fechaActual,fechaExpedicion:TDate;
  fechaValida:Boolean;
  fecha:string;
begin
 
  fechaValida:=false;
  fecha:='';
  fechaActual:=Date;
 
  WriteLn('Fecha actual ',DateToStr(fechaActual));
  WriteLn;
 
  repeat
    WriteLn('Ingrese la fecha de expedicion del certificado de saludo  DD-MM-AA');
    ReadLn(fecha);
    fechaValida:=TryStrToDate(fecha,fechaExpedicion);
  until fechaValida=true ;
 
  WriteLn('Fecha de certificado de salud es ',DateToStr(fechaExpedicion));
 
  if DaysBetween(fechaActual,fechaExpedicion)>365 then WriteLn('Observacion vencido ')
  else WriteLn('Observacion vigente ');
 
  ReadLn;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 31
Ha disminuido 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Algoritmo para determinar la vigencia de un certificado de salud.

Publicado por Roberto (19 intervenciones) el 09/01/2016 06:31:05
Muy buena. Gracias
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