Foros del Web » Programando para Internet » PHP »

Por favor alguien me ayuda con este ejercicio?

Estas en el tema de Por favor alguien me ayuda con este ejercicio? en el foro de PHP en Foros del Web. Se desea realizar una aplicación web en PHP que realice operaciones matemáticas con un número que envíe el usuario a través del siguiente formulario: numero: ...

  #1 (permalink)  
Antiguo 22/11/2010, 03:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Por favor alguien me ayuda con este ejercicio?

Se desea realizar una aplicación web en PHP que realice operaciones matemáticas con un número que envíe el usuario a través del siguiente formulario:
numero: (entre 1 y 40)
operacion:
input type="radio" Factorial
input type="radio" sumatorio desde 1 hasta el numero
input type="radio" cuadrado
input type="radio" raiz cuadrada
input type="submit"

El formulario estará en la página form_numero.html y se enviará mediante el método GET a una página llamada procesa_numero.php

Según la operación seleccionada, se mostrará un resultado determinado al usuario. Si el número está fuera del rango especificado se le mostrará un error en lugar del resultado. Se mostrará un enlace para volver a la página inicial (form_numero.html).

Utiliza la función factorial siguiente cuando tengas que calcular esta operación:
function factorial($num)
{
$resul = 1;
for($i=1; $i <= $num; $i++)
$resul = $resul * $i;

return $resul;
}

Para el sumatorio de 1 hasta el número, codifica y utiliza una función llamada sumatorio.
  #2 (permalink)  
Antiguo 22/11/2010, 04:18
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Comenzemos con lo básico: el html

Primero de todo lo que has de hacer es un formulario, dentro del cual esten todos los inputs que te piden para que la persona pueda seleccionar la operacion que desea hacer:

http://html.conclase.net/w3c/html401...act/forms.html

EDIT: Cuando lo tengas hecho dímelo, porque si no no avanzaré, y no te lo pongo hecho porque si no no aprendes.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.

Última edición por Vallu; 22/11/2010 a las 04:28
  #3 (permalink)  
Antiguo 22/11/2010, 04:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

vale el formulario ya esta hecho, de html entiendo algo más. pero de php acabop de empezar y ya nos mandan hacer esto. muchas gracias.
  #4 (permalink)  
Antiguo 22/11/2010, 04:42
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

<html>
<body>
<form name=" ">
<fieldset>
<legend> Operaciones con numero entero </legend>
Numero:<input type="text" name="numero" value="num"> (positivo entre 1 y 40)
<p> Operación: </p>
<input type="radio" name="factorial" value="fac" checked>Factorial:<br />
<input type="radio" name="sumatorio" value="sum">Sumatorio desde 1 hasta el numero:<br />
<input type="radio" name="cuadrado" value="cua">Cuadrado:<br />
<input type="radio" name="raiz cuadrada" value="rai">Raiz cuadrada:<br />
<input type="submit" value="Enviar">
</fieldset>
</form>
</body>
</html>
  #5 (permalink)  
Antiguo 22/11/2010, 04:46
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

El mio es este:
Código HTML:
<table>
<form method="get" action="procesa_numero.php" />
<tr><td>Numero:</td><td><input type="text" name="numero" />(Entre 1-40)</td></tr>
<tr><td>Factorial</td><td><input type="radio" name="radio" value="1" /></td></tr>
<tr><td>sumatorio desde 1 hasta el numero</td><td><input type="radio" name="radio" value="2"/></td></tr>
<tr><td>cuadrado</td><td><input type="radio" name="radio" value="3"/></td></tr>
<tr><td>raiz cuadrada</td><td><input type="radio" name="radio" value="4"/></td><tr>
<tr><td colspan="2" align="center"><input type="submit" value="Enviar" /></td><tr>
</form>
</table> 
Ten en cuenta que los radio tienen que tener el mismo name, ya que si no no estan en el mismo grupo y podrian seleccionar a más de uno a la vez.

Tambien en el form has de poner un method, para saber en que metodo pasas los parametros (post o get) y un action, para saber a que pagina pasas los parametros.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #6 (permalink)  
Antiguo 22/11/2010, 04:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

vale ok, modifico.
  #7 (permalink)  
Antiguo 22/11/2010, 04:53
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Ahora pasamos al php. Para poder escribir en php siempre has de poner: <?php y para finalizar ?>.
Comenzaremos con el tratamiento del número que nos pasan por el texto.

Primero miremos si nos envian realmente un número y si está entre los rangos especificados:

Código PHP:
<?php
if(isset($_GET['numero'])) $numero=(int)$_GET['numero'];
if(
$numero>=&& $numero<=40){
.....
?>
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #8 (permalink)  
Antiguo 22/11/2010, 04:58
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

Con eso introduciremos números entre el 1 y el 40 y si el número no esta entre ese rango pondremos else y pondremos echo para que saque el error no?
  #9 (permalink)  
Antiguo 22/11/2010, 05:05
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Exactamente!

Ahora lo que has de hacer en el php es diferencia entre que tipo de boton ha seleccionado el usuario, y segun cual halla seleccionado utilizar una funcion o otra.
Pero antes de todo vamos a crear las funciones necesarias.

Haremos 4 funciones, la factorial, sumatoria, cuadrada y raiz. Podríamos realizar solo 2, pero como es explicación y no optimizacion lo haremos así.

La factorial ya te la dan hecha.
Venga, ahora haz la sumatoria, a ver si te sale.

Ánimo!
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #10 (permalink)  
Antiguo 22/11/2010, 05:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

jope que complicado macho.
  #11 (permalink)  
Antiguo 22/11/2010, 05:25
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

La sumatoria es casi idéntica que la factorial, pero la diferencia es que en vez de multiplicar suma. Hay otra pequeñísima diferencia, a ver si la encuentras.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #12 (permalink)  
Antiguo 22/11/2010, 05:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

cambiar el valor inicial de la variable i por 0?
  #13 (permalink)  
Antiguo 22/11/2010, 05:31
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Código PHP:
function sumatorio($num)
{
$resul=0;
for(
$i=1;$i<=$num;$i++)
$resul=$resul+$i;

return 
$resul;

Aquí está. lo otro era $resul por 0, ya que si no sumarias un 1 extra a la sumatoria total.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #14 (permalink)  
Antiguo 22/11/2010, 05:33
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

aaa resul 0 claro joe que tonto madre mia. gracias.
  #15 (permalink)  
Antiguo 22/11/2010, 05:33
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Vale lo que queda ahora és hacer las 2 funciones fáciles que quedan. Para hacer la raiz utiliza http://php.net/manual/es/function.sqrt.php
y para el cuadrado... supongo que ya lo sabes, xD
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #16 (permalink)  
Antiguo 22/11/2010, 05:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

el cuadrado podria ser asi?
function cuadrado($num) {
$calculo = $num * $num;
return $resul;
  #17 (permalink)  
Antiguo 22/11/2010, 05:44
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Si, pero ten en cuenta una cosilla. utilizas $calculo, y retornas $resul. Así tal como está retornará siempre nulo.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #18 (permalink)  
Antiguo 22/11/2010, 05:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

return $calculo entonces
  #19 (permalink)  
Antiguo 22/11/2010, 05:47
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

o cambiar la variable calculo por $resul
  #20 (permalink)  
Antiguo 22/11/2010, 05:47
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Correcto, venga que ya acabamos con las funciones. Como harías la de la raíz con la funcion que te pasé?
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #21 (permalink)  
Antiguo 22/11/2010, 05:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

vale pues seria sqrt y el numero sobre el que realizas la raiz
echo sqrt ($num);?
  #22 (permalink)  
Antiguo 22/11/2010, 06:00
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Correcto.

ahora vamos a saber como distinguir que quiere que hagamos el usuario y hacerlo.
Como dice el enunciado hemos pasado los parametros por GET, eso quiere decir que para saber cual a seleccionado tenemos que hacer $_GET['name_de los radio buton']; y esto te devovelvera lo que le hayas puesto al value.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #23 (permalink)  
Antiguo 22/11/2010, 06:02
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Vale, ahora, sabiendo que opción ha marcado el usuario sabrías hacer por ejemplo que si marcaran factorial lo hicieras y lo mostraras por pantalla?
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #24 (permalink)  
Antiguo 22/11/2010, 06:08
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

ok voy a hacerlo
  #25 (permalink)  
Antiguo 22/11/2010, 06:11
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

echo $_GET["Factorial"];
seria asi?
  #26 (permalink)  
Antiguo 22/11/2010, 06:15
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Vuelve a ponerme tu codigo html y te digo si es así.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #27 (permalink)  
Antiguo 22/11/2010, 06:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

van a salir mucho errores jeje


<html>
<body>
<table>
<form method="get" action="procesa_numero.php" />
<tr><td>Numero:</td><td><input type="text" name="numero" />(Entre 1 a 40)</td></tr>
<tr><td>Factorial</td><td><input type="radio" name="radio" value="1" /></td></tr>
<tr><td>sumatorio desde 1 hasta el numero</td><td><input type="radio" name="radio"

value="2"/></td></tr>
<tr><td>cuadrado</td><td><input type="radio" name="radio" value="3"/></td></tr>
<tr><td>raiz cuadrada</td><td><input type="radio" name="radio" value="4"/></td><tr>
<tr><td colspan="2" align="center"><input type="submit" value="Enviar" /></td><tr>
</form>
</table>

<?php
if(isset($_GET['numero'])) $numero=(int)$_GET['numero'];
if($numero>=1 && $numero<=40){
else
echo "error, numero no comprendido entre 1 y 40";
}

function factorial($num)
{
$resul = 1;
for($i=1; $i <= $num; $i++)
$resul = $resul * $i;

return $resul;
}

function sumatorio($num)
{
$resul = 0;
for($i=1; $i <= $num; $i++)
$resul = $resul+$i;

return $resul;
}

function cuadrado($num)
{
$resul = $num * $num;
return $resul;
}

echo sqrt($num);

echo $_GET["Factorial"];

?>
  #28 (permalink)  
Antiguo 22/11/2010, 06:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Por favor alguien me ayuda con este ejercicio?

Hombre, claro que hay muchos errores, pero poco a poco los iremos corrigiendo. Vale, has puesto como nombre a todos los radios 'radio'. Eso quiere decir que tendrás que hacer $_GET['radio']; para saber el value del get.
Como has hecho como yo los valores que te puede retornar son 1, 2, 3, o 4. Cada valor es un tipo de operación.
A ver si sabrías hacer si le doy a sumatorio que me imprima por pantalla el sumatorio. (pongamos el numero 9 como el texto pasado)

Por cierto, el php tiene que estar en otro fichero llamado procesa_numero.php, pero en la misma carpeta que el html.

Código PHP:
if($numero>=&& $numero<=40){
   (
aqui ir&#225; todo el codigo para distinguir que radio buton ha seleccionado y como tratarlo)
}else{
   echo 
"error, numero no comprendido entre 1 y 40";

Aqui te dejo la correcion del primer if.
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #29 (permalink)  
Antiguo 22/11/2010, 06:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

vale donde pones aqui ir.... pongo todos los echo $_GET["radio"]?
  #30 (permalink)  
Antiguo 22/11/2010, 06:47
 
Fecha de Ingreso: noviembre-2010
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Por favor alguien me ayuda con este ejercicio?

joe vaya locura y eso que es u ejercicio asi sin complicacion joo

Etiquetas: favor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:02.