ESCUELA SUPERIOR POLITECNICA DE
             CHIMBORAZO

FACULTAD DE INFORMÁTICA Y ELECTRONICA

ESCUELA DE INGENIRÍA EN DISEÑO GRAFICO



            Programación I



                TEMA:

       ESTRUCTURAS ITERATIVAS



            INTEGRANTES:

              Pilar Duchi

             Anita Llerena

          Juan Pablo Machado

             Ivonne Condo

             Oswaldo Ruiz

           Katherine Granizo



              SEMESTRE:

             Quinto

         RIOBAMBA – ECUADOR



                 2011
INTRODUCCIÓN


En la programación existen las estructuras básicas y fundamentales de un algoritmo,
ahora mediante las estructuras condicionales somos capaces de definir q expresión es la
más adecuada según se presente el problema, pero cuando se necesita repetir varias
veces un proceso no son suficientes, para ello son las estructuras iterativas capaces de
enunciar procesos mas complicados y definidos para redundar mientras cumpla o no una
condición.

En este documento se detalla cómo se lleva a cabo la ejecución iterativa de las
expresiones en función del valor de las condiciones de control.




                                      OBJETIVOS


Se va a estudiar el uso de las sentencias de control iterativas, para desarrollar programas
usando estas sentencias, en base a la definición concreta de sus funciones a partir de
ejemplos específicos.

      Sentencia for




                                                                                              Pág. 2
      Sentencia while (Mientras)
      Sentencia do… until (Repetir… hasta)
      Sentencias iterativas anidadas.




                                                                                              Estructuras Selectivas
ESTRUCTURAS DE CONTROL / ITERATIVAS


Las estructuras iterativas de control o de repetición, también llamadas bucles, porque
gracias a estas sentencias nos permite repetir una instrucción el número de veces
necesarias hasta cumplir con una condición.



A menudo es necesario ejecutar una instrucción o conjunto de instrucciones más de una
vez, se podría escribir un programa en el que se repita el código el cual se ejecute varias
veces, pero:

    El programa nos resultaría muy largo.
    La mayoría del código estaría duplicado, lo que en caso de alguna modificación
     dificultaría su mantenimiento.
    El programa se podría repetir las veces que se define dentro del programa y no
     en función de requerimientos del usuario.



Todo bucle consta de tres partes básicas:

     Decisión: donde se evalúa la condición y, en caso de ser cierta, se ejecuta el




                                                                                              Pág. 3
      cuerpo del bucle.
     Cuerpo del bucle: son las instrucciones que se ejecutaran repetidamente, un
      número determinado de veces, cuando la decisión es verdadera.
     Salida del bucle: es la condición que indica cuando terminan las iteraciones.



Cada instrucción o conjunto de instrucciones de un bucle se define como Iteración.

Una forma de controlar un bucle es mediante una variable llamada contador cuyo valor
se incrementa o decrementa en una cantidad constante en cada repetición que se
produzca. También, los bucles suelen utilizar otro tipo de variables llamadas
acumulador, cuya misión es almacenar una cantidad variable resultante de operaciones
sucesivas y repetidas. Es como un contador, con la diferencia que el
                                                                                              Estructuras Selectivas




incremento/decremento es variable.



Las estructuras de control se dividen en:

      Sentencia for
      Sentencia while (Mientras)
      Sentencia do… until (Repetir… hasta)
      Sentencias iterativas anidadas.
Sentencia for


A menudo conocemos de antemano cuántas veces se deben repetir ciertas instrucciones
dentro de un programa, para ello se usa el bucle for que es aquel que permite repetir un
conjunto de expresiones un número determinado de veces, con la peculiaridad que la
instrucción incrementa (o decrementa), automáticamente y de uno en uno, la variable
que se utiliza como contador. La sintaxis básica es:




                                      Instrucciones




                                      Instrucciones




                                                                                           Pág. 4
Representación en diagrama de flujo




                                                                                           Estructuras Selectivas




El incremento es opcional. Si no se coloca, el bucle aumenta de uno en uno de ‘forma
automática’ el valor del contador. Si se desea decrementar la variable es necesario
colocar el valor del decremento (-1)



Ejemplo1:

Dado un número entero N, calcular la suma de los números entre 1 y N.
INICIO

             LEER (N)

             SUMA=0

             DESDE I=1:N

                    SUMA=SUMA+N

             FIN DESDE

             MOSTRAR SUMA

      FIN



Ejemplo2:

Dado un número entero N, calcular la tabla de multiplicar hasta el 12 del número N
ingresado.



INICIO




                                                                                       Pág. 5
             LEER (N)

             DESDE I=1:12

                    MULT= I*N

                    MOSTRAR MULT

             FIN DESDE

      FIN
                                                                                       Estructuras Selectivas




Se observa que el contador siempre se inicializa automáticamente en el valor inicial
indicado en la estructura.



Sentencia Mientras (while)


En este tipo de estructura, el cuerpo del bucle se repite MIENTRAS se cumpla una
determinada condición.
La sintaxis básica es:

                     (                                )

                                      Instrucciones



Representación en diagrama de flujo




                                                                        Pág. 6
Ejemplo:

Dado un número entero N, calcular la suma de los números entre 1 y N.

       INICIO

               LEER (N)

               I=1

               SUMA=0
                                                                        Estructuras Selectivas




               MIENTRAS (I≤N)

               SUMA=SUMA+I;

               I=I+1;

               FINMIENTRAS

               MOSTRAR SUMA
FIN



Ejemplo2:

Dado un número entero N, calcular la tabla de multiplicar hasta el 12 del número N
ingresado.

       INICIO

               LEER (N)

               I=1

               MIENTRAS (I≤N)

               MULT=I *N

               I=I+1

               MOSTRAR MULT

               FINMIENTRAS

       FIN




                                                                                              Pág. 7
Como podemos observar en los dos ejemplos q en esta estructura se necesita de un
contador o acumulador para poder determinar en qué momento se cumple la condición y
sale del bucle.



Sentencia Repetir – hasta (do… until)


En la estructura while las expresiones del cuerpo tan solo se ejecutan si la expresión
condicional es cierta. En la estructura do-until las expresiones del cuerpo se ejecutan por
                                                                                              Estructuras Selectivas




lo menos una vez ya que la condición se encuentra a la salida del bucle y estas
instrucciones se ejecutar por falso es decir que se realizan hasta que la condición se
cumpla.

La sintaxis básica es:



       Instrucciones

                (                                 )
Representación en diagrama de flujo




Ejemplo:




                                                                        Pág. 8
Dado un número entero N, calcular la suma de los números entre 1 y N.

       INICIO

              LEER (N)

              I=1

              SUMA=0

              REPETIR

              SUMA=SUMA+I;
                                                                        Estructuras Selectivas




              I=I+1;

              HASTA (I=N)

              MOSTRAR SUMA

       FIN
Ejemplo2:

Dado un número entero N, calcular la tabla de multiplicar hasta el 12 del número N
ingresado.



       INICIO

              LEER (N)

              I=1

              REPETIR

              MULT=I *N

              I=I+1

              MOSTRAR MULT

              HASTA (I=12)

       FIN




                                                                                          Pág. 9
Igual que en la estructura while, esta estructura necesita de un contador que permita
identificar el momento en que se cumpla la condición y salga de bucle.




Sentencias / Bucles Anidados


Es posible construir un programa donde se aniden los bucles; esto es, ejecutar un bucle
dentro de otro, siempre que el bucle interno este totalmente contenido dentro del bucle
externo, si no, el algoritmo no es válido.
                                                                                          Estructuras Selectivas




El caso típico de bucle anidado es la asignación de valores a una matriz. Supongamos
que se desea leer los valores de una matriz de orden min. (m y n dados por el usuario).
El pseudocódigo que resuelve el planteamiento es:
INICIO

       REPETIR

               LEER(m; n)

       HASTA QUE ((m > 0) & (n > 0))

       DESDE i = 1 : m HACER

               DESDE j = 1 : n HACER

                       LEER A(i; j)          Bucle Interno

               FINDESDE –j

       FINDESDE –i

FIN



Para entender este ejemplo se realiza la prueba de escritorio, para una matris de 2 filas
por 3 columnas.




                                                                                             Pág. 10
m=2

n=3



Para (i,j) (1,1) Ingreso 5   Para (i,j) (2,1) Ingreso 7   Para (i,j) (3,1) Ingreso 8
Para (i,j) (1,2) Ingreso 3   Para (i,j) (2,2) Ingreso 6   Para (i,j) (3,2) Ingreso 1


Finalmente se mostraría de la siguiente manera:

                                         5 7 8
                                         3 6 1
                                                                                             Estructuras Selectivas
CONCLUSIONES:


   Las Estructuras Iterativas son aquellas que facilitan el proceso de desarrollo de
    un programa al permitir repetir una instrucción o bloque de instrucciones hasta
    que cumpla una condición.
   En caso de no usar una estructura iterativa, el código se agrandaría debido a que
    el código se duplicará y por ende es más difícil de modificar, además de que el
    número de veces que se repitan estas instrucciones es limitada por el programa.
   Todas las sentencias de repetición necesitan de un contador o acumulador. El
    contador es aquel que se incrementa o decrementa en un valor constante mientas
    que el acumulador en un valor variable.
   En la sentencia for el acumulador se incrementa automáticamente, en la
    sentencia while y repeat el acumulador se incrementa dentro del cuerpo del
    bucle.
   La sentencia for se ejecuta un número indicado de veces, la sentencia while se
    ejecuta las instrucciones cuando la condición es verdadera y la sentencia repeat
    se ejecuta el cuerpo del bucle cuando la condición es falsa.




                                                                                        Pág. 11
BIBLIOGRAFIA:


   http://www.mailxmail.com/curso-aprende-programar/estructuras-iterativas-
    estructura-mientras
   http://elvex.ugr.es/decsai/java/pdf/5C-iterative.pdf
   http://usuarios.multimania.es/dhascome/practicas/ProgC/Cap4.pdf
   http://prof.usb.ve/mvillasa/compcient/estructuras.pdf

                                                                                        Estructuras Selectivas

Estructuras iterativas1

  • 1.
    ESCUELA SUPERIOR POLITECNICADE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRONICA ESCUELA DE INGENIRÍA EN DISEÑO GRAFICO Programación I TEMA: ESTRUCTURAS ITERATIVAS INTEGRANTES: Pilar Duchi Anita Llerena Juan Pablo Machado Ivonne Condo Oswaldo Ruiz Katherine Granizo SEMESTRE: Quinto RIOBAMBA – ECUADOR 2011
  • 2.
    INTRODUCCIÓN En la programaciónexisten las estructuras básicas y fundamentales de un algoritmo, ahora mediante las estructuras condicionales somos capaces de definir q expresión es la más adecuada según se presente el problema, pero cuando se necesita repetir varias veces un proceso no son suficientes, para ello son las estructuras iterativas capaces de enunciar procesos mas complicados y definidos para redundar mientras cumpla o no una condición. En este documento se detalla cómo se lleva a cabo la ejecución iterativa de las expresiones en función del valor de las condiciones de control. OBJETIVOS Se va a estudiar el uso de las sentencias de control iterativas, para desarrollar programas usando estas sentencias, en base a la definición concreta de sus funciones a partir de ejemplos específicos.  Sentencia for Pág. 2  Sentencia while (Mientras)  Sentencia do… until (Repetir… hasta)  Sentencias iterativas anidadas. Estructuras Selectivas
  • 3.
    ESTRUCTURAS DE CONTROL/ ITERATIVAS Las estructuras iterativas de control o de repetición, también llamadas bucles, porque gracias a estas sentencias nos permite repetir una instrucción el número de veces necesarias hasta cumplir con una condición. A menudo es necesario ejecutar una instrucción o conjunto de instrucciones más de una vez, se podría escribir un programa en el que se repita el código el cual se ejecute varias veces, pero:  El programa nos resultaría muy largo.  La mayoría del código estaría duplicado, lo que en caso de alguna modificación dificultaría su mantenimiento.  El programa se podría repetir las veces que se define dentro del programa y no en función de requerimientos del usuario. Todo bucle consta de tres partes básicas:  Decisión: donde se evalúa la condición y, en caso de ser cierta, se ejecuta el Pág. 3 cuerpo del bucle.  Cuerpo del bucle: son las instrucciones que se ejecutaran repetidamente, un número determinado de veces, cuando la decisión es verdadera.  Salida del bucle: es la condición que indica cuando terminan las iteraciones. Cada instrucción o conjunto de instrucciones de un bucle se define como Iteración. Una forma de controlar un bucle es mediante una variable llamada contador cuyo valor se incrementa o decrementa en una cantidad constante en cada repetición que se produzca. También, los bucles suelen utilizar otro tipo de variables llamadas acumulador, cuya misión es almacenar una cantidad variable resultante de operaciones sucesivas y repetidas. Es como un contador, con la diferencia que el Estructuras Selectivas incremento/decremento es variable. Las estructuras de control se dividen en:  Sentencia for  Sentencia while (Mientras)  Sentencia do… until (Repetir… hasta)  Sentencias iterativas anidadas.
  • 4.
    Sentencia for A menudoconocemos de antemano cuántas veces se deben repetir ciertas instrucciones dentro de un programa, para ello se usa el bucle for que es aquel que permite repetir un conjunto de expresiones un número determinado de veces, con la peculiaridad que la instrucción incrementa (o decrementa), automáticamente y de uno en uno, la variable que se utiliza como contador. La sintaxis básica es: Instrucciones Instrucciones Pág. 4 Representación en diagrama de flujo Estructuras Selectivas El incremento es opcional. Si no se coloca, el bucle aumenta de uno en uno de ‘forma automática’ el valor del contador. Si se desea decrementar la variable es necesario colocar el valor del decremento (-1) Ejemplo1: Dado un número entero N, calcular la suma de los números entre 1 y N.
  • 5.
    INICIO LEER (N) SUMA=0 DESDE I=1:N SUMA=SUMA+N FIN DESDE MOSTRAR SUMA FIN Ejemplo2: Dado un número entero N, calcular la tabla de multiplicar hasta el 12 del número N ingresado. INICIO Pág. 5 LEER (N) DESDE I=1:12 MULT= I*N MOSTRAR MULT FIN DESDE FIN Estructuras Selectivas Se observa que el contador siempre se inicializa automáticamente en el valor inicial indicado en la estructura. Sentencia Mientras (while) En este tipo de estructura, el cuerpo del bucle se repite MIENTRAS se cumpla una determinada condición.
  • 6.
    La sintaxis básicaes: ( ) Instrucciones Representación en diagrama de flujo Pág. 6 Ejemplo: Dado un número entero N, calcular la suma de los números entre 1 y N. INICIO LEER (N) I=1 SUMA=0 Estructuras Selectivas MIENTRAS (I≤N) SUMA=SUMA+I; I=I+1; FINMIENTRAS MOSTRAR SUMA
  • 7.
    FIN Ejemplo2: Dado un númeroentero N, calcular la tabla de multiplicar hasta el 12 del número N ingresado. INICIO LEER (N) I=1 MIENTRAS (I≤N) MULT=I *N I=I+1 MOSTRAR MULT FINMIENTRAS FIN Pág. 7 Como podemos observar en los dos ejemplos q en esta estructura se necesita de un contador o acumulador para poder determinar en qué momento se cumple la condición y sale del bucle. Sentencia Repetir – hasta (do… until) En la estructura while las expresiones del cuerpo tan solo se ejecutan si la expresión condicional es cierta. En la estructura do-until las expresiones del cuerpo se ejecutan por Estructuras Selectivas lo menos una vez ya que la condición se encuentra a la salida del bucle y estas instrucciones se ejecutar por falso es decir que se realizan hasta que la condición se cumpla. La sintaxis básica es: Instrucciones ( )
  • 8.
    Representación en diagramade flujo Ejemplo: Pág. 8 Dado un número entero N, calcular la suma de los números entre 1 y N. INICIO LEER (N) I=1 SUMA=0 REPETIR SUMA=SUMA+I; Estructuras Selectivas I=I+1; HASTA (I=N) MOSTRAR SUMA FIN
  • 9.
    Ejemplo2: Dado un númeroentero N, calcular la tabla de multiplicar hasta el 12 del número N ingresado. INICIO LEER (N) I=1 REPETIR MULT=I *N I=I+1 MOSTRAR MULT HASTA (I=12) FIN Pág. 9 Igual que en la estructura while, esta estructura necesita de un contador que permita identificar el momento en que se cumpla la condición y salga de bucle. Sentencias / Bucles Anidados Es posible construir un programa donde se aniden los bucles; esto es, ejecutar un bucle dentro de otro, siempre que el bucle interno este totalmente contenido dentro del bucle externo, si no, el algoritmo no es válido. Estructuras Selectivas El caso típico de bucle anidado es la asignación de valores a una matriz. Supongamos que se desea leer los valores de una matriz de orden min. (m y n dados por el usuario). El pseudocódigo que resuelve el planteamiento es:
  • 10.
    INICIO REPETIR LEER(m; n) HASTA QUE ((m > 0) & (n > 0)) DESDE i = 1 : m HACER DESDE j = 1 : n HACER LEER A(i; j) Bucle Interno FINDESDE –j FINDESDE –i FIN Para entender este ejemplo se realiza la prueba de escritorio, para una matris de 2 filas por 3 columnas. Pág. 10 m=2 n=3 Para (i,j) (1,1) Ingreso 5 Para (i,j) (2,1) Ingreso 7 Para (i,j) (3,1) Ingreso 8 Para (i,j) (1,2) Ingreso 3 Para (i,j) (2,2) Ingreso 6 Para (i,j) (3,2) Ingreso 1 Finalmente se mostraría de la siguiente manera: 5 7 8 3 6 1 Estructuras Selectivas
  • 11.
    CONCLUSIONES: Las Estructuras Iterativas son aquellas que facilitan el proceso de desarrollo de un programa al permitir repetir una instrucción o bloque de instrucciones hasta que cumpla una condición.  En caso de no usar una estructura iterativa, el código se agrandaría debido a que el código se duplicará y por ende es más difícil de modificar, además de que el número de veces que se repitan estas instrucciones es limitada por el programa.  Todas las sentencias de repetición necesitan de un contador o acumulador. El contador es aquel que se incrementa o decrementa en un valor constante mientas que el acumulador en un valor variable.  En la sentencia for el acumulador se incrementa automáticamente, en la sentencia while y repeat el acumulador se incrementa dentro del cuerpo del bucle.  La sentencia for se ejecuta un número indicado de veces, la sentencia while se ejecuta las instrucciones cuando la condición es verdadera y la sentencia repeat se ejecuta el cuerpo del bucle cuando la condición es falsa. Pág. 11 BIBLIOGRAFIA:  http://www.mailxmail.com/curso-aprende-programar/estructuras-iterativas- estructura-mientras  http://elvex.ugr.es/decsai/java/pdf/5C-iterative.pdf  http://usuarios.multimania.es/dhascome/practicas/ProgC/Cap4.pdf  http://prof.usb.ve/mvillasa/compcient/estructuras.pdf Estructuras Selectivas