Foros del Web » Programando para Internet » PHP »

PHP OO FOR e IF (PHP)

Estas en el tema de FOR e IF (PHP) en el foro de PHP en Foros del Web. Hola como están, espero que bien tengo 2 problemas con "FOR" Y "IF" creo se llaman bucles, no los se usar muy bien. Quiero que ...
  #1 (permalink)  
Antiguo 18/09/2013, 15:08
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
FOR e IF (PHP)

Hola como están, espero que bien tengo 2 problemas con "FOR" Y "IF" creo se llaman bucles, no los se usar muy bien. Quiero que aya un conteo desde #numero1 y que vayan ascendiendo (un en uno) hasta que llegue al final y imprima la suma de todos los dígitos del primero al ultimo. La idea es se pueda ingresar datos mediante el formulario, estos pueden ser "GET" o "POST"

algo así eJEMPLO:

#INICIAL = 3
#FINAL = 6

3+
4+
5+
6+

suma = 18

Hasta el momento tengo mis códigos así que tendría que cambiar o modificar.
------------------------------------------------TENGO ESTOS CÓDIGOS POR EL MOMENTO-----------------------------------------------------
Código PHP:
Ver original
  1. <form action="" method="post">
  2. <label>INICIAL:</label><input type="text" name="inicial"><br>
  3. <label>FINAL:</label><input type="text" name="final"><br>
  4. <input type="submit" value="Enviar" name="enviar">
  5. </form>
  6. <br>
  7. <?php
  8.  
  9. $inicial = (isset($_POST['inicial'])?$_POST['inicial']:"0");
  10. $final = (isset($_POST['final'])?$_POST['final']:"0");
  11. $suma = $final($final+1)/2;
  12.  
  13.  
  14.  
  15. if($inicial>0 && $final>=$inicial)
  16. {
  17.     for($i=$inicial;$i<=$final;$i++)
  18.     {
  19.         if($i+$i)
  20.         {
  21.             echo "<br>".$i."+";
  22.         }else{
  23.             echo "<br>".$i."+";
  24.         }
  25.     }
  26.     echo $suma;
  27. }
  28.  
  29. ?>

Este también:
En este caso son valores que se ingresarían:INICIAL, FINAL Y INCREMENTO. Quiero que también imprima desde el inicial y ir ascendiendo según sea el incremento que se pueda dar, hasta llegar al numero final que se ingresara también mediante la casilla del formulario. algo así:

(EJEMPLO)

#INICIAL = 2
#FINAL = 11
#INCREMENTO = 3

2
5
8
11

------------------------------------------------TENGO ESTOS CÓDIGOS POR EL MOMENTO-----------------------------------------------------
Código PHP:
Ver original
  1. <form action="" method="post">
  2. <label>INICIAL:</label><input type="text" name="inicial"><br>
  3. <label>FINAL:</label><input type="text" name="final"><br>
  4. <label>INCREMENTO:</label><input type="text" name="incremento"><br>
  5. <input type="submit" value="Enviar" name="enviar">
  6. </form>
  7. <br>
  8. <?php
  9.  
  10. $inicial = (isset($_POST['inicial'])?$_POST['inicial']:"0");
  11. $final = (isset($_POST['final'])?$_POST['final']:"0");
  12. $incremento = (isset($_POST['incremento'])?$_POST['incremento']:"0");
  13.  
  14. if($inicial>0 && $final >= $i)
  15. {
  16.     for($i=$inicial;$i<=$final;$i+=$incremento)
  17.     {
  18.         if($incremento > $inicial)
  19.         {
  20.             echo "<br>".$inicial;
  21.         }else{
  22.             echo "<br>".$final;
  23.         }
  24.     }
  25. };
  26.  
  27.    
  28. ?>


----------------------------------------------------------------------------------------------------
LA ULTIMA ES:

#base = 2
#exponente = 3

RESULTADO = 8

--------------------------------------------------------------------------------------------------------------------------

ESPERO ME PUEDAN AYUDAR LES ESTARÉ INMENSAMENTE AGRADECIDO GRACIAS. SALUDOS.

Última edición por Triby; 18/09/2013 a las 18:14
  #2 (permalink)  
Antiguo 18/09/2013, 18:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.030
Antigüedad: 11 años, 7 meses
Puntos: 2206
Respuesta: FOR e IF (PHP)

Cita:
Iniciado por roberto_16_1989
Hola como están, espero que bien tengo 2 problemas con "FOR" Y "IF" creo se llaman bucles
Se llaman estructuras de control y sólo el FOR es un bucle.

Luego, en tu primer código:
Código PHP:
Ver original
  1. $suma = $final($final+1)/2; // Se supone que la suma la harás dentro del for
  2.                                             // aquí solo deberías inicializar la variable en cero
  3.  
  4. if($inicial>0 && $final>=$inicial) // Este if está bien
  5. {
  6.     for($i=$inicial;$i<=$final;$i++)
  7.     {
  8.         if($i+$i) // Qué pretendes hacer con este if?
  9.         {
  10.             echo "<br>".$i."+";
  11.         }else{
  12.             echo "<br>".$i."+";
  13.         }
  14.         // De hecho, en lugar del if anterior, sólo debes sumar $i a $suma
  15.         // y, si es necesario, mostrar la operación con echo
  16.     }
  17.     echo $suma;
  18. } // faltaría un else para un mensaje de error
  19. else
  20. {
  21.     echo 'Proporciona los valores correctamente.';
  22. }

Con eso debe bastar para que lo soluciones por ti mismo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 18/09/2013, 21:45
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Suma de digitos consecutivos

Hola tengo estos códigos como puedo aya la suma de los mismos. que tendría que quitarle o agregarle, alguien me podría ayudar.

<form action="" method="post">
<label>INICIAL:</label><input type="text" name="inicial"><br>
<label>FINAL:</label><input type="text" name="final"><br>
<input type="submit" value="Enviar" name="enviar">
</form>
<br>
<?php
error_reporting(0);

$inicial = (isset($_POST['inicial'])?$_POST['inicial']:"0");
$final = (isset($_POST['final'])?$_POST['final']:"0");
$suma = 0;

if($inicial>0 && $final >= $i){
for($i=$inicial;$i<=$final;$i++){
echo "<br>".$i;
}
}

// $suma = $i($i+1)/2 - $inicial;

?>
Infracción Recibida
  #4 (permalink)  
Antiguo 18/09/2013, 22:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 12 años
Puntos: 2534
Respuesta: Suma de digitos consecutivos

Pues necesitas una variable que almacene el $total de la $suma antes de iterar, entonces, al sumar incrementas dicho resultado en tu $total para que al final lo puedas imprimir.

Algo así:
Cita:
total = 0
mientras {
total += suma
}
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/09/2013, 06:49
Avatar de buscahost  
Fecha de Ingreso: febrero-2002
Mensajes: 14
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Suma de digitos consecutivos

Hola. Creo que la suma sería algo asi como:

$inicial = (isset($_POST['inicial'])?$_POST['inicial']:"0");
$final = (isset($_POST['final'])?$_POST['final']:"0");
$suma = 0;

if($inicial>0 && $final >= $iinicial)
{
for($i=$inicial;$i<=$final;$i++)
{
$suma+=$i;
}
}

echo "El total es: ".$suma;
  #6 (permalink)  
Antiguo 19/09/2013, 10:53
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: FOR e IF (PHP)

Hola eh hecho los cambios pero no me acepta o sale error en for cuando aplico la suma:
asi lo tengo hasta el momento:
PD : Gracias por la ayuda, me están sirviendo los otros dos ejercicios ya me salio, solo me falta este. :)
-----------------------------------------------------------------------------------------------------------------------


<form action="" method="post">
<label>INICIAL:</label><input type="text" name="inicial"><br>
<label>FINAL:</label><input type="text" name="final"><br>
<input type="submit" value="Enviar" name="enviar">
</form>
<br>
<?php

error_reporting(0);

$inicial = (isset($_POST['inicial'])?$_POST['inicial']:"0");
$final = (isset($_POST['final'])?$_POST['final']:"0");
$suma = 0;

if($inicial>0 && $final>=$inicial){
for($i=$inicial;$i<=$final;$i++) //$suma = $final($final+1)/2; //Se supone que la suma la harás dentro del for
if($i+$suma){
echo "<br>".$i."+";
}
echo "<br>".$suma;
}
else
{
echo 'Proporciona los valores correctamente.';
}
?>
  #7 (permalink)  
Antiguo 19/09/2013, 11:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: FOR e IF (PHP)

A tu for le faltan las llaves {} y la logica de lo que haces dentro del for no es correcta si lo que quieres es incrementar una variable tienes que hacerlo así:
Código PHP:
Ver original
  1. $variable = $variable + $otravariable; // forma larga
  2. $variable += $otravariable; // forma corta
  3. // también puedes usar -=

Saludos.
  #8 (permalink)  
Antiguo 19/09/2013, 11:10
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Suma de digitos consecutivos

Gracias por tu aporte :d

Etiquetas: consecutivos, digitos, formulario, suma
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 11:37.