Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Suma de numeros aleatorios php

Estas en el tema de Suma de numeros aleatorios php en el foro de PHP en Foros del Web. Hola, tengo una tarea pero no me sale es la siguiente... Debo realizar un formulario HTML que reciba "n" numeros aleatorios entre 1 y 100, ...
  #1 (permalink)  
Antiguo 29/07/2015, 19:39
 
Fecha de Ingreso: julio-2015
Mensajes: 20
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta Suma de numeros aleatorios php

Hola, tengo una tarea pero no me sale es la siguiente...
Debo realizar un formulario HTML que reciba "n" numeros aleatorios entre 1 y 100, eso lo tengo! Lo que me falta es que además de eso debo mostrar la suma de los números generados, el promedio de ellos, también cuál número es el mayor y cuál número es el menor.
Ej:
Digite el valor de n: 5
Los números generados son:
20
15
10
25
50
La suma de los números generados es: 120
El promedio: es 24
El número mayor es: 50
El número menor es: 10

Lo que llevo es esto: en el form html:
Código HTML:
Ver original
  1. <form action="clase11b.php">
  2.     Digite el valor de n:
  3.     <input type="number" name="valorn"><br />
  4.     <input type="submit" value="Procesar"><br />
  5. </form>

Y para el php esto:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $cantidad=1;
  5. $suma=1;
  6. while ($cantidad<=$n){
  7.     $rand=rand(1,100);
  8.     echo "Numero aleatorio $rand <br />";
  9.     ++$cantidad;
  10.    
  11. }
  12. $suma+=$cantidad;
  13. echo "La suma de los n&uacute;meros generados es $suma <br />";
  14. ?>

Me ayudan? Porfavorrrrrrrrrrr :c

Última edición por Giankaa; 29/07/2015 a las 19:41 Razón: Faltaban unas lineas xd
  #2 (permalink)  
Antiguo 29/07/2015, 19:47
Avatar de alealvaro  
Fecha de Ingreso: junio-2004
Ubicación: BA - Argentina
Mensajes: 210
Antigüedad: 19 años, 10 meses
Puntos: 12
Respuesta: Suma de numeros aleatorios php

Hola!

Algo así:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $total=0;
  5. $min=null;
  6. $max=null;
  7. while ($cantidad<=$n){
  8.     $rand=rand(1,100);
  9.     echo "Numero aleatorio $rand <br />";
  10.     $total+=$rand;
  11.     if (is_null($min) || $rand<$min) {
  12.         $min = $rand; // guardo el menor
  13.     }
  14.     if (!is_null($max) || $rand>$max) {
  15.         $max = $rand; // guardo el mayor
  16.     }
  17. }
  18. echo "La suma de los n&uacute;meros generados es $total <br />";
  19. echo "El promedio es ".($total/$n)."<br />";
  20. echo "El menor es $min <br />";
  21. echo "El mayor es $max <br />";
  22. ?>
__________________
Always learning a little more...
Videos y frases para dedicar
Quotes and Phrases for You
  #3 (permalink)  
Antiguo 29/07/2015, 19:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Suma de numeros aleatorios php

Por favor, aprende a utilizar arrays, es mucho más fácil acumular los números generados y luego aplicar operaciones sobre ellos.

http://php.net/manual/es/language.types.array.php

Es decir, con array_sum() pudrías hacer la suma de todos los valores.

Con count() podrías saber la cantidad de elementos.

Así pues podrías ordenar dicha lista con sort() y de ahí sacar los valores extremos: mínimo y máximo.

Etcétera.

La idea es que usando arrays es mucho más simple de resolver lo que buscas.

Ejemplo:
Código PHP:
Ver original
  1. $x = [3,6,1,12,11];
  2. sort($x);
  3.  
  4. var_dump($x[0]); // 1
  5. var_dump(end($x)); // 12
  6. var_dump(array_sum($x) / count($x)); // 4.4
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 29/07/2015, 19:54
 
Fecha de Ingreso: julio-2015
Mensajes: 20
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Suma de numeros aleatorios php

Cita:
Iniciado por alealvaro Ver Mensaje
Hola!

Algo así:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $total=0;
  5. $min=null;
  6. $max=null;
  7. while ($cantidad<=$n){
  8.     $rand=rand(1,100);
  9.     echo "Numero aleatorio $rand <br />";
  10.     $total+=$rand;
  11.     if (is_null($min) || $rand<$min) {
  12.         $min = $rand; // guardo el menor
  13.     }
  14.     if (!is_null($max) || $rand>$max) {
  15.         $max = $rand; // guardo el mayor
  16.     }
  17. }
  18. echo "La suma de los n&uacute;meros generados es $total <br />";
  19. echo "El promedio es ".($total/$n)."<br />";
  20. echo "El menor es $min <br />";
  21. echo "El mayor es $max <br />";
  22. ?>
No genera números aleatorios infinitos...
  #5 (permalink)  
Antiguo 29/07/2015, 19:56
 
Fecha de Ingreso: julio-2015
Mensajes: 20
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Suma de numeros aleatorios php

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor, aprende a utilizar arrays, es mucho más fácil acumular los números generados y luego aplicar operaciones sobre ellos.

[url]http://php.net/manual/es/language.types.array.php[/url]

Es decir, con array_sum() pudrías hacer la suma de todos los valores.

Con count() podrías saber la cantidad de elementos.

Así pues podrías ordenar dicha lista con sort() y de ahí sacar los valores extremos: mínimo y máximo.

Etcétera.

La idea es que usando arrays es mucho más simple de resolver lo que buscas.

Ejemplo:
Código PHP:
Ver original
  1. $x = [3,6,1,12,11];
  2. sort($x);
  3.  
  4. var_dump($x[0]); // 1
  5. var_dump(end($x)); // 12
  6. var_dump(array_sum($x) / count($x)); // 4.4
Hola, aún no usaré funciones así, estoy limitado para esa tarea a usar tan solo función "rand", función "while","If-else", con únicamente esas debo hacerlo y hasta ahora no me sale :(
  #6 (permalink)  
Antiguo 29/07/2015, 20:17
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Suma de numeros aleatorios php

Cita:
Iniciado por alealvaro Ver Mensaje
Hola!

Algo así:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $total=0;
  5. $min=null;
  6. $max=null;
  7. while ($cantidad<=$n){
  8.     $rand=rand(1,100);
  9.     echo "Numero aleatorio $rand <br />";
  10.     $total+=$rand;
  11.     if (is_null($min) || $rand<$min) {
  12.         $min = $rand; // guardo el menor
  13.     }
  14.     if (!is_null($max) || $rand>$max) {
  15.         $max = $rand; // guardo el mayor
  16.     }
  17. }
  18. echo "La suma de los n&uacute;meros generados es $total <br />";
  19. echo "El promedio es ".($total/$n)."<br />";
  20. echo "El menor es $min <br />";
  21. echo "El mayor es $max <br />";
  22. ?>
Usa el código que te pasó alealvaro si solo puedes usar esas funciones que comentas. Puede que te dé un número infinito de valores porque no está tomando adecuadamente el valor de $n. Prueba poniendo esto en el form:

Código PHP:
Ver original
  1. <form action="clase11b.php" method="get">
  2.     Digite el valor de n:
  3.     <input type="number" name="valorn"><br />
  4.     <input type="submit" value="Procesar"><br />
  5. </form>

Puede ser que al no especificar el método se envíe como post y por eso no se cargue la variable al usar $_GET.

Edito: Si hay un error en el código que te postearon, no se está definiendo $cantidad ni se está incrementando. Coloca esto:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $total=0;
  5. $min=null;
  6. $max=null;
  7. $cantidad=1;
  8. while ($cantidad<=$n){
  9.     $rand=rand(1,100);
  10.     echo "Numero aleatorio $rand <br />";
  11.     $total+=$rand;
  12.     if (is_null($min) || $rand<$min) {
  13.         $min = $rand; // guardo el menor
  14.     }
  15.     if (!is_null($max) || $rand>$max) {
  16.         $max = $rand; // guardo el mayor
  17.     }
  18.     $cantidad += 1;
  19. }
  20. echo "La suma de los n&uacute;meros generados es $total <br />";
  21. echo "El promedio es ".($total/$n)."<br />";
  22. echo "El menor es $min <br />";
  23. echo "El mayor es $max <br />";
  24. ?>
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 29/07/2015, 20:34
 
Fecha de Ingreso: julio-2015
Mensajes: 20
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Suma de numeros aleatorios php

Cita:
Iniciado por chronos682 Ver Mensaje
Usa el código que te pasó alealvaro si solo puedes usar esas funciones que comentas. Puede que te dé un número infinito de valores porque no está tomando adecuadamente el valor de $n. Prueba poniendo esto en el form:

Código PHP:
Ver original
  1. <form action="clase11b.php" method="get">
  2.     Digite el valor de n:
  3.     <input type="number" name="valorn"><br />
  4.     <input type="submit" value="Procesar"><br />
  5. </form>

Puede ser que al no especificar el método se envíe como post y por eso no se cargue la variable al usar $_GET.

Edito: Si hay un error en el código que te postearon, no se está definiendo $cantidad ni se está incrementando. Coloca esto:

Código PHP:
Ver original
  1. <?php
  2. $n=$_GET["valorn"];
  3. echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4. $total=0;
  5. $min=null;
  6. $max=null;
  7. $cantidad=1;
  8. while ($cantidad<=$n){
  9.     $rand=rand(1,100);
  10.     echo "Numero aleatorio $rand <br />";
  11.     $total+=$rand;
  12.     if (is_null($min) || $rand<$min) {
  13.         $min = $rand; // guardo el menor
  14.     }
  15.     if (!is_null($max) || $rand>$max) {
  16.         $max = $rand; // guardo el mayor
  17.     }
  18.     $cantidad += 1;
  19. }
  20. echo "La suma de los n&uacute;meros generados es $total <br />";
  21. echo "El promedio es ".($total/$n)."<br />";
  22. echo "El menor es $min <br />";
  23. echo "El mayor es $max <br />";
  24. ?>
wowowowowow en serio la respuesta es grandiosa!!! Mira que me ayudaron con este código:
Código PHP:
Ver original
  1. <?php
  2.     $n=$_GET["valorn"];
  3.     echo "Estos son $n numeros aleatorios entre 1 y 100 <br />";
  4.     $cantidad=0;
  5.     $suma=0;
  6.     while ($cantidad<$n){
  7.         $rand=rand(1,100);
  8.         echo "Numero aleatorio $rand <br />";
  9.         $cantidad++;
  10.         $suma+=$rand;
  11.     }
  12.     echo "La suma de los n&uacute;meros generados es $suma <br />";
  13.     ?>

El cual sumó la cantidad de los números aleatorios, implementé algunos de tus códigos para el promedio, el número mayor y menor y grandioso, wow eres una persona genio :D :D :D te lo agradezco mucho en verdad si, gracias de nuevo!!! :D

Etiquetas: numeros
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 22:48.