Foros del Web » Programando para Internet » PHP »

Calculo aritmetico con PHP

Estas en el tema de Calculo aritmetico con PHP en el foro de PHP en Foros del Web. Hola foreros; Bueh, mi problema es bastante simple, son dos en realidad jejeje. Tengo un script que ordena las notas obtenidas por un alumno en ...
  #1 (permalink)  
Antiguo 22/10/2009, 12:36
Avatar de nuckzuniga  
Fecha de Ingreso: marzo-2008
Mensajes: 71
Antigüedad: 16 años, 1 mes
Puntos: 0
Calculo aritmetico con PHP

Hola foreros;

Bueh, mi problema es bastante simple, son dos en realidad jejeje.
Tengo un script que ordena las notas obtenidas por un alumno en el colegio durante un semestre, entonces a medida que va obteniendo las notas, se va calculando el promedio respecto a la cantidad de notas existentes.
Mi primer problema es; ¿Como podria hacer que PHP tome las notas, las "cuente" y en base a eso divida la suma de las mismas?

Lo otro es más simple. Ya teniendo ese promedio ¿Como lo aproximo para que no me salga un número con 323123 decimales?

Saludos, y muchas gracias.
  #2 (permalink)  
Antiguo 22/10/2009, 12:42
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Calculo aritmetico con PHP

para lo segundo esta funcion number_format....

y esta tambien te puede servir round
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 22/10/2009, 12:46
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Calculo aritmetico con PHP

Buenas


Creo que es este link hacen lo que necesita.

Se cargan las notas en un array y leugo se reccorre se van sumando y al final se divide en el numero de campos del arrya

http://www.php-hispano.net/foros/PHP...ncion-promedio

Saludos.
  #4 (permalink)  
Antiguo 22/10/2009, 19:56
Avatar de nuckzuniga  
Fecha de Ingreso: marzo-2008
Mensajes: 71
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calculo aritmetico con PHP

Pero mira, en el código que me dices:

Código PHP:
<?

function promedio ($array_notas)
{
if(
is_array($array_notas)
 {
  
$notas=0;
  
$contador=0;
  
$promedio;
     foreach(
$array_notas as $nota)
      {
         
$notas $nota $notas;
         
$contador++;
      }
   
$promedio $notas/$contador;
   return 
$promedio;
} else {
 echo 
'El parametro introducido no es un array';
return 
false;
}
}
?>
donde tendria que poner el array?
Vale acotar que ya tengo el array hecho, mediante un mysql_fetch_array, entonces tengo que ver donde lo pongo nada más.

Saludos, y muchas gracias
  #5 (permalink)  
Antiguo 22/10/2009, 20:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Calculo aritmetico con PHP

nuckzuniga, si sabes utilizar funciones??

porque es simple... no es "colocar el array", sino emplear dicha función donde la necesites...
Código PHP:
$foo = array(1,3,5,6,7);
$bar promedio($foo); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 22/10/2009, 21:47
Avatar de nuckzuniga  
Fecha de Ingreso: marzo-2008
Mensajes: 71
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calculo aritmetico con PHP

@pateketrueke efectivamente no acostumbro utilizar funciones. Así se aprende :).
Ahora, el problema es otro. Tengo el array con 6 valores NULL y uno con valor 70, sin embargo en promedio que me devuelve es 140, y aún no logro encontrar el error.

Revise la funció, y nada. Revise el script donde muestro los valores, nada. También lo intente en la base de datos, pero siempre me termina multiplicando por dos los valores
Que podra ser?

Saludos
  #7 (permalink)  
Antiguo 23/10/2009, 00:11
Avatar de Animeonx  
Fecha de Ingreso: agosto-2009
Ubicación: Debajo de tu Cama
Mensajes: 56
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Calculo aritmetico con PHP

Hace tiempo programe un sencillo programa que calcula el promedio de numeros pares e impares a partir de un array.

Examinalo puede y te sirva algo de hay.

Código php:
Ver original
  1. <?php
  2. // Esta es la función encarga de calcular el promedio a partir del un array.
  3. function promedio($matriz){
  4.     if(is_array($matriz)){ // Varificamos que la variable dada sea un array.
  5.         $sum = array_sum($matriz); // Sumamos los valores del array.
  6.         $count = count($matriz); // Contamos el numero de valores del array.
  7.             return ($sum/$count); // dividimos los valores del array entre su numero.
  8.     }
  9. }
  10.  
  11. // Se verifica que el boton promediar haya sido activado. En otras palabras que la variable 'promediar' cuente con un valor.
  12. if(isset($_POST['promediar'])){
  13.     // Recibimos los valores desde un campo input (los valores recibidos estarán en un array.
  14.     $numeros = $_POST['num'];
  15.    
  16.     foreach($numeros as $num){
  17.         if($num&#37;2 == 0){ // Nota para FDW. Hay debería aparecer un signo de porcentaje. %
  18.             $par[$i++] = $num;
  19.         }
  20.         else {
  21.             $impar[$i++] = $num;
  22.         }
  23.     }
  24.     echo ('Pares: '.promedio($par).'<br />');
  25.     echo ('Impares: '.promedio($impar));
  26. }
  27. ?>
  28. <html>
  29. <head>
  30. <title>Promedio</title>
  31. </head>
  32. <body>
  33. <form action="<?php $_SERVER['PHP_SELF']?>" method="post">
  34.     <input type="text" name="num[]" /><br />
  35.     <input type="text" name="num[]" /><br />
  36.     <input type="text" name="num[]" /><br />
  37.     <input type="text" name="num[]" /><br />
  38.     <input type="text" name="num[]" /><br />
  39.     <input type="text" name="num[]" /><br />
  40.     <input type="submit" name="promediar" value="Promediar" />
  41. </form>
  42. </body>
  43. </html>
__________________
Si te gusto/sirvió mi respuesta, dame un buen karma... no se que utilidad tenga en el foro, pero eleva mi ego. :D
--
Comunidad Anime | ikawaii.net

Última edición por Animeonx; 23/10/2009 a las 00:19
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:39.