SlideShare una empresa de Scribd logo
UNIVERSIDAD MILITAR NUEVA GRANADA




    CENTRO DE SISTEMAS
      Programación 1
        centro.sistemas@unimilitar.edu.co
CENTRO DE SISTEMAS




Estructuras de Control
     Repetitivas

    alcira.ordonez@unimilitar.edu.co
Ciclos
Al grupo de instrucciones que se repiten en un programa se
les llama bucle o ciclo.
Cada repetición de las instrucciones del bucle se le
denomina una iteración.
En repeticiones controladas por contador, se usa una
variable de control que permite contar el número de
iteraciones la cual aumenta en un número fijo. Cuando la
variable indica que se han ejecutado todas las iteraciones, se
termina el bucle. El programa continúa en la instrucción
siguiente a la del fin de la estructura de repetición.
Instrucciones Repetitivas
En la elaboración de programas es importante que
existan instrucciones que permiten que el computador
ejecute un grupo de instrucciones varias veces sin
tener que volverlas a escribir, estas son: la instrucción
mientras que y la instrucción para.
Bucles
Un bucle o ciclo es un trozo de algoritmo, cuyas
instrucciones se repiten un número determinado de veces
mientras se cumple una determinada condición.
Una iteración es la ejecución de todas las instrucciones del
ciclo.
Bucles
Un bucle consta de tres partes fundamentales:
    – Decisión (simple o compuesta)
    – Cuerpo
    – Salida

Los bucles pueden ser sencillos o anidados (ciclos dentro de
otros ciclos).
Bucles
Contador
Los procesos repetitivos son la base del uso del
computador. Una forma de controlar un bucle es
mediante un contador.

Un contador es una variable cuyo valor se incrementa
o decrementa en una cantidad constante por cada
iteración.
Contador
El formato general es:

   Contador  Contador + Cantidad Constante

Ejemplo:

   ZZ+2

donde Z se incrementa en 2 en cada iteración.
Acumulador
Es una variable cuya misión es almacenar por cada iteración,
cantidades variables resultantes de sumas o productos
sucesivos.
El formato general es:
  Acumulador  Acumulador + Cantidad Variable, ó
  Acumulador  Acumulador * Cantidad Variable
Ejemplo:
       S  S+N,
donde N es una variable y no una constante
Centinela
Las repeticiones controladas por centinela, se utilizan
cuando el número de iteraciones no es conocido o el bucle
incluye enunciados para obtener datos cada vez que se
ejecute.
El valor del centinela es proporcionado al programa para
terminar el bucle, una vez suministrado todos los datos que
requiere el programa. A este tipo de repetición por
centinela, se le denomina repetición indefinida, por que no
se sabe con anticipación cuántas veces se necesitará
ejecutar el bucle. Si no se ingresa el centinela el programa se
ejecutaría infinitas veces y no podría terminar.
Instrucción mientras que
La instrucción mientras, permite ejecutar una instrucción o
un grupo de instrucciones un número determinado de veces,
mientras se cumple una condición. Esta instrucción es
utilizada, cuando no se sabe el número de veces que va a
ocurrir el ciclo.
Se representa en pseudocódigo así:
   mientras (condición) hacer
       instrucciones
   fin_mientras
Sentencia FOR
Los operadores incrementales o decrementales son:
    a++ cuando se desea incrementar en uno el contador
    a--  cuando se desea restar en uno el contador
    a+=2 cuando se desea incrementar en dos el contador
Los punto y coma son indispensables para separar la
inicialización del contador, con la expresión lógica y el
incremento o decremento.
Sintaxis Sentencia For
Cuando el bucle contiene solo una sentencia, no son
indispensables las llaves { } en la sintaxis, así:
       for (condición)
            sentencia;
Ejemplo:
       int K;
       for (k=1; k<=20; k+=2)
       cout<< k;
Imprime los números 1, 3, …, 17 y 19. La variable k es el
contador e inicia en 1 y finaliza al llegar a 20. La variable se
puede declarar al inicializarla así:
   for (int k=1; k <= 20; k=k+2)
Ejemplo
Ejemplo: Sumar 10 números enteros introducidos por teclado
    #include<iostream>
    using namespace std;
    int main()
    {
    int SU=0,NU;
    cout<<"Ingrese 10 numeros "<<endl;
    for(int i=1 ;i<=10 ;i++)
    {
         cin>>NU;
         SU=SU+NU;
    }
    cout<<SU<<endl;
    }
Sentencia while (mientras que)
La estructura de control while, genera bucles controlados
por centinela en los cuales se conoce la condición de
terminación del bucle, pero no se conoce de antemano
cuantas son las iteraciones del bucle. Aunque con la
estructura while podríamos hacer bucles for, por facilidad en
el control del contador, es más utilizado el for para
implementar los bucles controlados por contador.
Sintaxis Sentencia While
Sintaxis de la instrucción:
    while (condición)
    {
       sentencia-1;
       sentencia-2;
       sentencia-3;
       :
       :
       sentencia-n;
    }
Sintaxis Sentencia For
En este caso las sentencias se repiten, mientras la expresión
lógica o condición del bucle sea verdadera.
La condición del bucle se evalúa antes de que se ejecuten las
sentencias. Si la condición es falsa, no se ingresará al bucle.
No se requiere el punto y coma (;) en la línea del while, de
hacerse no ejecutará el bucle.
Cuando se debe ejecutar solo una sentencia varias veces, no
son indispensables las llaves { }.
Ejemplo
Ejemplo:
   int y=z=0;
   while(y!=10)
   {
       cin>>y
       z=z+y;
   }
   cout<<z<<endl;
El ciclo while, suma los números que se ingresan por teclado
en la variable z, hasta que se digite el valor del centinela que
en este caso es 10 y que permite la terminación del ciclo.
Ejemplo
Ejemplo: Contar los números positivos que se ingresan por
teclado hasta que se ingrese un número negativo.
Variables:
   X (centinela)
   P (contador)
Ejemplo
#include<iostream>
using namespace std;
int main()
{
     int X=0,P=-1;
     cout<<"Ingrese positivos, para terminar
     ingrese un negativo"<<endl;
     while(X>=0)
     {
          P++;
          cin>>X;
     }
cout<<"Ingreso "<<P<<" numeros"<<endl;
system("pause");
}
Sentencia do while (haga mientras que)
Esta sentencia funciona de modo análogo a la instrucción
while, con la diferencia de que la condición se evalúa
después de ejecutar las primeras sentencias, esto significa
que el bucle se ejecuta por lo menos una vez.
Sintaxis de la instrucción:
do
      {
      sentencia-1;
      sentencia-2;
      sentencia-3;
      :
      sentencia-n;
     } while (condición);
Sintaxis Sentencia do While
Comienza ejecutando las sentencias y se evalúa a
continuación el ciclo. Si la condición es verdadera, entonces
se repite la ejecución de las sentencias. Este proceso
continúa hasta que la condición sea falsa. Se debe escribir un
punto y coma (;), luego de la condición del while. El siguiente
ejemplo imprime los números del 1 al 9. Se ha utilizado una
variable contador x:
    int x=1;
    do
    {
    cout<<x<<endl;
    x++;
    } while(x<10);
.
Ejemplo
Hacer un programa que imprima la tabla de multiplicar de un
número dado por teclado
Tabla de multiplicar de un número dado por teclado
#include<iostream>
using namespace std;
int main()
{
     int y,n;
     cout<<"Cual tabla desea imprimir? "<<endl;
     cin>>n;
     Do { cout<<y<<" * "<<n<<" = "<<y*n<<endl; y++;
      }
     while(y<=10);
}
Bucles Anidados
Ejemplo
Ejemplo: Escribir las tablas de multiplicar de la 1 a la 5, con 10
multiplicandos cada una.
   #include<iostream>
   using namespace std;
   int main()
   {
    for(int i=1 ;i<=5 ;i++)
   {
          cout<<"n tabla del "<<i<<endl;
               for(int j=1 ;j<=10 ;j++)
          cout<<i<<" * "<<j<<"="<<i*j<<endl;
   }
   system("pause");
   }
Instrucciones Break Continue
Algunas veces es necesario interrumpir un bucle o no tomar en
cuenta una iteración, la instrucción break, obliga a una
terminación inmediata de la instrucción switch, while, for o do-
while y la instrucción continue, transfiere el control al inicio del
bucle.
La instrucción break, se utiliza por lo general, cuando se detecta
que va a suceder algo fuera de lo normal en un programa,
como por ejemplo cuando se introduce un dato que puede
ocasionar una división por cero.
Sintaxis Instrucción Break
Se desea calcular la ecuación:




para 10 números introducidos por teclado.
Ejemplo
{   int x;
     float y;
     for (int contador=1;contador<=10;contador++)
     {cout<<"Introduzca un numero "<<endl;
          cin>>x;
          if(x==7)
                 { cout<<"No es posible dividir por cero, se interrumpe el bucle "<<endl;
                 break;
               }
     y=(3*x+2)/(x-7);
     cout<<"Solucion de la ecuacion "<<y<<endl;
     }
     system("pause");
     }
Sintaxis Instrucción Continue
La instrucción continue, se aplica en los ciclos while, do-while o
for. Cuando continue aparece en una instrucción while, significa
que la ejecución se transferirá automáticamente a la parte
superior del ciclo y empezará a evaluar nuevamente la
condición.
Es útil la instrucción continue para no contabilizar datos
inválidos. Por ejemplo las notas erradas de un grupo de
estudiantes cuando se desea el promedio y se ingresan datos
por fuera del rango 1 a 5
Ejemplo
{
const int TOPE=100;
float cuenta=0, calificacion, suma=0;
cout<<"Inserte las calificaciones, para terminar digite 100 "<<endl;
while(calificacion!=TOPE)
    {
     cin>>calificacion;
     if(calificacion<0 || calificacion>5)
     continue;
     suma=suma+calificacion;
     cuenta++;
    }
     cout<<" El promedio de las calificaciones es "<<suma/cuenta<<endl;
     system("pause");
     }

Más contenido relacionado

La actualidad más candente

Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
Sara Martínez Gómez
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
Angel Miguel Coria Lopez
 
Estructuras PseInt
Estructuras PseIntEstructuras PseInt
Estructuras PseInt
Marta Quintero
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15
rasave
 
Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)
Pedro Antonio Villalta (Pavillalta)
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeInt
Cristian C
 
Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana. Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana.
Carlos Aviles Galeas
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
Ruby
 
While y do while
While y do whileWhile y do while
While y do while
josenassr
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Angel R Pilco Q
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
Miguel Angel Peña
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
yance1
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
Rommel Lòpez
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
epetekaun
 

La actualidad más candente (20)

Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Estructuras PseInt
Estructuras PseIntEstructuras PseInt
Estructuras PseInt
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeInt
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
 
Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana. Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana.
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
While y do while
While y do whileWhile y do while
While y do while
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 

Similar a Estructura repetitiva

PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
Jessenia Realpe
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
Abrirllave
 
Guia4
Guia4Guia4
Guia4
henser
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
SNPP
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y cicloslincolnschoolgdl
 
183007957 estructuras repetitivas-estructurarepetitivadesdevi
183007957 estructuras repetitivas-estructurarepetitivadesdevi183007957 estructuras repetitivas-estructurarepetitivadesdevi
183007957 estructuras repetitivas-estructurarepetitivadesdevi
yaquelinpr
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióNRegina Flores
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióNRegina Flores
 
Estructuras de Control Repetitivo
Estructuras de Control RepetitivoEstructuras de Control Repetitivo
Estructuras de Control Repetitivo
Rossana Guillen Avila
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
Ramiro Estigarribia Canese
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Fernando Solis
 

Similar a Estructura repetitiva (20)

Sentencias
SentenciasSentencias
Sentencias
 
Sentencias
SentenciasSentencias
Sentencias
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Guia4
Guia4Guia4
Guia4
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y ciclos
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
183007957 estructuras repetitivas-estructurarepetitivadesdevi
183007957 estructuras repetitivas-estructurarepetitivadesdevi183007957 estructuras repetitivas-estructurarepetitivadesdevi
183007957 estructuras repetitivas-estructurarepetitivadesdevi
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
C facil de_v2
C facil de_v2C facil de_v2
C facil de_v2
 
Ciclos
CiclosCiclos
Ciclos
 
Estructuras de Control Repetitivo
Estructuras de Control RepetitivoEstructuras de Control Repetitivo
Estructuras de Control Repetitivo
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 

Más de Alcira Ordóñez Rey

Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas Numéricos
Alcira Ordóñez Rey
 
Cómo desarrollar un sistema de ecuaciones
Cómo desarrollar un sistema de ecuacionesCómo desarrollar un sistema de ecuaciones
Cómo desarrollar un sistema de ecuaciones
Alcira Ordóñez Rey
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
Alcira Ordóñez Rey
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
Alcira Ordóñez Rey
 
Sistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatisSistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatis
Alcira Ordóñez Rey
 
Web 2.0 final
Web 2.0 finalWeb 2.0 final
Web 2.0 final
Alcira Ordóñez Rey
 
10 Visión Por Computador
10 Visión Por Computador10 Visión Por Computador
10 Visión Por Computador
Alcira Ordóñez Rey
 
07 El Agua Red De Relaciones
07 El Agua Red De Relaciones07 El Agua Red De Relaciones
07 El Agua Red De Relaciones
Alcira Ordóñez Rey
 
06 El Agua Ontologías
06 El Agua Ontologías06 El Agua Ontologías
06 El Agua Ontologías
Alcira Ordóñez Rey
 
05 El Agua Entidades Y Relaciones
05 El Agua Entidades Y Relaciones05 El Agua Entidades Y Relaciones
05 El Agua Entidades Y Relaciones
Alcira Ordóñez Rey
 
04 El Agua Entrevista Con Un Experto
04 El Agua   Entrevista Con Un Experto04 El Agua   Entrevista Con Un Experto
04 El Agua Entrevista Con Un Experto
Alcira Ordóñez Rey
 
03 Diseño De Un Curso En Moodle
03  Diseño De Un  Curso En  Moodle03  Diseño De Un  Curso En  Moodle
03 Diseño De Un Curso En Moodle
Alcira Ordóñez Rey
 
02 Contrastación De Modelos Pedagógicos
02  Contrastación De  Modelos  Pedagógicos02  Contrastación De  Modelos  Pedagógicos
02 Contrastación De Modelos Pedagógicos
Alcira Ordóñez Rey
 
01 Bloques Lógicos
01  Bloques  Lógicos01  Bloques  Lógicos
01 Bloques Lógicos
Alcira Ordóñez Rey
 

Más de Alcira Ordóñez Rey (14)

Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas Numéricos
 
Cómo desarrollar un sistema de ecuaciones
Cómo desarrollar un sistema de ecuacionesCómo desarrollar un sistema de ecuaciones
Cómo desarrollar un sistema de ecuaciones
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
 
Sistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatisSistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatis
 
Web 2.0 final
Web 2.0 finalWeb 2.0 final
Web 2.0 final
 
10 Visión Por Computador
10 Visión Por Computador10 Visión Por Computador
10 Visión Por Computador
 
07 El Agua Red De Relaciones
07 El Agua Red De Relaciones07 El Agua Red De Relaciones
07 El Agua Red De Relaciones
 
06 El Agua Ontologías
06 El Agua Ontologías06 El Agua Ontologías
06 El Agua Ontologías
 
05 El Agua Entidades Y Relaciones
05 El Agua Entidades Y Relaciones05 El Agua Entidades Y Relaciones
05 El Agua Entidades Y Relaciones
 
04 El Agua Entrevista Con Un Experto
04 El Agua   Entrevista Con Un Experto04 El Agua   Entrevista Con Un Experto
04 El Agua Entrevista Con Un Experto
 
03 Diseño De Un Curso En Moodle
03  Diseño De Un  Curso En  Moodle03  Diseño De Un  Curso En  Moodle
03 Diseño De Un Curso En Moodle
 
02 Contrastación De Modelos Pedagógicos
02  Contrastación De  Modelos  Pedagógicos02  Contrastación De  Modelos  Pedagógicos
02 Contrastación De Modelos Pedagógicos
 
01 Bloques Lógicos
01  Bloques  Lógicos01  Bloques  Lógicos
01 Bloques Lógicos
 

Estructura repetitiva

  • 1. UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS Programación 1 centro.sistemas@unimilitar.edu.co
  • 2. CENTRO DE SISTEMAS Estructuras de Control Repetitivas alcira.ordonez@unimilitar.edu.co
  • 3. Ciclos Al grupo de instrucciones que se repiten en un programa se les llama bucle o ciclo. Cada repetición de las instrucciones del bucle se le denomina una iteración. En repeticiones controladas por contador, se usa una variable de control que permite contar el número de iteraciones la cual aumenta en un número fijo. Cuando la variable indica que se han ejecutado todas las iteraciones, se termina el bucle. El programa continúa en la instrucción siguiente a la del fin de la estructura de repetición.
  • 4. Instrucciones Repetitivas En la elaboración de programas es importante que existan instrucciones que permiten que el computador ejecute un grupo de instrucciones varias veces sin tener que volverlas a escribir, estas son: la instrucción mientras que y la instrucción para.
  • 5. Bucles Un bucle o ciclo es un trozo de algoritmo, cuyas instrucciones se repiten un número determinado de veces mientras se cumple una determinada condición. Una iteración es la ejecución de todas las instrucciones del ciclo.
  • 6. Bucles Un bucle consta de tres partes fundamentales: – Decisión (simple o compuesta) – Cuerpo – Salida Los bucles pueden ser sencillos o anidados (ciclos dentro de otros ciclos).
  • 8. Contador Los procesos repetitivos son la base del uso del computador. Una forma de controlar un bucle es mediante un contador. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante por cada iteración.
  • 9. Contador El formato general es: Contador  Contador + Cantidad Constante Ejemplo: ZZ+2 donde Z se incrementa en 2 en cada iteración.
  • 10. Acumulador Es una variable cuya misión es almacenar por cada iteración, cantidades variables resultantes de sumas o productos sucesivos. El formato general es: Acumulador  Acumulador + Cantidad Variable, ó Acumulador  Acumulador * Cantidad Variable Ejemplo: S  S+N, donde N es una variable y no una constante
  • 11. Centinela Las repeticiones controladas por centinela, se utilizan cuando el número de iteraciones no es conocido o el bucle incluye enunciados para obtener datos cada vez que se ejecute. El valor del centinela es proporcionado al programa para terminar el bucle, una vez suministrado todos los datos que requiere el programa. A este tipo de repetición por centinela, se le denomina repetición indefinida, por que no se sabe con anticipación cuántas veces se necesitará ejecutar el bucle. Si no se ingresa el centinela el programa se ejecutaría infinitas veces y no podría terminar.
  • 12. Instrucción mientras que La instrucción mientras, permite ejecutar una instrucción o un grupo de instrucciones un número determinado de veces, mientras se cumple una condición. Esta instrucción es utilizada, cuando no se sabe el número de veces que va a ocurrir el ciclo. Se representa en pseudocódigo así: mientras (condición) hacer instrucciones fin_mientras
  • 13. Sentencia FOR Los operadores incrementales o decrementales son: a++ cuando se desea incrementar en uno el contador a-- cuando se desea restar en uno el contador a+=2 cuando se desea incrementar en dos el contador Los punto y coma son indispensables para separar la inicialización del contador, con la expresión lógica y el incremento o decremento.
  • 14. Sintaxis Sentencia For Cuando el bucle contiene solo una sentencia, no son indispensables las llaves { } en la sintaxis, así: for (condición) sentencia; Ejemplo: int K; for (k=1; k<=20; k+=2) cout<< k; Imprime los números 1, 3, …, 17 y 19. La variable k es el contador e inicia en 1 y finaliza al llegar a 20. La variable se puede declarar al inicializarla así: for (int k=1; k <= 20; k=k+2)
  • 15. Ejemplo Ejemplo: Sumar 10 números enteros introducidos por teclado #include<iostream> using namespace std; int main() { int SU=0,NU; cout<<"Ingrese 10 numeros "<<endl; for(int i=1 ;i<=10 ;i++) { cin>>NU; SU=SU+NU; } cout<<SU<<endl; }
  • 16. Sentencia while (mientras que) La estructura de control while, genera bucles controlados por centinela en los cuales se conoce la condición de terminación del bucle, pero no se conoce de antemano cuantas son las iteraciones del bucle. Aunque con la estructura while podríamos hacer bucles for, por facilidad en el control del contador, es más utilizado el for para implementar los bucles controlados por contador.
  • 17. Sintaxis Sentencia While Sintaxis de la instrucción: while (condición) { sentencia-1; sentencia-2; sentencia-3; : : sentencia-n; }
  • 18. Sintaxis Sentencia For En este caso las sentencias se repiten, mientras la expresión lógica o condición del bucle sea verdadera. La condición del bucle se evalúa antes de que se ejecuten las sentencias. Si la condición es falsa, no se ingresará al bucle. No se requiere el punto y coma (;) en la línea del while, de hacerse no ejecutará el bucle. Cuando se debe ejecutar solo una sentencia varias veces, no son indispensables las llaves { }.
  • 19. Ejemplo Ejemplo: int y=z=0; while(y!=10) { cin>>y z=z+y; } cout<<z<<endl; El ciclo while, suma los números que se ingresan por teclado en la variable z, hasta que se digite el valor del centinela que en este caso es 10 y que permite la terminación del ciclo.
  • 20. Ejemplo Ejemplo: Contar los números positivos que se ingresan por teclado hasta que se ingrese un número negativo. Variables: X (centinela) P (contador)
  • 21. Ejemplo #include<iostream> using namespace std; int main() { int X=0,P=-1; cout<<"Ingrese positivos, para terminar ingrese un negativo"<<endl; while(X>=0) { P++; cin>>X; } cout<<"Ingreso "<<P<<" numeros"<<endl; system("pause"); }
  • 22. Sentencia do while (haga mientras que) Esta sentencia funciona de modo análogo a la instrucción while, con la diferencia de que la condición se evalúa después de ejecutar las primeras sentencias, esto significa que el bucle se ejecuta por lo menos una vez. Sintaxis de la instrucción: do { sentencia-1; sentencia-2; sentencia-3; : sentencia-n; } while (condición);
  • 23. Sintaxis Sentencia do While Comienza ejecutando las sentencias y se evalúa a continuación el ciclo. Si la condición es verdadera, entonces se repite la ejecución de las sentencias. Este proceso continúa hasta que la condición sea falsa. Se debe escribir un punto y coma (;), luego de la condición del while. El siguiente ejemplo imprime los números del 1 al 9. Se ha utilizado una variable contador x: int x=1; do { cout<<x<<endl; x++; } while(x<10); .
  • 24. Ejemplo Hacer un programa que imprima la tabla de multiplicar de un número dado por teclado Tabla de multiplicar de un número dado por teclado #include<iostream> using namespace std; int main() { int y,n; cout<<"Cual tabla desea imprimir? "<<endl; cin>>n; Do { cout<<y<<" * "<<n<<" = "<<y*n<<endl; y++; } while(y<=10); }
  • 26. Ejemplo Ejemplo: Escribir las tablas de multiplicar de la 1 a la 5, con 10 multiplicandos cada una. #include<iostream> using namespace std; int main() { for(int i=1 ;i<=5 ;i++) { cout<<"n tabla del "<<i<<endl; for(int j=1 ;j<=10 ;j++) cout<<i<<" * "<<j<<"="<<i*j<<endl; } system("pause"); }
  • 27. Instrucciones Break Continue Algunas veces es necesario interrumpir un bucle o no tomar en cuenta una iteración, la instrucción break, obliga a una terminación inmediata de la instrucción switch, while, for o do- while y la instrucción continue, transfiere el control al inicio del bucle. La instrucción break, se utiliza por lo general, cuando se detecta que va a suceder algo fuera de lo normal en un programa, como por ejemplo cuando se introduce un dato que puede ocasionar una división por cero.
  • 28. Sintaxis Instrucción Break Se desea calcular la ecuación: para 10 números introducidos por teclado.
  • 29. Ejemplo { int x; float y; for (int contador=1;contador<=10;contador++) {cout<<"Introduzca un numero "<<endl; cin>>x; if(x==7) { cout<<"No es posible dividir por cero, se interrumpe el bucle "<<endl; break; } y=(3*x+2)/(x-7); cout<<"Solucion de la ecuacion "<<y<<endl; } system("pause"); }
  • 30. Sintaxis Instrucción Continue La instrucción continue, se aplica en los ciclos while, do-while o for. Cuando continue aparece en una instrucción while, significa que la ejecución se transferirá automáticamente a la parte superior del ciclo y empezará a evaluar nuevamente la condición. Es útil la instrucción continue para no contabilizar datos inválidos. Por ejemplo las notas erradas de un grupo de estudiantes cuando se desea el promedio y se ingresan datos por fuera del rango 1 a 5
  • 31. Ejemplo { const int TOPE=100; float cuenta=0, calificacion, suma=0; cout<<"Inserte las calificaciones, para terminar digite 100 "<<endl; while(calificacion!=TOPE) { cin>>calificacion; if(calificacion<0 || calificacion>5) continue; suma=suma+calificacion; cuenta++; } cout<<" El promedio de las calificaciones es "<<suma/cuenta<<endl; system("pause"); }