Practica PHP 2
Practica PHP 2
Practica PHP 2
TECNOLOGA DE SOFTWARE
PRACTICA II
ESTRUCTURAS SELECTIVAS MLTIPLES (switch)
1. Al ingresar un numero entre 1 y 4 devolver la estacin del ao de acuerdo a la siguiente tabla.
NUMERO
1
2
3
4
ESTACIN
Verano
Otoo
Invierno
Primavera
<?php
//Variables
$n = 0; $e = "";
if(isset($_POST["btnCalcular"])) {
//Entrada
$n = (float)$_POST["txtn"];
//Proceso
switch($n){
case 1:
$e = "VERANO";
break;
case 2:
$e = "OTOO";
break;
case 3:
$e = "INVIERNO";
break;
case 4:
$e = "PRIMAVERA";
break;
}
}
?>
case 1:
$l = "UNO";
break;
case 2:
$l = "DOS";
break;
case 3:
$l = "TRES";
break;
case 4:
$l = "CUATRO";
break;
case 5:
$l = "CINCO";
break;
case 6:
$l = "SEIS";
break;
case 7:
$l = "SIETE";
break;
case 8:
$l = "OCHO";
break;
case 9:
$l = "NUEVE";
break;
}
}
?>
3. Dado dos nmeros enteros y un operador +, -, *, /, devolver la operacin de los dos nmeros segn el
operador ingresado, considere que si el segundo numero es cero y el operador es /, no es divisible con el
primer nmero, entonces devolver como resultado 0 (cero).
<?php
//Variables
$n1 = 0; $n2 = 0; $r = 0; $op = ' ';
if(isset($_POST["btnCalcular"])) {
//Entrada
$op = $_POST["txtop"];
$n1 = (int)$_POST["txtn1"];
$n2 = (int)$_POST["txtn2"];
//Proceso
if($op == '+') {
$r = $n1 + $n2;
}elseif($op == '-') {
$r = $n1 - $n2;
}elseif($op == '*') {
$r = $n1 * $n2;
}elseif($op == '/') {
if($n2 != 0)
$r = $n1 / $n2;
else
2
$r = 0;
}
}
?>
case 9:
$r = $r . "CM";
break;
}
switch ($d){
case 1:
$r = $r . "X";
break;
case 2:
$r = $r . "XX";
break;
case 3:
$r = $r . "XXX";
break;
case 4:
$r = $r . "XL";
break;
case 5:
$r = $r . "L";
break;
case 6:
$r = $r . "LX";
break;
case 7:
$r = $r . "LXX";
break;
case 8:
$r = $r . "LXXX";
break;
case 9:
$r = $r . "XC";
break;
}
switch($u){
case 1:
$r = $r . "I";
break;
case 2:
$r = $r . "II";
break;
case 3:
$r = $r . "III";
break;
case 4:
$r = $r . "IV";
break;
case 5:
$r = $r . "V";
break;
case 6:
$r = $r . "VI";
break;
case 7:
$r = $r . "VII";
break;
case 8:
$r = $r . "VIII";
break;
case 9:
$r = $r . "IX";
break;
}
}
}
?>
7. Dado 2 nmeros diga si son amigos, recuerde que dos nmeros son amigos si la suma de sus divisores de uno
de ellos es igual al otro y viceversa, por ejemplo 220 y 284 son amigos.
<?php
//Variables
$i = 0; $n1 = 0; $n2 = 0; $s1 = 0; $s2 = 0;
$r = "";
if(isset($_POST["btnCalcular"])) {
//Entrada
$n1 = (int)$_POST["txtn1"];
$n2 = (int)$_POST["txtn2"];
//Proceso
$i = 1;
while($i <= $n1 / 2){
if($n1 % $i == 0){
$s1 += $i;
}
$i++;
}
$i = 1;
while($i <= $n2 / 2){
if($n2 % $i == 0){
$s2 += $i;
}
$i++;
}
if($n1 == $s2 && $n2 == $s1)
$r = "SON AMIGOS";
else
$r = "NO SON AMIGOS";
}
?>
8. Dado un nmero entero en base 10, convertir el nmero a otra base menor que 10.
<?php
//Variables
$n = 0; $b = 0; $d = 0; $i = 0; $r = 0; $nn = 0;
if(isset($_POST["btnCalcular"])) {
//Entrada
$n = (int)$_POST["txtn"];
$b = (int)$_POST["txtb"];
//Proceso
$nn = $n;
while($n > 0) {
$d = $n % $b;
$n = (int)($n / $b);
$i = $i * 10 + $d;
}
while($i > 0){
$d = $i % 10;
$i = (int)($i / 10);
6
$r = $r * 10 + $d;
}
$n = $nn;
}
?>
//Entrada
$n = (int)$_POST["txtn"];
//Proceso
for($i = 1; $i <= $n / 2; $i++) {
if($n % $i == 0)
$s += $i;
}
if($n == $s)
$r = "PERFECTO";
else
$r = "NO ES PERFECTO";
}
?>
11. Desarrollar un programa para encontrar los divisores de un nmero entero, o indicar si se trata de un nmero
primo.
<?php
if( isset($_POST["n"]) ) {
$n = $_POST["n"];
$msg = " ";
for( $j = 2; $j < $n; $j++ ) {
if( ($n % $j) == 0 ) { $msg .= "$j "; }
}
if( $msg == " ") { $msg = "Es un nmero primo."; }
echo "N: $n <br>";
echo "Divisores: <br>";
echo "<textarea name='resultado' rows='4' cols='20' readonly='true'>";
echo $msg;
echo "</textarea>";
}
?>
12. Determinar si un nmero es primo, se dice que un nmero es primo si es divisible entre 1 y entre si mismo.
<?php
//Variables
$n = 0; $i = 0;
$flag = false;
$r = "";
if(isset($_POST["btnCalcular"])) {
//Entrada
8
$n = (int)$_POST["txtn"];
//Proceso
$flag = true;
$i = 2;
for($i = 2; $i<=$n/2; $i++){
if($n % $i == 0) {
$flag = false;
break;
}
}
if($flag)
$r = "ES PRIMO";
else
$r = "NO ES PRIMO";
}
?>
13. Determinar cuantos nmeros primos hay en los primeros N nmeros enteros positivos. Por ej. N = 7, hay 4
nmeros primeros 1, 3, 5 y 7.
<?php
//Variables
$n = 0; $c = 0; $i = 0; $j = 0;
$flag = false;
if(isset($_POST["btnCalcular"])) {
//Entrada
$n = (int)$_POST["txtn"];
//Proceso
for($i = 2; $i<=$n; $i++){
$flag = true;
for($j = 2; $j <= $i / 2; $j ++){
if($i % $j == 0) {
$flag = false;
break;
}
}
if($flag) {
$c += 1;
$flag = true;
}
}
}
?>
14. Desarrolle una aplicacin que permita ingresar un intervalo de nmeros y luego muestre los nmeros
comprendidos entre estos dos nmeros y un mensaje que indique si es o no mltiplo de 3.
<body>
<?php
if(!isset($_POST["seguro"])){
?>
<h3><strong>Problema 14</strong></h3>
<form method = "post" action = "problema14.php">
N1: <input name="n1" type="text" size="10" maxlength="10"> <br>
N2: <input name="n2" type="text" size="10" maxlength="10"> <br>
<input type="hidden" name="seguro" value="12345">
<input type="submit" value="Enviar">
</form>
<?php
}
else{
$n1 = $_POST["n1"];
$n2 = $_POST["n2"];
echo "<table border='1' width='200'>";
echo "<tr>";
echo "<th>Nmero</th>";
echo "<th>Mltiplo de 3</th>";
echo "</tr>";
while ($n1 <= $n2){
echo "<tr>";
echo "<td>$n1</td>";
if($n1%3 == 0){ echo "<td>Si</td>"; }
else{ echo "<td>No</td>"; }
echo "</tr>";
$n1++;
}
echo "</table>";
echo "<br><a href='problema14.php'>Nueva Prueba</a>";
}
?>
</body>
//Proceso
$t = $n;
while($t > 0){
$d = $t % 10;
$t = (int)($t / 10);
$i = $i * 10 + $d;
}
if($n == $i)
$r = "ES CAPICUA";
else
$r = "NO ES CAPICUA";
}
?>
11