Translate-Traducir

28/6/16

Crear-escribir un programa-algoritmo en php que realice

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 .

No hay comentarios: