ESERCIZIO 1 (IF) |
Costruire una breve applicazione che partendo da 5 numeri A, B, C, D, E (digitati in un form) calcola il valore minimo
Numeri:
A
B
C
D
E |
<form name=dati action=eser1.php/asp method=POST> <input type=text name=A size=2 maxlength=2> A <input type=text name=B size=2 maxlength=2> B <input type=text name=C size=2 maxlength=2> C <input type=text name=D size=2 maxlength=2> D <input type=text name=E size=2 maxlength=2> E<br> <input type=submit value="Calcola il minimo tra A, B, C, D ed E"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php $a=$_POST["A"]; $b=$_POST["B"]; $c=$_POST["C"]; $d=$_POST["D"]; $e=$_POST["E"]; // Algoritmo $Minimo=$a; if ($Minimo>$b) $Minimo=$b; if ($Minimo>$c) $Minimo=$c; if ($Minimo>$d) $Minimo=$d; if ($Minimo>$e) $Minimo=$e; // Output echo "<H1>il minimo è: $Minimo</H1>" ?> Una soluzione che gestisce l'assenza di alcuni valori potrebbe essere:
<?php |
ESERCIZIO 2 (IF) |
Costruire una breve applicazione che partendo da 5 numeri A, B, C, D, E (digitati in un form) determina se il valore in A risulta compreso in uno degli intervalli [B,C] oppure [D,E] ?
Numeri:
A
B
C
D
E |
<form name=dati
action=eser2.php/asp method=POST> <input type=text name=A size=3 maxlength=3> A <input type=text name=B size=3 maxlength=3> B <input type=text name=C size=3 maxlength=3> C <input type=text name=D size=3 maxlength=3> D <input type=text name=E size=3 maxlength=3> E<br> <input type=submit value="A è in [B,C] oppure [D,E] ?"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php // Input $Corretto=is_numeric($_POST["A"]); $Corretto=$Corretto && is_numeric($_POST["B"]); $Corretto=$Corretto && is_numeric($_POST["C"]); $Corretto=$Corretto && is_numeric($_POST["D"]); $Corretto=$Corretto && is_numeric($_POST["E"]); if ($Corretto) { $a=$_POST["A"]; $b=$_POST["B"]; $c=$_POST["C"]; $d=$_POST["D"]; $e=$_POST["E"]; } else die("<H1>I dati non sono tutti numerici"); // Algoritmo $Dentro=( ($a<=$c) && ($a>=$b) ); $Dentro=$Dentro || ( ($a<=$e) && ($a>=$d) ); $s=($Dentro ? '':'non'); // Output echo "<H1>Il valore $a $s appartiene a [$b,$c] o [$d,$e]</H1>" ?> |
ESERCIZIO 3 (IF) |
Costruire una breve applicazione che riceve da un form due valori A e B e stabilisce se A è un multiplo di B
Numeri:
A
B
|
<form name=dati
action=eser3.php method=GET> <input type=text name=A size=3 maxlength=3> A <input type=text name=B size=3 maxlength=3> B<br> <input type=submit value="A è multiplo di B ?"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php // Input $Corretto=is_numeric($_GET["A"]); $Corretto=$Corretto && is_numeric($_GET["B"]); if ($Corretto) { $a=$_GET["A"]; $b=$_GET["B"]; } else die("<H1>I dati non sono tutti numerici</H1>"); // Algoritmo $Risposta=(($a % $b)==0) ? 'è' : 'non è'; // Output echo "<H1>Il valore $a $Risposta multiplo di $b</H1>" ?> |
ESERCIZIO 4 (IF) |
Costruire una breve applicazione che legge da un form 5 valori A, B, C, D, E e li visualizzi ordinati in modo crescente
Numeri:
A
B
C
D
E |
<form name=dati action=eser4.php/asp method=POST> <input type=text name=A size=2 maxlength=2> A <input type=text name=B size=2 maxlength=2> B <input type=text name=C size=2 maxlength=2> C <input type=text name=D size=2 maxlength=2> D <input type=text name=E size=2 maxlength=2> E<br> <input type=submit value="Ordina A,B,C,D,E in modo crescente ?"></form> |
ESERCIZIO 5 (IF) |
Costruire una breve applicazione che legge da un form un carattere A e stabilisce se si tratta di un numero, una lettera maiuscola, una lettera minuscola o altro.
Carattere:
A |
<form name=dati action=eser5.php/asp method=POST> <input type=text name=A size=1 maxlength=1> A<br> <input type=submit value="A è una lettera minuscola/maiuscola/numerica/altro ?"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php // Input $lettera=$_POST["A"]; // Output if ($lettera=="") echo "Non hai scritto alcuna lettera!"; elseif ($lettera<="Z" && $lettera>="A") echo "<B><I>$lettera</B></I> è una lettera maiuscola!"; elseif ($lettera<="z" && $lettera>="a") echo "<B><I>$lettera</B></I> è una lettera minuscola!"; elseif ($lettera<="9" && $lettera>="0") echo "<B><I>$lettera</B></I> è un numero!"; else echo "$lettera non è minuscola, ne maiuscola ne un numero!"; ?> |
ESERCIZIO 6 (IF) |
Costruire una breve applicazione che legge da un form 3 numeri interi A, B e C e determina se A è un multiplo sia di B che di C
Numeri:
A
B
C |
<form name=dati action=eser6.php/asp method=POST> <input type=text name=A size=4 maxlength=4> A <input type=text name=B size=2 maxlength=2> B <input type=text name=C size=2 maxlength=2> C<br> <input type=submit value="A è multiplo di B ed anche di C ?"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php // Input $Corretto=MS_IsInt($_POST["A"]); $Corretto=$Corretto && MS_IsInt($_POST["B"]); $Corretto=$Corretto && MS_IsInt($_POST["C"]); if ($Corretto) { $a=$_POST["A"]; $b=$_POST["B"]; $c=$_POST["C"]; } else die("<H1>I dati non sono tutti numeri interi</H1>"); // Output if ( ($a % $b ==0) && ($a % $c ==0) ) echo "$a è multiplo sia di $b che di $b"; elseif ($b % $a ==0) echo "$a è multiplo di $b"; elseif ($c % $a ==0) echo "$a è multiplo di $c"; else echo "$a non è multiplo di $b e $c"; function MS_IsInt($x) { return ( is_numeric($x ) ? intval(0+$x )==$x : false ); } ?> |
ESERCIZIO 7 (IF) |
Costruire una breve applicazione che riceve da un form 2 date A e B, controlla la correttezza delle stesse e calcola, se possibile, il numero di giorni che intercorrono tra A e B
Date:
A
B |
<form name=dati action=eser7.asp method=post> <input type=text name=A size=10 maxlength=10> A <input type=text name=B size=10 maxlength=10> B<br> <input type=submit value="Quanti giorni intercorrono tra A e B ?"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php // Input - Inizializzazione $Corretto=MS_Is_ItalianDate($_POST["A"]); $Corretto=$Corretto && MS_Is_ItalianDate($_POST["B"]); if ($Corretto) { $a=$_POST["A"]; $b=$_POST["B"]; } else die("<H1>I dati devono essere delle date</H1>"); // Output echo "<H1>La differenza è di " . MS_DateDiff($a,$b) . " giorni</H1>"; // Funzioni di supporto function MS_Is_ItalianDate($date) { if (!isset($date) || $date=="") return false; list($dd,$mm,$yy)=explode("/",$date); if ($dd!="" && $mm!="" && $yy!="") return checkdate($mm,$dd,$yy); return false; } function MS_DateDiff($data1,$data2) { // trasformo la 1° data nel suo timestamp // ovvero il nr. di secondi dal 1/1/1970 list($dd,$mm,$yy)=explode("/",$data1); $d1= mktime(0, 0, 0, $mm-1, $dd, $yy); // trasformo la 2° data nel suo timestamp list($dd,$mm,$yy)=explode("/",$data2); $d2= mktime(0, 0, 0, $mm-1, $dd, $yy); if ($d1<$d2 ) return ($d2-$d1)/(24*60*60); else return ($d1-$d2)/(24*60*60); } ?> |
ESERCIZIO 8 (IF) |
Costruire una breve applicazione che dato un punto (A,B) valuta se appartiene alla circonferenza con centro (Cx,Cy) e raggio R
Numeri:
A
B
Cx
Cy
R |
<form name=dati action=eser8.asp method=post> <input type=text name=A size=3 maxlength=3> A <input type=text name=B size=3 maxlength=3> B <input type=text name=Cx size=3 maxlength=3> C<sub>x</sub> <input type=text name=Cy size=3 maxlength=3> C<sub>y</sub> <input type=text name=R size=3 maxlength=3> R<br> <input type=submit value="(A,B) è nel cerchio con centro Cx,Cy e raggio R ?"></form> |
ESERCIZIO 9 (IF) |
Costruire una breve applicazione che calcoli le due radici X1 e X2 di un polinomio di 2° grado (Ax2+Bx+C=0) i cui coefficienti A,B ed C sono inseriti in un form. La soluzione dovrà gestire le radici presenti nel campo reale (ovvero con (B2-4AC)>=0) e il caso A=0.
Coefficienti :
A
B
C |
<form name=dati action=eser9.asp method=post> <input type=text name=A size=2 maxlength=2> A <input type=text name=B size=2 maxlength=2> B <input type=text name=C size=2 maxlength=2> C <br> <input type=submit value="Calcola le due radici di Ax^2+Bx+c=0"></form> |
ESERCIZIO 10 (IF) |
Costruire una breve applicazione che dato un carattere A e una stringa S determini se A è presente nella stringa S
Lettera:
A |
<form name=dati action=eser10.asp method=post> <input type=text name=A size=1 maxlength=1> A <br> <input type=text name=S size=30 maxlength=30> S<br> <input type=submit value="Indicare se A è presente nella stringa S"></form> |
ESERCIZIO 11 (IF) |
Costruire una breve applicazione che visualizzi una delle seguenti frasi:
a) "Sei Maggiorenne" ==> se l'età è maggiore o uguale a 18 anni
b) "Non Sei Maggiorenne" ==> se l'età è compresa tra 14 e 18 anni
c) "Sei Minorenne" ==> se l'età è minore o uguale a 14 anni
a seconda dell'età A inserita nel form:
Età:
A |
<form name=dati action=eser11.asp method=post> <input type=text name=A size=3 maxlength=3> A <br> <input type=submit value="Specifica se è minorenne, maggiorenne o altro ?"></form> |
ESERCIZIO 12 (IF) |
Costruire una breve applicazione che a seconda dell'operatore scelto calcoli la somma (+), differenza (-), moltiplica (*), divisione (/), resto (%) tra i numeri A e B:
operazione:
A
B |
<form name=dati action=eser6.asp method=POST> <select name=Operatore><option>+<option>-<option>*<option>/<option>%</select> <input type=text name=A size=3 maxlength=3> A <input type=text name=B size=3 maxlength=3> B <BR> <input type=submit value="Esegui l'operazione indicata tra A e B"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php $Corretto=is_numeric($_POST["A"]); $Corretto=$Corretto && is_numeric($_POST["B"]); if ($Corretto) { $a=$_POST["A"]; $b=$_POST["B"]; $Operatore=$_POST["Operatore"]; } else die("<H1>I dati non sono tutti numerici"); $old_error_handler = set_error_handler("error_function"); $risultato=eval("return ($a $Operatore $b);"); // in alternativa: //eval("\$risultato=($a $Operatore $b);"); echo $risultato; function error_function($errno, $errstr, $errfile, $errline, $errcontext) { echo "Non mi è possibile effettuare il calcolo!"; } ?> |
ESERCIZIO 13 (IF) |
Costruire una breve applicazione che a descriva il risultato
finale dello scrutinio per lo studente indicato. Nella stesura della soluzione
si osservi che la risposta prodotta dovrà tener conto:
1) del sesso (pertanto si dovrà visualizzare la parola promosso/promossa a
seconda)
2) del fatto che uno studente con 3 debiti è bocciato
3) che uno studente senza debiti è promosso
Alcuni esempi di output potrebbero essere:
Rossi Maria è
stata promossa - Verdi Paolo è stato promosso con un debito in ITA
- Gialli Giacomo è stato bocciato - Neri Chiara è stata promossa con debito in
ITA ed INFO
Nominativo: |
<form name=dati action=eser13.php/asp method=POST> Nominativo: <input type=text name=NOMINATIVO size=30 maxlength=30> <BR> Debiti:<INPUT TYPE=checkbox NAME=ITA VALUE=YES>ITA <INPUT TYPE=checkbox NAME=MATE VALUE=YES>MATE <INPUT TYPE=checkbox NAME=FILO VALUE=YES>FILO <INPUT TYPE=checkbox NAME=INFO VALUE=YES>INFO<BR> <input type=radio name=Sesso Value=M CHECKED> Maschio <input type=radio name=Sesso Value=F> Femmina<BR> <input type=submit value="Esito scrutinio"></form> |
![]() |
Soluzione PHP | Soluzione ASP |
---|---|---|
<?php if (trim($_POST["NOMINATIVO"])=="") die("<H1>Scrivi il nome dello studente modello</H1>"); else $Nominativo=$_POST["NOMINATIVO"]; $Sesso=$_POST["Sesso"]; $f=( ($Sesso=="M") ? "o" : "a"); $testo=""; $nr=0; if($_POST["ITA"]=="YES") { $nr++; $testo="Italiano"; } if($_POST["INFO"]=="YES") { $nr++; $testo=$testo . ($testo=="" ? "" : ", ") . "Informatica"; } if($_POST["FILO"]=="YES") { $nr++; $testo=$testo . ($testo=="" ? "" : ", ") . "Filosofia"; } if($_POST["MATE"]=="YES") { $nr++; $testo=$testo . ($testo=="" ? "" : ", ") . "Matematica"; } if ($testo=="") $testo="stat$f promoss$f"; else $testo="stat$f promoss$f con debit" . ( ($nr>1) ? "i" : "o") . " in " . $testo; if ($nr>2) echo "$Nominativo è stat$f bocciat$f"; else echo "$Nominativo è $testo"; ?> |
ESERCIZIO 14 (IF) |
Costruire una breve applicazione che calcoli l'interesse maturato per un capitale C tenendo presente che il tasso varia a seconda del capitale come indicato nella tabella sottostante:
Capitale<=-1000.00 € allora interessi passivi al 20.00%
Capitale >-1000.00 € e <0.00 € allora interessi passivi al 15.00%
Capitale >= 0.00 € e < 1000.00 € allora interessi attivi al 3.25%
Capitale >= 1000.00 € e < 5000.00 € allora interessi attivi al 5.25%
Capitale >= 5000.00 € allora interessi attivi al 8.75%
Capitale:
C |
<form name=dati action=eser14.asp method=post> Capitale: <input type=text name=C size=8 maxlength=8> C <br> <input type=submit value="Calcola l'interesse ?"></form> |