sábado, 19 de abril de 2014

BUCLES: DEFINICION - TIPOS - EJEMPLOS

VIDEO ACERCA DE BUCLES



BUCLES TEORÍA

Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente,un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
El bucle y los condicionales representan la base de la programación estructurada. Es una evolución del código ensamblador, donde la única posibilidad de iterar un código era establecer una sentencia jump (que en los lenguajes de programación fue sustituida por el "ir a" o GOTO).

DIVICION DE LOS BUCLES: FINITOS - INFINITOS 
BUCLES INFINITOS: En programación es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.
Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

BUCLES FINITOS: Es fácil escribir un bucle que parece infinito pero que en realidad termina bastante rápido; por ejemplo en C tendríamos for (int i = 1; i > 0; i++); donde la variable i empieza en 1 y va aumentándose de forma "infinita", pero en realidad el bucle termina ya debido a un overflow del tipo integer que vuelve a i negativo. Una discusión reciente me llevó a plantearme el problema contrario. ¿Podemos escribir un bucle finito (teóricamente) pero que esté garantizado que nunca vaya a completarse? 

TIPOS DE BUCLES DE REPETICION


While: Su funcionamiento es sencillo, ya que primero se evalúa que la condición sea verdadera y luego se ejecuta, hasta que la condición pase a ser falsa; una sentencia while(Español: Mientras) puede que no se ejecute ni siquiera una vez, si su condición es inicialmente falsa.ejemplo:


        <?php
          $i = 1;
          while($i <= 3)  $i += 1;
          echo 'La variable $i vale: ' . $i ;
          ?>

Do...While: Su uso es similar a while, pero aquí, las sentencias que siguen al do (Español: Hacer) se ejecutan por lo menos una vez y se comprueba la condición luego de la primera iteración; así, si es verdadera la condición se repite por segunda vez, si es falsa se continúa con las sentencias inmediatamente después de la instrucción while. Tiene sólo una sintáxis.

                                  do {
          sentencia;
          sentencia;
          .
          .
          .
           sentencia;
          } while (condición);

For: Los bucles for (Español: Para) son los más complejos en PHP (y en otros lenguajes de programación). Su sintaxis es la siguiente:

 for (inicialización; condición; actualización) sentencia;
           Inicialización: Es una expresión que ejecuta una sola vez al inicio y predetermina el primer                     valor inicial, mas comúnmente asignado a una variable ejemplo:
:$i = 1;
           Condición: Es una expresión que se evalúa como falsa o verdadera, si es falsa el bucle finaliza,             en caso contrario el bucle ejecuta la sentencia ejemplo:
:$i <= 5;
          Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en                   incremento o decremento Ejemplo:
:$i += 1

Foreach: Introducido en PHP 4 es una solución fácil para trabajar con arreglos, muy semejante a Perl y otros lenguajes, funciona solo en arreglos y presentara un error al utilizar una variable con diferente tipo o no inicializada. Existen dos sintaxis la segunda opción en menor pero tiene mejor uso que la primera.

      <p>foreach</p>
       foreac<html>
      <body>h (expresión_arreglo as $valor)
        sentencia
       foreach (expresión_arreglo as $llave => $valor)
              sentencia
      </body>
      </html>

TERMINAMOS CON BUCLES EN CODIFICACIONES C++, DIAGRAMA DE FLUJO Y ALGORITMOS:

DIVIDIENDO DOS NÚMEROS ENTEROS EN C++ (CODIFICACIÓN)- INFINITO
#include<iostream>
using namespace std;
int a, b ,c;
int main()
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=b/a;
cout<<c;
cout<<endl;
while (c=c)
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=b/a;
cout<<c;
cout<<endl;
}
system ("pause");
return 0;
}

DIAGRAMA DE FLUJO


ALGORITMO DEL BUCLE INFINITO

INICIO DE ALGORITMO:
- divicion  de números enteros
DECLARACIÓN
-a,b,c números enteros
ASIGNACIÓN
-b=numero entero
-a=numero entero
-c=numero entero
PROCESO DE DIVISIÓN
-b/a="C"
RESULTADO
-divicion resuelta
FIN DEL ALGORITMO


SUMANDO DOS NUMEROS EN C++ (CODIFICACIÓN)- FINITO

a, b ,c;
int main()
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=a+b;
cout<<c;
cout<<endl;
while (c=c)
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=a+b;
cout<<c;
cout<<endl;
}
system ("pause");
return 0;
}

DIAGRAMA DE FLUJO



ALGORITMO DEL BUCLE FINITO



INICIO DE ALGORITMO:
- suma  de números enteros
DECLARACIÓN
-a,b,c números enteros
ASIGNACIÓN
-b=numero entero
-a=numero entero
-c=numero entero
PROCESO DE DIVISIÓN
-a+b="C"
RESULTADO
-divicion resuelta
FIN DEL ALGORITMO
















No hay comentarios:

Publicar un comentario