Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Bucle do...while

Estas en el tema de Bucle do...while en el foro de PHP en Foros del Web. Porque no se me ejecuta este codigo me da error: Código PHP: <html>     <head>         <meta charset="UTF-8">         <title></title>     </head>     <body>          <?php                do{            $x ...
  #1 (permalink)  
Antiguo 26/01/2014, 12:44
 
Fecha de Ingreso: enero-2014
Ubicación: En mi casa
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Bucle do...while

Porque no se me ejecuta este codigo me da error:

Código PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
       
      
do{
          
$x=1;
          
$n=1;
          
$a $n $x;          
      }
      while(
$a<10);
      echo 
"100 ft en area es $x x $n";
       
        
?>
    </body>
</html>
  #2 (permalink)  
Antiguo 26/01/2014, 12:52
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Bucle do...while

Estás generando un bucle infinito, pues en cada iteración, $x y $n valdrán 1, al igual que $a, por lo que se seguirá cumpliendo la condición de que $a debe ser menor a 10. No entiendo por qué utilizas el bucle, ¿qué es lo que pretendes hacer?.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 26/01/2014, 13:30
 
Fecha de Ingreso: enero-2014
Ubicación: En mi casa
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Bucle do...while

Cita:
Iniciado por Alexis88 Ver Mensaje
Estás generando un bucle infinito, pues en cada iteración, $x y $n valdrán 1, al igual que $a, por lo que se seguirá cumpliendo la condición de que $a debe ser menor a 10. No entiendo por qué utilizas el bucle, ¿qué es lo que pretendes hacer?.

Saludos
Es un ejercicio para calcular la achura con la altura. Deberia de incrementarse las variables y calcular la resultante que guarda en $a, pero no se porque se hace infinito si le pongo break se sale y no se ejecuta estoy aprendiendo xd.
  #4 (permalink)  
Antiguo 26/01/2014, 13:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Bucle do...while

Para incrementar el valor de una variable, basta con que le sumes una cantidad cualquiera, por ejemplo:

Código PHP:
Ver original
  1. $variable = 1; //Valor original
  2. $variable = $variable + 1; //Valor original incrementado en 1
  3. $variable += 1; //Valor original incrementado en 1
  4. $variable++; //Valor original incrementado en 1

Ahora bien, imagino que lo que debes calcular es el área la cual resulta de la multiplicación de la base por la altura del elemento, entonces, bastaría con que multipliques ambos datos e imprimas el resultado, por ejemplo:

Código PHP:
Ver original
  1. $base = 4;
  2. $altura = 5;
  3. $area = $base * $altura;
  4. echo $area; //Imprime 20

No le encuentro mucho sentido a eso de "calcular" la base y la altura, además, esos 100 pies no tienen un equivalente en metros cuadrados, necesitas otro valor para multiplicarlo por 100 y así obtener el área, así como en el ejemplo anterior.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 27/01/2014, 04:59
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Bucle do...while

while($a<10);

$a es siempre menor que 10 y por tanto ejecuta continuamente lo que hay entre ) y el ; y como no hay nada ejecuta infinitamente nada y se queda sin continuar con el siguiente código.

Etiquetas: bucle, html
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 02:23.