SlideShare uma empresa Scribd logo
1 de 51
Estructuras de Repetición en C




                                 2011/1 - CLASE 12
AGENDA
1


    2


        3


            4


                5


                    6
Introducción

            Introducción
En C existen tres estructuras de control
repetitivas:

Pseudocódigo               Lenguaje C
 Mientras                 while
 Para                     for
 Haga-mientras            do-while
Ciclos en C
Un ciclo (bucle) es una estructura que permite la
repetición de una o mas instrucciones un
determinado numero de veces.




       http://www.youtube.com/watch?v=aeg0mLp9IB0
Ciclos en C
                     Expresión lógica que controla la
                     secuencia       de      repetición.
(Condición)          Normalmente, se evalúa antes de
                     la ejecución del cuerpo del bucle.


                     Conjunto       de      instrucciones
                     (asociadas al problema) que se
 Cuerpo              ejecutan dentro del bucle:
                     • Estructuras condicionales.
                     • Instrucciones I/O.
                     • Otros bucles.
                     • Instrucciones de asignación.
    Fin
                     • Funciones.
Principios a considerar cuando se usan
                   bucles c
                            Es importante analizar
                           los requisitos del bucle,
                                 pues se debe
                                 determinar su
 Algunas preguntas de                                  ¿Qué principios
                           inicialización, condición
       utilidad:                                          considerar
                                y actualización.
 • ¿Qué es lo que debe                                    cuando se
 contener el cuerpo del                                diseñan bucles?
        bucle?
• Cuantas veces se itera
       el bucle.
Introducción

          Introducción

    • El cuerpo del ciclo.
1

    • Las sentencias de inicialización.
2

    • Las condiciones para la terminación
3     del bucle.
Introducción

              Introducción

Las estructuras ciclicas se terminan
cuando:
1. La condición de evalución se vuelve falsa
2. Cuando se ejecuta la instrucción break o
   return
AGENDA
1


    2


        3


            4


                5


                    6
SENTENCIA WHILE

                Sentencia while
Realiza un conjunto de operaciones mientras una
condición se esté cumpliendo, o mientras una
expresión sea verdadera
      • Se evalúa la condición-bucle
1
     • Si condición-bucle es verdadera :
       • Se ejecuta el cuerpo del bucle
2      • Vuelve el control al paso 1.
     • Si condición-bucle es falsa :
3      • Se termina el ciclo.

     • Condiciones:
*      • Cuantitativas y Caulitativas
SENTENCIA WHILE


            Sintaxis
          Pseudocódigo
Mientras (condición) haga
    Instrucciones
fin_mientras

           Lenguaje C
while (condición){
    Instrucciones;
}
SENTENCIA WHILE

              Sentencia while


(Condición)


                Variable de control: Variable que
                representa la condición del bucle ya
 Cuerpo         que su valor determina si el bucle se
                repite o no. Esta debe ser:
                • Inicializada.
                • Comprobada.
    Fin
                • Actualizada.
SENTENCIA WHILE

  Sentencia while

contador = 0;               Inicialización
  while (contador < n) {
      (Condición)          Comprobación



<Instrucciones>;
    ...Cuerpo
contador = contador+1;      Actualización



            }
            Fin
SENTENCIA WHILE

Sentencia while

 EVALUAR
                 Falso
CONDICIÓN

     Verdadero
                                 Fin del ciclo

                      Cuerpo
 EJECUTAR
                     del bucle
SENTENCIA WHILE


                 Ejemplo1
Realizar un programa que cuente
hasta N

  i = 0;
  while (i <= N) {
     printf("El valor del conteo es: %dn", i);
     i++;
  }
SENTENCIA WHILE

                        Ejemplo2
Realizar un programa que pida que se
ingresen las notas de los estudiantes, y que
cuando halla una nota menor que 3, muestre
un mensaje que diga “El estudiante perdió”. El
   salir = 0;
programa únicamente debe finalizar cuando
   while (salir!=1) {
el usuario lo desee. del estudiante:");
     printf("Ingrese la nota
      scanf("%f",&nota);
      if (nota < MIN_NOTA){
        printf("El estudiante perdion");
      }
      printf("Ingrese 0 para continuar, 1 para salir: ");
      scanf("%d",&salir);
  }
AGENDA
1


    2


        3


            4


                5


                    6
SENTENCIA FOR

                 Sentencia for
Realiza un conjunto de operaciones                           un
determinado número de veces

    • Se inicializa la variable de control y se
1     evalúa la condición-bucle
    • Si condición es verdadera :
      • Se ejecuta el cuerpo del bucle
2     • Se incrementa la variable y se evalúa la condición
    • Si condición-bucle es falsa :
3     • Se termina el ciclo.

    • Condiciones:
*     • Cuantitativas
SENTENCIA FOR

         Sentencia for
Recomendado para:

     • Ciclos que son controlados por
1      contador

    • Ejecutar un conjunto de instrucciones un
2     determinado número de veces
SENTENCIA WHILE


             Sintaxis
            Pseudocódigo
para VC desde LI hasta LF con INC
    <Instrucciones>
fin_para

             Lenguaje C
for( VC; condicionBucle; INC o DEC)
{
    instrucciones;
}
SENTENCIA FOR




Expre1: Se le da el
                            Sintaxis
valor inicial a la     Expre2: Condición, que
variable de control    contiene una expresión Expre3: Modificación
del bucle. Se pueden   lógica, mientras sea vble, como cambia la
inicializar una o      verdadera se realiza el variable de control
varias variables.      bucle


 for(VC; condicionBucle; INC o DEC)
 {
     instrucciones;
 }
SENTENCIA FOR

                   Sentencia for
                      Comprobación
Inicialización                               Actualización

                 for(i = 1 ; i < n; i++) {
                       (Condición)


          <Instrucciones>;
                    ...Cuerpo



                             }
                            Fin
SENTENCIA FOR



                            Sintaxis
          La(s) variable de control se puede incrementar o
         decrementar no solo en valores tipo int, también es
        posible realizar tales operaciones usando valores tipo
      float o double permitiendo el incremento o decremento
                       en cantidades decimales.



double p;                         float n;
for(p=0.75;   p<=5; p+= 0.25)     for(n=1;   n>= 0; n-=0.1)
{                                {
    printf(“p = %lfn”, p);          printf(“n = %fn”, n);
}                                }
SENTENCIA FOR



                 Ejemplo1
Realice programa que muestre los N
primeros factoriales
  fact=1;
  for (i = 1; i <= N; i++) {
    fact=fact*i;
    printf("factorial de %d: %dn",i,fact);
  }

  for (i = 1,fact=1; i <= N; i++) {
    fact=fact*i;
    printf("factorial de %d: %dn",i,fact);
  }
SENTENCIA FOR



                Ejemplo2
Realice programa que sume los N primeros
naturales pares.

     suma=0;
     for (i = 1; i <= N; i++) {
       if(i%2==0){
         suma+=i;
       }
     }
     printf("La suma es: %dn",suma);
SENTENCIA FOR



               Ejemplo3
Realice programa que muestre los 10
primeros impares naturales, en orden
descendente.

    for (i = MAX_NUM; i >= 0; i--) {
      if(i%2 != 0){
        printf("numero par: %dn",i);
      }
   }
SENTENCIA DO-WHILE


            Comparación while, for

         while
InicializaciónVC;                   for
while (condición)      for( VC; condición; INC)
{                      {
     InstruccionesX;         instrucciones;
     INC;              }
}
SENTENCIA WHILE Y FOR


           Recomendaciones
While: El uso más frecuente es cuando la
repetición no está controlada por contador;
la condición precede a cada repetición del
bucle.

For: Bucle de conteo, cuando el número de
repeticiones se conoce por anticipado y
puede ser controlado por un contador; la
evaluación de la condición precede a la
ejecución del cuerpo del bucle.
SENTENCIA WHILE Y FOR


                  Recomendaciones
        En el ciclo for no es recomendable modificar
        el valor de cualquiera de las variables de la
        condición del bucle dentro del cuerpo del
        bucle, ya que se pueden producir resultados
        imprevistos.
int i,limite = 11;              for (i = 0; i <= limite; i++)
for (i = 0; i <= limite; i++)   {
{                                       print f ("%dn",i);
        printf ( "%dn" , i ) ;         i--;
        Iimite++ ;              }
}
SENTENCIA WHILE Y FOR



                  Bucles infinitos
    Aplicaciones en los que el número de repeticiones
    no se pueden determinar por anticipado. Interesa
    que comiencen pero eventualmente que no
    terminen.
while(1)                    for ( ; ; )
{                           {
  Instrucciones;              Instrucciones;
  if (condiciónTerminación)   if(condiciónTerminación)
        break;                       break;
}                           }
AGENDA
1


    2


        3


            4


                5


                    6
SENTENCIA DO-WHILE

           Sentencia do-while
Bucle condicional que se ejecuta al menos
una vez.
      • Se ejecuta el cuerpo del bucle.
 1
     • Se evalúa la condicion.
       • Si se cumple la condición, entonces se repite la
 2       ejecución de sentencia.

     • Se evalúa la condicion.
       • Si no se cumple la condición la estructura termina y da
 3       paso a la continuación del programa

     • Condiciones:
 *     • Cuantitativas y Caulitativas
SENTENCIA DO-WHILE


            Sentencia do-while


                 Cuerpo del bucle
                    EJECUTAR

                     EVALUAR
                  CONDICIÓN
verdadero

                            Falso
                    Fin del ciclo
SENTENCIA DO-WHILE


        Sintaxis

do {
    Instrucciones;
} while (expresión);
SENTENCIA DO-WHILE


   Comparación while, do-while
    while                            do-while

                 Falso
   CONDICIÓN                          Cuerpo del
                                        bucle
verdadero
                         verdadero
    Cuerpo del
                                     CONDICIÓN
      bucle
                                             Falso
SENTENCIA DO-WHILE


       Comparación while, do-while


       while                do-while
while (expresión) {   do {
   InstruccionesX;        InstruccionesX;
}                     } while (expresión);
SENTENCIA DO-WHILE


                      Ejemplo

Programa que imprime un mensaje
“continua programa” hasta que se le ingrese
un carácter de terminación 0. (Realicelo con
while, luego con do-while y compare!!)
   do{
     printf("continuar programan");
     printf("Ingrese 0 para salir: ");
     scanf("%d",&salir);
   }while (salir!=CAR_FIN);
SENTENCIA WHILE Y FOR


          Recomendaciones
do -while: El uso más frecuente es cuando
la repetición no está controlada por
contador; el cuerpo del ciclo precede a la
condición.
AGENDA
1


    2


        3


            4


                5


                    6
INTRUCCIONES ESPECIALES


       Instrucción break
La sentencia break es utilizada como
método de terminación TEMPRANA del
bucle a la que pertenece.

Si mientras se ejecuta el cuerpo del
bucle, se encuentra con la instrucción
break, se terminará inmediatamente el
ciclo.
SENTENCIA WHILE

Instrucción break

  EVALUAR
                  Falso
CONDICIÓN

      Verdadero
                                  Fin del ciclo

                       Cuerpo
 EJECUTAR
                      del bucle
  break;
INTRUCCIONES ESPECIALES


               Ejemplo
Realizar un programa que pida que se ingresen
notas de N estudiantes, y que cuando halla una
nota mayo que 3, muestre un mensaje que diga
“Hay alguien que ganó”, y termine el programa
inmediatamente.
INTRUCCIONES ESPECIALES


            Instrucción continue
La sentencia continue hace que la ejecución de
un bucle vuelva inmediatamente a la cabecera
del bucle.

Programa que muestra conteo hasta 10, se
muestra el siguiente valor del conteo solo si se
le ha ingresado el número 0
INTRUCCIONES ESPECIALES
            #include <stdio.h>
            #define MAX_CONT 10
                       Instrucción continue
            #define CAR_ESPECIAL 0
            int main(void)
            {                               i=i+1
              int i, equiv=0;               i=1+1
              int mostrar; 11<=10 ?
                                  2<=10
                                  1<=10    …i=2
                       VC       CONDICIÓN INC
                 for (i = 1; i <= MAX_CONT; i++) {
            msj printf("Ingrese 0 si quiere ver el conteo:");
            read scanf("%d", &mostrar);
No Se ingresó 0 if (mostrar!= CAR_ESPECIAL){
    se
                                                        EJECUTA
         Volver al ciclo continue;
                     }
msj conteo=2 printf("El valor del conteo es: %dn", i);
Fin del ciclo }
                 return 0;
            }
AGENDA
1


    2


        3


            4


                5


                    6
Ciclos Anidados


             Ciclos anidados
Se pueden anidar ciclos repetitivos.
Útil para aplicaciones de matrices de mas de
una dimensión.

     for( i=0; i<LIM1; i++)
     {
         for( j=0; j<LIM2; j++)
         {
              Instruciones1;
         }
     }
Ciclos Anidados


              Ejemplo1
Realice un programa que muestre las
primeras       5    potencias(Utilizando
multiplicaciones) de los primeros 7
naturales.
Ciclos Anidados


                 Ejercicio
Realice un programa que muestre la siguiente
secuencia de números:
1
12
123
1234
12345
…

El usuario debe ingresar cual es el ultimo numero
que se debe mostrar en un renglón.
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C.
  Metodología, algoritmos y estructura de
  datos Capitulo3.
• H.M. Deitel, P.J. Deitel. Como programar en C
  y C++
• Google
1clase e12 estructurasderepeticionc

Mais conteúdo relacionado

Mais procurados

Estructuras de repeticion
Estructuras de repeticion Estructuras de repeticion
Estructuras de repeticion abmendo28
 
Complemento Ciclos
Complemento CiclosComplemento Ciclos
Complemento CiclosJairo Marin
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivasyance1
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1sena
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología JustineBravo1
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticionadark
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1Kathy Granizo
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlparada137
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióNRegina Flores
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En Cpainni
 

Mais procurados (20)

Estructuras de repeticion
Estructuras de repeticion Estructuras de repeticion
Estructuras de repeticion
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Complemento Ciclos
Complemento CiclosComplemento Ciclos
Complemento Ciclos
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Presentacion ciclos-1
Presentacion ciclos-1Presentacion ciclos-1
Presentacion ciclos-1
 
Tema0397
Tema0397Tema0397
Tema0397
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticion
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Contadores y Acumuladores
Contadores y AcumuladoresContadores y Acumuladores
Contadores y Acumuladores
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En C
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 

Semelhante a 1clase e12 estructurasderepeticionc

Semelhante a 1clase e12 estructurasderepeticionc (20)

Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivo
 
Bucle for
Bucle forBucle for
Bucle for
 
15
1515
15
 
Bucle for
Bucle forBucle for
Bucle for
 
Bucle for.pdf
Bucle for.pdfBucle for.pdf
Bucle for.pdf
 
Bucle for
Bucle for Bucle for
Bucle for
 
Bucle for
Bucle forBucle for
Bucle for
 
Bucle for (1)
Bucle for (1)Bucle for (1)
Bucle for (1)
 
Bucle for
Bucle forBucle for
Bucle for
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
Sentencias de Programacion
Sentencias de ProgramacionSentencias de Programacion
Sentencias de Programacion
 
Semana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxSemana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptx
 
Contenido
ContenidoContenido
Contenido
 
Universidad nacional experimental de guayana
Universidad nacional experimental de guayanaUniversidad nacional experimental de guayana
Universidad nacional experimental de guayana
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Estructura de Control While
Estructura de Control WhileEstructura de Control While
Estructura de Control While
 
while C++
while C++while C++
while C++
 
Grupo7
Grupo7Grupo7
Grupo7
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
 
Estructuras secuenciales, selectivas e iterativas3
Estructuras secuenciales, selectivas e iterativas3Estructuras secuenciales, selectivas e iterativas3
Estructuras secuenciales, selectivas e iterativas3
 

Último

Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 

Último (20)

Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 

1clase e12 estructurasderepeticionc

  • 1. Estructuras de Repetición en C 2011/1 - CLASE 12
  • 2.
  • 3. AGENDA 1 2 3 4 5 6
  • 4. Introducción Introducción En C existen tres estructuras de control repetitivas: Pseudocódigo Lenguaje C Mientras while Para for Haga-mientras do-while
  • 5. Ciclos en C Un ciclo (bucle) es una estructura que permite la repetición de una o mas instrucciones un determinado numero de veces. http://www.youtube.com/watch?v=aeg0mLp9IB0
  • 6. Ciclos en C Expresión lógica que controla la secuencia de repetición. (Condición) Normalmente, se evalúa antes de la ejecución del cuerpo del bucle. Conjunto de instrucciones (asociadas al problema) que se Cuerpo ejecutan dentro del bucle: • Estructuras condicionales. • Instrucciones I/O. • Otros bucles. • Instrucciones de asignación. Fin • Funciones.
  • 7. Principios a considerar cuando se usan bucles c Es importante analizar los requisitos del bucle, pues se debe determinar su Algunas preguntas de ¿Qué principios inicialización, condición utilidad: considerar y actualización. • ¿Qué es lo que debe cuando se contener el cuerpo del diseñan bucles? bucle? • Cuantas veces se itera el bucle.
  • 8. Introducción Introducción • El cuerpo del ciclo. 1 • Las sentencias de inicialización. 2 • Las condiciones para la terminación 3 del bucle.
  • 9. Introducción Introducción Las estructuras ciclicas se terminan cuando: 1. La condición de evalución se vuelve falsa 2. Cuando se ejecuta la instrucción break o return
  • 10. AGENDA 1 2 3 4 5 6
  • 11. SENTENCIA WHILE Sentencia while Realiza un conjunto de operaciones mientras una condición se esté cumpliendo, o mientras una expresión sea verdadera • Se evalúa la condición-bucle 1 • Si condición-bucle es verdadera : • Se ejecuta el cuerpo del bucle 2 • Vuelve el control al paso 1. • Si condición-bucle es falsa : 3 • Se termina el ciclo. • Condiciones: * • Cuantitativas y Caulitativas
  • 12. SENTENCIA WHILE Sintaxis Pseudocódigo Mientras (condición) haga Instrucciones fin_mientras Lenguaje C while (condición){ Instrucciones; }
  • 13. SENTENCIA WHILE Sentencia while (Condición) Variable de control: Variable que representa la condición del bucle ya Cuerpo que su valor determina si el bucle se repite o no. Esta debe ser: • Inicializada. • Comprobada. Fin • Actualizada.
  • 14. SENTENCIA WHILE Sentencia while contador = 0; Inicialización while (contador < n) { (Condición) Comprobación <Instrucciones>; ...Cuerpo contador = contador+1; Actualización } Fin
  • 15. SENTENCIA WHILE Sentencia while EVALUAR Falso CONDICIÓN Verdadero Fin del ciclo Cuerpo EJECUTAR del bucle
  • 16. SENTENCIA WHILE Ejemplo1 Realizar un programa que cuente hasta N i = 0; while (i <= N) { printf("El valor del conteo es: %dn", i); i++; }
  • 17. SENTENCIA WHILE Ejemplo2 Realizar un programa que pida que se ingresen las notas de los estudiantes, y que cuando halla una nota menor que 3, muestre un mensaje que diga “El estudiante perdió”. El salir = 0; programa únicamente debe finalizar cuando while (salir!=1) { el usuario lo desee. del estudiante:"); printf("Ingrese la nota scanf("%f",&nota); if (nota < MIN_NOTA){ printf("El estudiante perdion"); } printf("Ingrese 0 para continuar, 1 para salir: "); scanf("%d",&salir); }
  • 18. AGENDA 1 2 3 4 5 6
  • 19. SENTENCIA FOR Sentencia for Realiza un conjunto de operaciones un determinado número de veces • Se inicializa la variable de control y se 1 evalúa la condición-bucle • Si condición es verdadera : • Se ejecuta el cuerpo del bucle 2 • Se incrementa la variable y se evalúa la condición • Si condición-bucle es falsa : 3 • Se termina el ciclo. • Condiciones: * • Cuantitativas
  • 20. SENTENCIA FOR Sentencia for Recomendado para: • Ciclos que son controlados por 1 contador • Ejecutar un conjunto de instrucciones un 2 determinado número de veces
  • 21. SENTENCIA WHILE Sintaxis Pseudocódigo para VC desde LI hasta LF con INC <Instrucciones> fin_para Lenguaje C for( VC; condicionBucle; INC o DEC) { instrucciones; }
  • 22. SENTENCIA FOR Expre1: Se le da el Sintaxis valor inicial a la Expre2: Condición, que variable de control contiene una expresión Expre3: Modificación del bucle. Se pueden lógica, mientras sea vble, como cambia la inicializar una o verdadera se realiza el variable de control varias variables. bucle for(VC; condicionBucle; INC o DEC) { instrucciones; }
  • 23. SENTENCIA FOR Sentencia for Comprobación Inicialización Actualización for(i = 1 ; i < n; i++) { (Condición) <Instrucciones>; ...Cuerpo } Fin
  • 24. SENTENCIA FOR Sintaxis La(s) variable de control se puede incrementar o decrementar no solo en valores tipo int, también es posible realizar tales operaciones usando valores tipo float o double permitiendo el incremento o decremento en cantidades decimales. double p; float n; for(p=0.75; p<=5; p+= 0.25) for(n=1; n>= 0; n-=0.1) { { printf(“p = %lfn”, p); printf(“n = %fn”, n); } }
  • 25. SENTENCIA FOR Ejemplo1 Realice programa que muestre los N primeros factoriales fact=1; for (i = 1; i <= N; i++) { fact=fact*i; printf("factorial de %d: %dn",i,fact); } for (i = 1,fact=1; i <= N; i++) { fact=fact*i; printf("factorial de %d: %dn",i,fact); }
  • 26. SENTENCIA FOR Ejemplo2 Realice programa que sume los N primeros naturales pares. suma=0; for (i = 1; i <= N; i++) { if(i%2==0){ suma+=i; } } printf("La suma es: %dn",suma);
  • 27. SENTENCIA FOR Ejemplo3 Realice programa que muestre los 10 primeros impares naturales, en orden descendente. for (i = MAX_NUM; i >= 0; i--) { if(i%2 != 0){ printf("numero par: %dn",i); } }
  • 28. SENTENCIA DO-WHILE Comparación while, for while InicializaciónVC; for while (condición) for( VC; condición; INC) { { InstruccionesX; instrucciones; INC; } }
  • 29. SENTENCIA WHILE Y FOR Recomendaciones While: El uso más frecuente es cuando la repetición no está controlada por contador; la condición precede a cada repetición del bucle. For: Bucle de conteo, cuando el número de repeticiones se conoce por anticipado y puede ser controlado por un contador; la evaluación de la condición precede a la ejecución del cuerpo del bucle.
  • 30. SENTENCIA WHILE Y FOR Recomendaciones En el ciclo for no es recomendable modificar el valor de cualquiera de las variables de la condición del bucle dentro del cuerpo del bucle, ya que se pueden producir resultados imprevistos. int i,limite = 11; for (i = 0; i <= limite; i++) for (i = 0; i <= limite; i++) { { print f ("%dn",i); printf ( "%dn" , i ) ; i--; Iimite++ ; } }
  • 31. SENTENCIA WHILE Y FOR Bucles infinitos Aplicaciones en los que el número de repeticiones no se pueden determinar por anticipado. Interesa que comiencen pero eventualmente que no terminen. while(1) for ( ; ; ) { { Instrucciones; Instrucciones; if (condiciónTerminación) if(condiciónTerminación) break; break; } }
  • 32. AGENDA 1 2 3 4 5 6
  • 33. SENTENCIA DO-WHILE Sentencia do-while Bucle condicional que se ejecuta al menos una vez. • Se ejecuta el cuerpo del bucle. 1 • Se evalúa la condicion. • Si se cumple la condición, entonces se repite la 2 ejecución de sentencia. • Se evalúa la condicion. • Si no se cumple la condición la estructura termina y da 3 paso a la continuación del programa • Condiciones: * • Cuantitativas y Caulitativas
  • 34. SENTENCIA DO-WHILE Sentencia do-while Cuerpo del bucle EJECUTAR EVALUAR CONDICIÓN verdadero Falso Fin del ciclo
  • 35. SENTENCIA DO-WHILE Sintaxis do { Instrucciones; } while (expresión);
  • 36. SENTENCIA DO-WHILE Comparación while, do-while while do-while Falso CONDICIÓN Cuerpo del bucle verdadero verdadero Cuerpo del CONDICIÓN bucle Falso
  • 37. SENTENCIA DO-WHILE Comparación while, do-while while do-while while (expresión) { do { InstruccionesX; InstruccionesX; } } while (expresión);
  • 38. SENTENCIA DO-WHILE Ejemplo Programa que imprime un mensaje “continua programa” hasta que se le ingrese un carácter de terminación 0. (Realicelo con while, luego con do-while y compare!!) do{ printf("continuar programan"); printf("Ingrese 0 para salir: "); scanf("%d",&salir); }while (salir!=CAR_FIN);
  • 39. SENTENCIA WHILE Y FOR Recomendaciones do -while: El uso más frecuente es cuando la repetición no está controlada por contador; el cuerpo del ciclo precede a la condición.
  • 40. AGENDA 1 2 3 4 5 6
  • 41. INTRUCCIONES ESPECIALES Instrucción break La sentencia break es utilizada como método de terminación TEMPRANA del bucle a la que pertenece. Si mientras se ejecuta el cuerpo del bucle, se encuentra con la instrucción break, se terminará inmediatamente el ciclo.
  • 42. SENTENCIA WHILE Instrucción break EVALUAR Falso CONDICIÓN Verdadero Fin del ciclo Cuerpo EJECUTAR del bucle break;
  • 43. INTRUCCIONES ESPECIALES Ejemplo Realizar un programa que pida que se ingresen notas de N estudiantes, y que cuando halla una nota mayo que 3, muestre un mensaje que diga “Hay alguien que ganó”, y termine el programa inmediatamente.
  • 44. INTRUCCIONES ESPECIALES Instrucción continue La sentencia continue hace que la ejecución de un bucle vuelva inmediatamente a la cabecera del bucle. Programa que muestra conteo hasta 10, se muestra el siguiente valor del conteo solo si se le ha ingresado el número 0
  • 45. INTRUCCIONES ESPECIALES #include <stdio.h> #define MAX_CONT 10 Instrucción continue #define CAR_ESPECIAL 0 int main(void) { i=i+1 int i, equiv=0; i=1+1 int mostrar; 11<=10 ? 2<=10 1<=10 …i=2 VC CONDICIÓN INC for (i = 1; i <= MAX_CONT; i++) { msj printf("Ingrese 0 si quiere ver el conteo:"); read scanf("%d", &mostrar); No Se ingresó 0 if (mostrar!= CAR_ESPECIAL){ se EJECUTA Volver al ciclo continue; } msj conteo=2 printf("El valor del conteo es: %dn", i); Fin del ciclo } return 0; }
  • 46. AGENDA 1 2 3 4 5 6
  • 47. Ciclos Anidados Ciclos anidados Se pueden anidar ciclos repetitivos. Útil para aplicaciones de matrices de mas de una dimensión. for( i=0; i<LIM1; i++) { for( j=0; j<LIM2; j++) { Instruciones1; } }
  • 48. Ciclos Anidados Ejemplo1 Realice un programa que muestre las primeras 5 potencias(Utilizando multiplicaciones) de los primeros 7 naturales.
  • 49. Ciclos Anidados Ejercicio Realice un programa que muestre la siguiente secuencia de números: 1 12 123 1234 12345 … El usuario debe ingresar cual es el ultimo numero que se debe mostrar en un renglón.
  • 50. Bibliografía • Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos Capitulo3. • H.M. Deitel, P.J. Deitel. Como programar en C y C++ • Google