Problema 4. Obtener el factorial de un número n y mostrar el proceso de obtención en una tabla
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "El número que me diste fue $num. <br> <br> El factorial es<br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Fact(x)</td><td><font color=black>Valor</td><tr>"; for($i=1,$prod=1; $i<=$num;$i++) { echo "<tr><td><font color=black>f($i)</td><td><font color=black><b>f(".($i-1).") * $i"; $prod*=$i; echo "=$prod</b>"; echo "</td><tr>"; } echo "</table>"; echo "<br><br>El factorial de $num es: $prod " ; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 5. Mostrar la tabla de multiplicar de un número en una tabla | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "El número que me diste fue $num. <br> <br> Su tabla de multiplicar es<br><br>"; echo "<table bgcolor=dddddd align=center>"; for($i=1,$prod=$num; $i<=10;$i++, $prod+=$num) { echo "<tr><td align=right><font color=black>$i x </td>"; echo " <td align=center><font color=black>$num = </td>"; echo " <td align=center><font color=black>$prod </td>";} echo "</table>"; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 6. Mostrar n y el resultado de la siguiente suma: 1+2+3+...+n usando ciclos. Así como su proceso de obtención en una tabla (análogo al problema 4). Mostrar el resultado usando también la formula de Gauss | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "El número que me diste fue $num. <br> <br> La sumatoria es<br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Suma(x)</td><td><font color=black>Valor</td><tr>"; echo "S(0)=0<br>"; for($i=1,$prod=0; $i<=$num;$i++) { echo "<tr><td><font color=black>S($i)</td><td><font color=black><b>S(".($i-1).") + $i"; $prod+=$i; echo "=$prod</b>"; echo "</td><tr>"; } echo "</table>"; echo "<br><br>La sumatoria de 1 + 2 + ... + $num = $prod " ; echo "<br><br>Usando la formula de Gauss: ($num)*($num+1)/2=($num*".($num+1).")/2=".($num*($num+1)/2); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 7. Hacer una función que sirva para determinar si un número es o no primo y usarla en el siguiente problema: Pedir dos números m y n y mostrar los números que están entre dichos valores diciendo si el número es o no primo (mostrar la información en una tabla). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function primo($num) { for($i=2, $es=1; $i<=$num/2; $i++) { if($num%$i==0) $es=0; } return $es; } $num=(int)$num; echo "Los números que me diste fueron $num1 y $num2. <br> <br> Los números primos son:<br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Valor</td><td><font color=black>Tipo</td><tr>"; for($i=$num1; $i<=$num2;$i++) { if(primo($i)==1) { echo "<tr><td><font color=black>$i</td><td><font color=black><b>"; echo "primo</b>"; echo "</td><tr>"; } else { if(strcmp($soloPrimos,"on")!=0) { echo "<tr><td><font color=black>$i</td><td><font color=black><b>"; echo "compuesto</b>"; echo "</td><tr>"; } } } echo "</table>"; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 8. Hacer una función para obtener los primeros n elementos de la serie de fibonacci, donde n es adquirido desde un formulario. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "El número que me diste fue $num. <br> <br> Su serie de Fibonacci es<br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Fib (x)</td><td><font color=black>Valor</td><tr>"; $val1=0; $val2=1; if($num>=1) { echo "<tr><td><font color=black>f(0)</td>"; echo " <td><font color=black>0"; echo " </td><tr>"; } if($num>=2) { echo "<tr><td><font color=black>f(1)</td>"; echo " <td><font color=black>1"; echo " </td><tr>"; } for($i=2; $i<$num;$i++) { echo "<tr><td><font color=black>f($i)</td>"; echo " <td><font color=black>f(".($i-1).") + f(".($i-2).")=".($val1+$val2); echo " </td><tr>"; $temp=$val1+$val2; $val1=$val2; $val2=$temp; } echo "</table>"; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 9. Tomar un número en base 10 y convertirlo a base b (considerar siempre 1<b<16). Mostrar el número y los residuos obtenidos, es decir el número en la nueva base (hay que tomar en cuenta que dichos residuos son obtenidos al reves en el proceso, deberán mostrar el resultado en el orden correcto). Mostrar también los residuos que se van obteniendo Ejemplo: 1510 = 11112 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$tnum=$num=(int)$num; $base=(int)$base; echo "El número que me diste fue $num. <br> <br> Su equivalente en base $base es: <br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Número </td><td><font color=black>Residuo <br>entre $base</td><tr>"; $resultado="<sub>$base</sub>"; for( ;$num>0;) { $residuo=$num%$base; echo "<tr><td><font color=black>$num</td><td><font color=black><b>".($residuo); echo " </b>"; echo "</td><tr>"; $num=(int)(floor($num/$base)); if($residuo>9) switch($residuo) { case 10: $residuo="A"; break; case 11: $residuo="B"; break; case 12: $residuo="C"; break; case 13: $residuo="D"; break; case 14: $residuo="E"; break; case 15: $residuo="F"; break; } $resultado=$residuo.$resultado; } echo "</table>"; echo "<br><br> $tnum<sub>10</sub> = $resultado" ; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 10. Tomar un número cualquiera (de preferencia pequeño para que converga más rápido) la siguiente serie converge a uno siempre (criterio de paro) si se siguen las siguientes reglas: - Si el número n es par, reemplazarlo por n/2 (es decir hacer n=n/2) - Si el número es impar, reemplazarlo por 3*n+1 Mostrar el número inicial y todos los que le siguen hasta que la serie converja a 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<?php $num = $_POST['numero']; echo "numero que me diste es $num <br>"; $num=(int)$num; $lim=400; echo "El número que me diste fue $num. <br> <br> La serie es <br>(configurada a un máximo de $lim elementos)<br><br>"; echo "<table bgcolor=dddddd align=center>"; echo "<tr><td><font color=black> Valor </td><td><font color=black> Siguiente <br>Valor</td><td><font color=black> Barra</td><tr>"; $i=0; $temp=$num; $max=$num; while($num!=1 && $i<$lim) { if($num%2==0) $num=$num/2; else $num=$num*3+1; $i++; if($num>$max) $max=$num; } $num=$temp; $i=0; while($num!=1 && $i<$lim) { echo "<tr><td><font color=black>$num</td>"; if($num%2==0) $num=$num/2; else $num=$num*3+1; echo "<td><font color=black> $num"; echo "</td>"; echo "<td><img src=\"./img/barra.PNG\" height=10 width=".((int)($num*400/$max)).">"; echo "</td><tr>"; $i++; } echo "</table>"; ?> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 11. Dibujar un tablero de ajedrez de N x N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$n=5; for($i=1; $i<=$n; $i++) { echo "\n <tr>"; for($j=1; $j<=$n; $j++) { if(($i+$j)%2==0 && $i>=$j) echo "\n <td bgcolor=white align=center><font color=black>$i+$j=".($j+$i)."</td>"; else echo "\n <td bgcolor=black align=center><font color=white>$i+$j=".($j+$i)."</td>"; } } | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Problema 12. Calcular la serie de ex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
function fact($num) {if($num>1) return $num*fact($num-1); else return 1; } function expo($num, $nter) { if($nter>1) return potencia($num,$nter-1)/fact($nter-1)+expo($num,$nter-1); else return 1; } $n=10; echo fact($n)."<br>"; for($i=1; $i<=$n; $i++) echo "<b>".expo(1,$i)." - $i</b> <br>"; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ejemplos muy básicos En este ejemplo se capturan 3 números y se usan para mostrar una tabla que contiene los 3 valores con el color de fondo a partir de los 3 valores. Archivo: ejemplo1.php | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<html> <body> <form action="ejemplo1.php" method ="post"> <input type="text" name ="num">: <input type="text" name ="num2">: <input type="text" name ="num3"> <input type="submit"> </form> <?php $v1=$_POST['num']; $v2=$_POST['num2']; $v3=$_POST['num3']; echo "<table bgcolor=\"#$v1$v2$v3\">"; echo "<tr><td>$v1 </td>"; echo "</table>"; ?> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comparacion de variables: Archivo: compara.php | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; $c = 3; if (($a == $b) && ($c > $b)) echo "cierto","<br>"; else echo "falso","<br>"; if(($a == $b) || ($b == $c)) echo "cierto","<br>"; else echo "falso","<br>"; if( !($b <= $c)) echo "cierto","<br>"; else echo "falso","<br>"; ?> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
En este ejemplo se piden 2 valores y se realizan operaciones aritméticas básicas con ellos | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!--bas03.php--> <html> <body> <form action="bas03.php" method ="post"> <input type="text" name ="num">: <input type="text" name ="num2">: <input type="submit"> </form> <?php $v1=$_POST['num']; $v2=$_POST['num2']; //muestra los valores de las variables que llegan echo "v1= $v1 <br>"; echo "v2= $v2 <br>"; // compara las variables if( $v1 == $v2 ) echo " $v1 es igual a $v2 <br>"; else echo " $v1 no es igual a $v2 <br>"; // verifica el residuo if( $v1 % $v2 == 0 ) echo " $v2 divide exactamente a $v1 <br>"; else echo " $v2 no divide exactamente a $v1 <br>"; echo "la suma de $v1 + $v2 = ". ($v1 + $v2)."<br>"; echo "la diferencia de $v1 - $v2 = ". ($v1 - $v2)."<br>"; echo "la multiplicación de $v1 * $v2 = ". ($v1 * $v2)."<br>"; echo "la division de $v1 / $v2 = ". ($v1 / $v2)."<br>"; ?> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Una mejora al ejemplo anterior.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!--bas04.php --> <html> <body> <form action="bas04.php" method ="post"> <input type="text" name ="num" value=<?php echo $_POST['num']; ?>>: <input type="text" name ="num2" value=<?php echo $_POST['num2']; ?>> <input type="submit"> </form> <?php $v1=$_POST['num']; $v2=$_POST['num2']; //muestra los valores de las variables que llegan echo "v1= $v1 <br>"; echo "v2= $v2 <br>"; // compara las variables if( $v1 == $v2 ) echo " $v1 es igual a $v2 <br>"; else echo " $v1 no es igual a $v2 <br>"; // verifica el residuo if( $v1 % $v2 == 0 ) echo " $v2 divide exactamente a $v1 <br>"; else echo " $v2 no divide exactamente a $v1 <br>"; echo "la suma de $v1 + $v2 = ". ($v1 + $v2)."<br>"; echo "la diferencia de $v1 - $v2 = ". ($v1 - $v2)."<br>"; echo "la multiplicación de $v1 * $v2 = ". ($v1 * $v2)."<br>"; if($v2 !=0) echo "la division de $v1 / $v2 = ". ($v1 / $v2)."<br>"; else echo "la division de $v1 / $v2 no puede efectuarse, por que da división por cero <br>"; ?> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cálculo de la siguiente suma ax2 + bx + c | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!--bas05.php --> <html> <body> <form action="bas05.php" method ="post"> a= <input type="text" name ="a" value=<?php echo $_POST['a']; ?>> <br> b= <input type="text" name ="b" value=<?php echo $_POST['b']; ?>> <br> c= <input type="text" name ="c" value=<?php echo $_POST['c']; ?>> <br> x= <input type="text" name ="x" value=<?php echo $_POST['x']; ?>> <br> <input type="submit"> </form> <?php $a= $_POST['a']; $b= $_POST['b']; $c= $_POST['c']; $x= $_POST['x']; echo " a= $a <br>"; echo " b= $b <br>"; echo " c= $c <br>"; echo " x= $x <br>"; $s1= $a*$x*$x; echo "El producto de ax<sup>2</sup> es = $a * $x * $x = ".$s1. "<br>"; $s2= $b*$x; echo "El producto de bx es = $b * $x = ".$s2."<br>"; $s3= $c; echo "y c= $c = ".$s3."<br>"; $suma= $s1 + $s2+ $s3; echo " <br> Por lo tanto $s1 + $s2 + $s3 = $suma <br> "; ?> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
una mejora al programa anterior:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!--bas06.php --> <html> <body> <form action="bas06.php" method ="post"> <?php //se asignan valores iniciales if(empty($_POST['a']) || empty($_POST['c']) || empty($_POST['c']) || empty($_POST['x']) ) { $_POST['a']=2; $_POST['b']=2; $_POST['c']=2; $_POST['x']=1; } ?> a= <input type="text" name ="a" value=<?php echo $_POST['a']; ?>> <br> b= <input type="text" name ="b" value=<?php echo $_POST['b']; ?>> <br> c= <input type="text" name ="c" value=<?php echo $_POST['c']; ?>> <br> x= <input type="text" name ="x" value=<?php echo $_POST['x']; ?>> <br> <input type="submit"> </form> <table align="center" border="1"> <?php $a= $_POST['a']; $b= $_POST['b']; $c= $_POST['c']; $x= $_POST['x']; echo "\n <tr><td> a= </td><td>$a </td>"; echo "\n <tr><td> b= </td><td>$b </td>"; echo "\n <tr><td> c= </td><td>$c </td>"; echo "\n <tr><td> x= </td><td>$x </td>"; $s1= $a*$x*$x; echo "\n <tr><td>El producto de ax<sup>2</sup> es $a * $x * $x = </td><td> ".$s1; $s2= $b*$x; echo "\n <tr><td>El producto de bx es = $b * $x =</td><td> ".$s2; $s3= $c; echo "\n <tr><td>c= </td><td> ".$s3; $suma= $s1 + $s2+ $s3; echo "\n <tr><td>Por lo tanto $s1 + $s2 + $s3 = </td><td>$suma <br> "; ?> </table> </body> </html> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Este ejemplo pide en un textarea un conjunto de datos separados por retornos de carro y los muestra en pantalla | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!--bas08.php --> <html> <body> <form action="bas08.php" method ="post"> <?php //se asignan valores iniciales if(empty($_POST['datos']) ) { $_POST['datos']="2\n25\n32\n12\n5"; } ?> <textarea name="datos" rows="10" cols="10"><?php echo $_POST['datos']; ?></textarea><br> <input type="submit"> </form> <table align="center" border="1"> <?php $datos= $_POST['datos']; //se reemplazan los saltos de línea por espacios en blanco $cadena= str_replace("\n", " ", $datos); $cadena= str_replace(" ", " ", $cadena); //genera un arreglo a partir de una cadena, donde el separador son los espacios en blanco $arreglo = split(' ', $cadena); for($i=0; $i<count($arreglo); $i++) echo "num $i= ".$arreglo[$i]. "<br>" ; ?> </table> </body> </html> |
martes, 8 de agosto de 2017
OPERADORES ARITMÉTICOS, LÓGICOS Y DE COMPARACIÓN
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario