09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12.3. Matrices 267<br />

function Mannana(hoy: tDiasSemana): tDiasSemana;<br />

{Dev. el día de la semana que sigue a hoy}<br />

begin<br />

if hoy = dom th<strong>en</strong><br />

Mannana:= lun {se evita Succ(dom) ❀ error}<br />

else<br />

Mannana:= Succ(hoy)<br />

<strong>en</strong>d; {Mannana}<br />

function EsBisiesto(anno: tAnnos): boolean;<br />

{Efecto: Averigua si un a~no es bisiesto o no}<br />

begin<br />

EsBisiesto:= ((anno mod 4 = 0) and (anno mod 100 0))<br />

or (anno mod 400 = 0)<br />

<strong>en</strong>d; {EsBisiesto}<br />

function CuantosDias(unmes: tMeses, anno: tAnnos): tDiasMes;<br />

{Dev. el numero de días del mes unmes del a~no anno}<br />

begin<br />

case unmes of<br />

abr,jun,sep,nov :<br />

CuantosDias:= 30;<br />

feb :<br />

if EsBisiesto(anno) th<strong>en</strong><br />

CuantosDias:= 29<br />

else<br />

CuantosDias:= 28;<br />

<strong>en</strong>e,mar,may,jul,ago,oct,dic :<br />

CuantosDias:= 31<br />

<strong>en</strong>d {case}<br />

<strong>en</strong>d; {CuantosDias}<br />

begin {AlmanaqueSigloXX}<br />

{Crea un almanaque del siglo XX}<br />

ayer:= lun; {El dia 31 de diciembre de 1900 fue lunes}<br />

for contAnnos:= 1901 to 2000 do<br />

for mes:= <strong>en</strong>e to dic do begin<br />

dıas:= CuantosDias (mes, contAnnos);<br />

{número de días del mes actual}<br />

for contaDias:= 1 to dias do begin<br />

almanaque[contaDias, mes, contAnnos]:= Mannana(ayer);<br />

ayer:= almanaque[contaDias,mes,contAnnos]<br />

<strong>en</strong>d {for contaDias}<br />

<strong>en</strong>d {for mes}<br />

<strong>en</strong>d {for contAnnos}<br />

<strong>en</strong>d. {AlmanaqueSigloXX}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!