Crear-escribir un programa-algoritmo en php que realice las siguientes operaciones:
Suma progresiva-acomulada de un numero en php
Factorizar un numero en php
Comprobar numero primo en php
Este post esta hecho a peticion de seguidores que me habian pedido de como realizar estas
operaciones en php aunque ya habia hecho uno en phyton no se aclaraban en php.
Nota .- Antes de nada aclarar que un programa php es ejecutado en un servidor ya se local (Xammp,Wampserver etc ..) o en un hosting sin esto el programa php no funcionara.
En el caso de que sea local asegúrate de poner bien la ruta Ej.en mi caso seria
localhost:80/Raul/Calculadora.php
Si quieres ver el programa en phyton pincha aqui
Para el siguiente ejemplo hemos creado un formulario con 3 botones tipos submit cuyos nombres son:
suma ,facto, primo.
<input name="suma" type="submit" value="Suma
Progresiva" />
<input name="facto" type="submit" value="Factorizar
un numero" />
<input name="primo" type="submit" value="Comprobar si un numero es primo" />
Y un area donde se introduce un numero
<input name="numero" type="number" min="1" max="3000" size="26" required="required" />
En esta area hacemos un control de que el campo no este vacio "required" y que solo se introduzca
números no letras type=number.
Con todo esto ya tenemos todo lo necesario para realizar nuestras operaciones
La función PHP isset() comprueba si una variable está definida
o no en el script de PHP que se está ejecutando.
Y esta devuelve un valor booleano osea true/false
Ahora como hemos creado los botones que habia mencionado antes ,segun el boton
que se pulse , la función isset de php y lo que hemos programado dentro de ella realizara la operación que corresponda.
Aqui dejo el codigo completo
<?php
if(isset($_REQUEST["suma"])){
$numero=$_REQUEST["numero"];
$sumar=0; // Me creo una variable de tipo
numero y le pongo de valor 0
for($i = 1; $i<$numero + 1; $i++){
$sumar=$sumar+$i; //cada vez que i pase por el for la variable
sumar se ira sumando
echo "+",$i,""; // Eje. ponemos 5 el rango ira
desde (1,2,3,4,5) entonces
} // sumar=0 i=1 entonces
sumar=1 cuando i pase por el 2 sumar=1 i=2 entonces sumar=3 etc...
echo " =";
echo "<br>", "La Suma Progresiva
del numero ",$numero," es ",$sumar;
}
if(isset($_REQUEST["facto"])){
$numero=$_REQUEST["numero"];
$factorizar=1;
for($i = 1; $i<$numero + 1; $i++){
$factorizar=$factorizar*$i;
echo "*",$i," ";
}
echo " =";
echo "<br>", "La Factorizacion
del numero ",$numero," es ",$factorizar;
}
if(isset($_REQUEST["primo"])){
$numero=$_REQUEST["numero"];
$vecesquesedivide=0; //Un numero primo solo es divisible
entre la unidad y por el mismo (osea es divisible 2 veces)
$verificar=true;
for($i = 1; $i<$numero + 1; $i++){
if($numero%$i==0){ // el signo % quiere
decir resto ejemplo 4/2 =2 resto=0 osea no sobra nada otro ejem. 9/2=4 resto=1
$vecesquesedivide=$vecesquesedivide+1;
if($vecesquesedivide>=3){// Ej 9 el rango ira
desde (123456789) entonces
$verificar=false; // entonces 9/1=9 resto=0; 9/3=3
resto=0;9/9=1 resto=0 no es un numero primo
//
$vecesquesedivide=1 ;$vecesquesedivide=2
;$vecesquesedivide=3
}
}
}
if($numero<2){
$verificar=false;
echo "El numero ",$numero,"no es un numero
entero compuesto","<br>";
}
//if($numero<0){
//$verificar=false;
//echo "No hay
numeros primos con signo -";
//}
if ($vecesquesedivide==2 or $verificar==true){
echo "El numero ",$numero," es primo";
}
else{
echo "El numero " ,$numero," no es primo";}
}
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calculadora php</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<div style="float:none; margin:1em; padding:1em; width:24%;
background-color:#BDBDBD;
alignment-adjust:middle">
<table width="260" >
<form action="Calculadora.php" method="get">
<tr>
<td><center>Introduce un numero :</center> </td>
</tr>
<tr>
<td><center><input name="numero" type="number" min="1" max="3000" size="26" required="required" /></center></td>
</tr>
<tr>
<td><center>Elige una Opcion: </center></td>
</tr>
<tr>
<td colspan="2"><center><input name="suma" type="submit" value="Suma
Progresiva" /></center></td>
</tr>
<tr>
<td colspan="2"><center><input name="facto" type="submit" value="Factorizar
un numero" /></center></td>
</tr>
<tr>
<td colspan="2"><center><input name="primo" type="submit" value="Comprobar si un numero es primo" /></center></td>
</tr>
</form>
</table>
</div>
</center>
</body>
</html>
Espero que se haya entendido y les sea de ayuda .