Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] sumatorias con while o for

Estas en el tema de sumatorias con while o for en el foro de PHP en Foros del Web. hola amigos.. estoy complicado con las estructuras de repeticion... ya que no encuentro la manera de resolver un ejercicio lo que debo hacer es Ingresar ...
  #1 (permalink)  
Antiguo 10/10/2013, 20:08
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 14 años
Puntos: 0
Pregunta sumatorias con while o for

hola amigos.. estoy complicado con las estructuras de repeticion... ya que no encuentro la manera de resolver un ejercicio lo que debo hacer es Ingresar un número y calcular la sumatoria de todos los números desde 1 al número ingresado (sin recursividad)

la cuestion es que no me doy cuenta como trabajar con las variables en el For o en el while si alguien me podria explicar la teoria o el concepto se lo agradeceria.

desde ya muchas gracias....

saludos!!!!!!!!
  #2 (permalink)  
Antiguo 10/10/2013, 21:11
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: sumatorias con while o for

Hola, la idea que tienes que hacerte es la siguiente, debes partir de una base (1 en este caso particular) e ir sumando cada numero que te encuentres en el camino hasta llegar a un numero (N en este caso, ya que lo desconoces) . no hay mas teoria que esa.

Código PHP:
Ver original
  1. $nroTope = 32; //Numero al que quieres llegar, puede ser un parametro de una funcion, venir por get en la url, etc (asumimos que es positivo, si es negativo o 0 hay que validarlo porque sobrecargarias un rato el server)
  2.  
  3. $suma = 0; //la suma arranca en 0
  4. for($nroAcual = 1; $nroActual <= $nroTope; $nroActual++){ //se lee: para nroActual igual a 1, mientras nroactual sea menor o igual al nrotope, incrementar nroactual
  5. $suma+=$nroActual;//sumar el nroactual
  6. }
tu condiocion base es 1 y tu condicion de corte es nroActual = nroTope.

Edito: Como adicional, podrias saber que en PHP (no en otros lenguajes) internamente el for es un caso particular del while
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 10/10/2013, 21:45
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 14 años
Puntos: 0
Respuesta: sumatorias con while o for

gracias por tu respuesta NSD. probe tu ejemplo y me funciono.tambien me quedo una pregunta...en que parte deberia ir el print para que me muestre la secuencia de numeros?.
  #4 (permalink)  
Antiguo 11/10/2013, 07:23
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: sumatorias con while o for

Si quieres ver toda la secuencia dentro del for, ya que cuando este termine solo prodras saber el ultimo valor de la variable contadora, idem si quieres ver las sumas parciales. si quieres mostrar la suma total debe ir al final del script de manera tal que muestres el resultado. prueba a ponerlo en varios lados y fijate los resultados que obtienes
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #5 (permalink)  
Antiguo 11/10/2013, 07:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: sumatorias con while o for

Hola:

Puedes crear un array y luego usar array_sum()...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 13/10/2013, 09:47
Avatar de ignacio85r  
Fecha de Ingreso: mayo-2010
Ubicación: mar del plata
Mensajes: 155
Antigüedad: 14 años
Puntos: 0
Respuesta: sumatorias con while o for

bueno ante nada muchas gracias a todos por sus respuestas y ayuda... aqui dejo como lo reslvi. opinen al respecto.


Código PHP:
$dato $_post['numero']; //aqui obtengo el dato desde el form
 
$sumatoria 0//variable a la cual le sumamos el valor de $dato 

for($i 1;  $i <= $datoi++) {    //defino la variable de control en 1, establezco la condicion para el bucle (si $i es menor o igual a el contenido de $dato), luego si se cumple la condicion anterior, a $i le sumo un valor.
 
print "$i";} // ubicando el print entere {} y fuera del for, muestra la secuencia de la sumatoria hasta llegar al valor de $dato.

sumatoria += $i;

print 
"La sumatoria del 1 al $dato es $sumatoria."

asi fue como lo resolvi...

Etiquetas: variable
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 16:27.