Programación estructurada

Ciclos

Ciclos

Recordatorio: La estructura de iteración se refiere a la repetición de la ejecución de una instrucción, o conjunto de instrucciones, mientras que valor booleano sea evaluado como verdadero

 

La evaluación de este valor booleano (esto es, si es verdadero o falso) puede hacerse con valores normales, variables, constantes, o con valores regresados de alguna función

Ciclos

En sentido estricto, hay tres formas de realizar iteraciones:

  • for
  • while
  • do... while
    • Esta última tiene una diferencia fundamental respecto a las anteriores

Las tres formas requieren los mismos tres elementos para ser definidas:

  1. incialización: se debe incializar cualquier valor relacionado a la evaluación
  2. evaluación: se debe hacer una evaluación booleana que decide cuando seguir iterando instrucciones y cuando detenerse
  3. actualización: se debe actualizar cualquier valor relcionado a la evaluación

Ciclos: For

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    for (i = 0; i < n; i++)
    {
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen

Ciclos: For

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    for (i = 0; i < n; i++)
    {
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    for(inicialización; evaluación; actualización)
     
  • Si la condición se cumple se ejecutan las instrucciones en el bloque de instrucciones relacionado
     
  • Ni la defininción del ciclo ni las llaves que delimitan el bloque de instrucciones llevan punto y coma

Ciclos: For

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    for (i = 0; i < n; i++)
    {
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • Si la condición de la evaluación no deja de cumplirse nunca, el ciclo no tiene forma de terminar su ejecución

Ciclos: For

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    for (i = 0; i < n; i++)
    {
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • Una vez que el ciclo termina de ejecutarse, el resto de las instrucciones que le siguen se ejecutan de manera normal

Ciclos: While

  • El diagrama de flujo ya lo conocen
#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    while(evaluación)

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    while(evaluación)
     
  • La inicialización de la variable relacionada a la evaluación debe hacerse antes del la definición del ciclo

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    while(evaluación)
     
  • La inicialización de la variable relacionada a la evaluación debe hacerse antes del la definición del ciclo
     
  • La actualización de la variable relacionada a la evaluación debe hacerse durante la ejecución del ciclo

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • Si la condición se cumple se ejecutan las instrucciones en el bloque de instrucciones relacionado
     
  • Ni la definición del ciclo ni las llaves que delimitan el bloque de instrucciones relacionado llevan punto y coma

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • Si la condición de la evaluación no deja de cumplirse nunca, el ciclo no tiene forma de terminar su ejecución

Ciclos: While

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    while (i < n)
    {
      i++;
      printf("Una repetición\n");
    }
    
    printf("Se realizaron %d repeticiones", i);

}
  • Una vez que el ciclo termina de ejecutarse, el resto de las instrucciones que le siguen se ejecutan de manera normal

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    do ... while(evaluación)

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    do ... while(evaluación)
     
  • La inicialización de la variable relacionada a la evaluación debe hacerse antes del la definición del ciclo

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • La definición del ciclo está dada por:
    do ... while(evaluación)
     
  • La inicialización de la variable relacionada a la evaluación debe hacerse antes del la definición del ciclo
     
  • La actualización de la variable relacionada a la evaluación debe hacerse durante la ejecución del ciclo

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • A diferencia de las otras dos construcciones, el bloque de instrucciones relcionado se ejecuta al menos una vez
     
  • Si la condición se cumple se vuelven a ejecutar las instrucciones en el bloque de instrucciones relacionado

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • El diagrama de flujo ya lo conocen
     
  • Noten que la palabra reservada do, ni las llaves relacionadas, llevan punto y coma...
     
  • ... pero la definición del ciclo con la palabra reservada while sí lleva punto y coma
     
  • Si la condición de la evaluación no deja de cumplirse nunca, el ciclo no tiene forma de terminar su ejecución

Ciclos: Do... while

#include <stdio.h>

int main()
{

    int i = 0;
    int n = 5;

    do 
    {
      i++;
      printf("Una repetición\n");
    }
    while (i < n);
    
    printf("Se realizaron %d repeticiones", i);

}
  • Una vez que el ciclo termina de ejecutarse, el resto de las instrucciones que le siguen se ejecutan de manera normal

Ciclos

  • Tengan cuidado con que las condiciones de evaluación tengan alguna forma de dejar de cumplirse o van a entrar en un ciclo interminable
     
  • Los ciclos definidos por while y for suelen ser intercambiables, esto mismo no pasa con los ciclos definidos por do ... while
     
  • Tengan cuidado en donde ponen puntos y coma

Tarea 2

Descripción: Realiza los diagramas y programas que se describen en este documento


Fecha de entrega: Hasta el domingo 4 de agosto a las 23:59:59 por Ubicua


Entregable: Un archivo que cumpla con las características descritas en el documento así como las siguientes:

  1. Debe estar en formato PDF
  2. Debe llevar como nombre solamente su matrícula (por ejemplo: 201518223.pdf)
  3. Debe tener como contenido únicamente lo que se especifica en el documento