Argomenti

mercoledì 1 giugno 2011

calcolo data della pasqua

<html>
<head>
<title>calcolo giorni della pasqua</title>
</head>
<center>
<h2>Digitare gli anni per il calcolo della pasqua</h2>
<form action="pasqua_2.php" method="POST">
1 anno: <input name=anno1><br>
2 anno: <input name=anno2><p>
<input type=submit value=calcola>
<input type=reset value=pulisci>
</form>
</center>
</body>
</html>

<html>
<head>
<title>calcolo giorni della pasqua</title>
</head>
<?php
//inizializzazione delle variabili
$anno1=$_POST['anno1'];
$anno2=$_POST['anno2'];
//controllo che $anno1 e $anno2 siano interi e positivi
if(($anno1-floor($anno1)==0 and $anno2-floor($anno2)==0) and ($anno1>=1583 and $anno2>=1583 and $anno1<=8202 and $anno2<=8202)){
//se $anno1>$anno2 scambio
if($anno1>$anno2){
$transito=$anno1;
$anno1=$anno2;
$anno2=$transito;
}
//intestazione della tabella
echo "<h2><center>Giorni della pasqua da $anno1 a $anno2</center></h2>";
echo "<table border='1' align='center'>
<tr>
<td>giorno</td>
<td>mese</td>
<td>anno</td>
</tr>";
 
 
 
//calcolo con FOR
for($A=$anno1;$A<=$anno2;$A++){
//calcolo di $d
$d=((15+floor($A/100)-floor($A/400)-(8*floor($A/100)+13)/25)%30+19*($A%19))%30;
if($d==29) $D=28;
else if($d==28 and $A%17>=11) $D=27;
else $D=$d;
//calcolo di $e
$e=(2*($A%4)+4*($A%7)+6*$D+(6+floor($A/100)-floor($A/400)-2)%7)%7;
//calcolo del giorno
$pasqua=$e+$D+1+21;
$mese="marzo";
if($pasqua>31){
$mese="aprile";
$pasqua=$pasqua-31;
}

echo "<tr>
<td>$pasqua</td>
<td>$mese</td>
<td>$A</td>
</tr>";

}
echo "</table>";
}
else echo"ERRORE!!!! ridigitare...";
?>

</body>
</html>

Nessun commento:

Posta un commento