Pagine

8 giu 2011

Benvenuti nel mio blog scolastico! Qua potrete trovare tanti esempi di esercizi in PhP..

Calcolo del giorno della Pasqua

pasqua_1.php
<html>
<head><title>Calcolo dei giorni della Pasqua</title>
</head>
<body>
<center>
<h2>Digitare gli anni per il calcolo dei giorni della Pasqua</h2>
<form action="pasqua_2.php" method="POST">
1<sup>o</sup>anno: <input name="anno1"><br>
2<sup>o</sup>anno: <input name="anno2"><p>
<input type="submit" value="Calcola">
<input type="reset" value="Pulisci">
</form>
</center>
</body>
</html>

pasqua_2.php
<html>
<head><title>Calcolo dei giorni della Pasqua</title>
</head>
<body>
<?php
//Inizializzazione delle variabili
$anno1=$_POST['anno1']; $anno2=$_POST['anno2'];
//Controllo che $anno1 e che $anno2 siano interi e <= di 8202 e >= 1583
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;
}
//Intestazio 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>";
//Ciclo di iterazione 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; 
//Calcolo di $D
if ($d==29)$D=28;
else if ($d==28 and $A%17>=11)$D=27;
else $D=$d;
//Calcolo $e
$e= (2*($A%4)+4*($A%7)+6*$D+(6+floor($A/100)-floor($A/400)-2)%7)%7;
//Calcolo del giorno della Pasqua
$pasqua=21+$e+$D+1;
$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!!";
?>
</body>
</html>