SlideShare uma empresa Scribd logo
1 de 38
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO
FACULTAD DE INGENIERÍA
COORDINACIÓN DE CIENCIAS BÁSICAS
ESTRUCTURAS DE CONTROL ITERATIVAS
M. en I. María de los Ángeles Contreras Flores
Mtra. Leticia Palma Rosales
Unidad de Aprendizaje: Programación Básica
Programa de Estudios: Ingeniería Mecánica
Agosto 2013
GUÍA EXPLICATIVA
 Este material tiene como propósito apoyar al alumno en
la comprensión y aplicación de las estructuras de control
repetitivas: mientras, para y repite; para lo cual, primero
se presenta una explicación teórica de cada una de las
estructuras, acompañada de su correspondiente
diagrama de flujo, su pseudocódigo y finalmente su
codificación en lenguaje de programación C.
 Asimismo, al concluir la explicación de cada una de las
estructuras, se presentan tres ejemplos con el propósito
de apoyar al alumno en la comprensión y aplicación de
las mismas.
OBJETIVO
 Identificar y utilizar técnicas para la solución de
problemas que puedan se implementados en la
computadora, mediante la formulación de
pseudocódigos y diagramas de flujo, así como su
codificación en un lenguaje de alto nivel empleando las
estructuras repetitivas: para, mientras y repite.
CONTENIDO TEMÁTICO
 Introducción
 Conceptos fundamentales
 Conceptos básicos para crear estructuras repetitivas
 Estructura repetitiva mientras.
 Concepto
 Diagrama de flujo, Pseudocódigo, Código
 Características
 Ejemplos Resueltos
 Ejemplos Propuestos
CONTENIDO TEMÁTICO
 Estructura repetitiva para.
 Concepto
 Diagrama de flujo, Pseudocódigo, Código
 Características
 Ejemplos Resueltos
 Ejemplos Propuestos
 Estructura repetitiva repite
 Concepto
 Diagrama de flujo, Pseudocódigo, Código
 Características
 Ejemplos Resueltos
 Ejemplos Propuestos
 Bibliografía
INTRODUCCIÓN
 Como se vio en las unidades anteriores, las estructuras
de control son las encargadas de indicar al programa en
que orden se ejecutan las instrucciones.
 En el siguiente diagrama, se puede apreciar la
clasificación de las estructuras de control de acuerdo a
los principios de la programación estructurada.
Estructuras
de Control
Secuencial
Selectivas
Simple
Doble
Cascada
Múltiple
Iterativas
Mientras
Para
Repite
Fig. 1. Estructuras de Control
CONCEPTOS FUNDAMENTALES
¿Qué es una estructura repetitiva?
 Las estructuras repetitivas surgen de la necesidad de
tener que resolver problemas en los cuales una
instrucción o un conjunto de ellas deben ejecutarse más
de una vez.
 La repetición de esta acción se lleva a cabo mientras se
cumpla una condición; para que la acción termine
internamente se debe de modificar la(s) variable(s) de
control que intervienen en la condición.
¿QUÉ DEBO CONSIDERAR PARA CREAR UNA
ESTRUCTURA REPETITIVA?
 Primero necesitas saber que un bucle es cualquier
construcción de programa que repite una sentencia o
secuencia de sentencias un número de veces. La
sentencia (o grupo de sentencias) que se repiten en un
bloque se denomina cuerpo del bucle o ciclo y cada
repetición del bucle se denomina iteración del bucle [3].
 Todos los ciclos deben terminar después de repetirse un
número finito de veces, para ello se requiere una o
varias condiciones que son evaluadas después de cada
iteración y dependiendo de su resultado, el ciclo se
detiene o continua ejecutándose[1].
 La condición puede estar predeterminada, como es el
caso de la estructura para, o no estarlo, como en las
estructuras mientras y repite.
 Para comprender el funcionamiento de las estructuras a
continuación veremos como trabaja cada una.
ESTRUCTURAS REPETITIVAS
CONCEPTOS BÁSICOS PARA CREAR ESTRUCTURAS
REPETITIVAS
 Cuando se crea una estructura repetitiva es necesario
tener claro como trabajan las variables que permiten
controlar el bucle, y que son conocidas como:
Contadores, acumuladores, centinelas y
banderas.
CONTADORES Y ACUMULADORES
 Son palabras muy utilizadas en programación y son
empleadas para referirse a variables que incrementan o
decrementan su valor durante la ejecución de un
programa.
 Generalmente son de tipo numérico.
CONTADORES Y ACUMULADORES
Ejemplos:
cont cont + 1
total total + y
a a*2
J J – 1
x x + 5
cont = cont + 1;
total = total + 1;
a = a * 2;
J = J – 1;
x = x + 5;
Pseudocódigo Código en C
CARACTERÍSTICAS DE LA VARIABLE CONTADOR O
ACUMULADOR:
1. Debe ser inicializada antes del ciclo. La inicialización
consiste en asignarle al contador o acumulador un valor
de inicio. Siempre se sitúa antes y fuera del bucle.
2. Dentro del ciclo debe aparecerá ambos lados de la
asignación
3. Deben ser inicializados adecuadamente, es decir, si la
operación es:
Suma o resta: generalmente se asigna cero, ya que éste
es el elemento neutro de ambas operaciones,
Multiplicación: se inicia con 1, si se asignara cero
entonces todo lo que se multiplique con esta variable
valdrá cero. Se debe recordar que el 1 es el elemento
neutro de la multiplicación.
CARACTERÍSTICAS DE LA VARIABLE CONTADOR O
ACUMULADOR:
 Es una variable que determina o controla el número de
veces que se repite un proceso o bucle. Esta variable
incrementa o decrementa su valor en una cantidad
constante cada vez que se realiza una acción en cada
repetición.
 Se debe realizar una operación de inicialización y
posteriormente el incremento o decremento del mismo.
 La inicialización consiste en asignar al contador un valor
de inicio.
 Se sitúa antes y fuera del bucle.[1]
CONTADOR
nom_cont nom_cont +
valor_constante
nom_cont nom_cont -
valor_constante
Ejemplo:
entero contador 1
contador contador + 1
nom_cont = nom_cont +
valor_constante;
nom_cont = nom_cont -
valor_constante;
Ejemplo:
int contador = 1;
contador ++;
Pseudocódigo Código en C
ACUMULADOR O TOTALIZADOR
 Es una variable que acumula sobre sí misma un conjunto
de valores para de esta forma tener la acumulación de
ellos en una sola variable. Es una variable que almacena
cantidades resultantes de operaciones sucesivas.
ACUMULADOR O TOTALIZADOR
nom_acumulador
nom_acumulador + valor
Ejemplo:
entero acum 0
acum acum + valor
nom_acumulador =
nom_acumulador + valor
int acum = 0;
acum = acum + valor;
o bien:
acum += valor;
Pseudocódigo Código en C
CENTINELA
 El centinela es una variable que inicia con un valor, luego
dentro de un bucle este valor cambia, haciendo falsa la
condición del ciclo y por lo tanto terminando la
ejecución del mismo (el usuario puede determinar
cuándo hacerlo). La repetición controlada por centinela
se considera como una repetición indefinida pues se
desconoce el número de repeticiones.
Ejemplo:
Un usuario puede introducir S o N para indicar si desea
continuar ejecutando un programa. El bucle termina
cuando se presiona la letra “n” o “N”. También se pueden
manejar números.
BANDERA
entero bandera 0
ban 1
int bandera = 0;
ban = 1;
Pseudocódigo Código en C
Una bandera (flag, interruptor o marca) es una variable
que sólo puede tomar dos valores opuestos, generalmente:
1 (verdadero) o 0 (falso), durante la ejecución del algoritmo
o programa. Es muy utilizado en búsquedas.
ESTRUCTURA REPETITIVA MIENTRAS (WHILE)
 Cuando se ejecuta la instrucción mientras, se evalúa la
condición (expresión booleana) escrita en los paréntesis, si su
resultado es verdadero (1) entonces se realiza el ciclo,
posteriormente, esta condición vuele a ser reevaluada y se
procede de la misma manera, este proceso continua hasta
que la condición se vuelve falsa (0), dando por terminado el
ciclo.
 Si la condición no se vuelve falsa, entonces el ciclo nunca
termina, teniendo de esta forma un ciclo infinito.
 En esta estructura no es necesario conocer el número de
veces que se repite el ciclo, ya que esto depende de la
condición definida. [1]
ESTRUCTURA REPETITIVA MIENTRAS (WHILE)
Condición
V
F
Fig. 2. Diagrama de flujo de la estructura repetitiva
mientras
Acción
PSEUDOCÓDIGO Y CÓDIGO DE LA ESTRUCTURA
REPETITIVA MIENTRAS
mientras (condición)
inicio
instrucción 1
instrucción 2
…
instrucción n
fin
while (condición)
{
instrucción 1
instrucción 2
…
instrucción n
}
Pseudocódigo o Código en C
Donde condición es cualquier expresión numérica, relacional o lógica.
CARACTERÍSTICAS:
 La condición se evalúa antes del ciclo. Si la condición es
verdadera el bucle se ejecuta, si es falsa entonces se sale
y el control pasa a la siguiente instrucción fuera del ciclo.
 Si la condición fuera falsa cuando se revisa por primera
vez, entonces el bucle no se ejecuta nunca.
 Mientras la condición sea verdadera el conjunto de
instrucciones se ejecuta indefinidamente a menos que
exista una instrucción que modifique el valor de la
condición.
EJERCICIOS:
o Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que permita imprimir
los 10 primeros números enteros positivos.
o Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que imprima los
múltiplos de 5 que se encuentren de 0 a 150.
o Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que sume un conjunto
de números enteros mientras que la suma sea menor o
igual a 100. Al final imprimir el resultado.
EJERCICIOS
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que calcule y visualice
1!+2!+3!+…+(n-1)!+n! donde n es un dato dado por el
usuario [4].
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que calcule la suma de la
serie 1/1+1/2+…+1/n, donde n es un número entero que
se determina con la condición de que 1/n sea menor
que un valor prefijado (por ejemplo 1*10-6) [4].
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que calcule la suma de la
serie 1/2-2/22+3/23…+n/2n para un valor dado de n[4].
ESTRUCTURA REPETITIVA PARA (FOR)
 La estructura repetitiva para (for) es la más utilizada y
sencilla de manejar, consiste en repetir un conjunto de
instrucciones un número determinado de veces. [2]
 Una de sus aplicaciones principales se tiene en los
arreglos.
ESTRUCTURA REPETITIVA PARA (FOR)
F
Fig. 3. Diagrama de flujo de la estructura repetitiva para
Instrucción 1
Instrucción n
V
i vi,
i vf,
inc i
PSEUDOCÓDIGO Y CÓDIGO DE LA ESTRUCTURA
REPETITIVA PARA
para (valor_inicial, cond, inc)
inicio
instrucción 1
instrucción 2
…
instrucción n
fin
for (valor_inicial; cond; inc)
{
instrucción 1
instrucción 2
…
instrucción n
}
Pseudocódigo o Código en C
Donde:
valor_inicial es el valor que se utiliza para inicial la variable de control del
bucle.
cond, es la expresión que determina cuando termina el ciclo o bucle.
inc, define como cambia la variable de control cada vez que se repite el ciclo.
CARACTERÍSTICAS DE LA ESTRUCTURA REPETITIVA PARA
1. Se debe conocer anticipadamente el valor de la
variable inicial y final antes de entrar al ciclo.
2. La condición se evalúa antes del bloque de
instrucciones. Si es verdadera se ejecuta, si es falsa se
sale y pasa el control al bloque siguiente.
3. El incremento o decremento de la variable de control
es automático y no se hace dentro del ciclo
4. La variable de control se incrementa o decrementa
según se requiera.
5. Se utiliza inicio-fin ({}) sólo cuando hay más de una
instrucción dentro del ciclo
EJERCICIOS:
o Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que imprima en la
pantalla los primeros 10 números enteros positivos.
o Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que calcule la
sumatoria de todos los números entre 1 y el 20, e
imprima el resultado.
o Elabore un pseudocódigo y el correspondiente
programa en C, que calcule la sumatoria de todos los
números entre 1 y un número leído por el usuario (num)
e imprima el resultado.
EJERCICIOS:
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que permita leer una lista
de calificaciones y que calcule su promedio, el número
de aprobados y reprobados; el programa terminará
cuando se introduzca un número negativo. [1]
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que calcule el factorial de
un número. [1]
 Elabore un diagrama de flujo con su correspondiente
pseudocódigo y código en C, que imprima de forma
inversa los números del 100 al 1.[1]
ESTRUCTURA REPETITIVA REPITE (DO-WHILE)
 Esta estructura permite repetir una acción mientras la
condición es verdadera; cuando es falsa se sale del ciclo.
 La condición es revisada después de que el cuerpo del
bucle es ejecutado.
 Se utiliza cuando se requiere que el ciclo se ejecute por
lo menos una vez.
 La estructura repite y el mientras pueden ser utilizados
cuando no se conoce de antemano cuantas veces ha de
ser repetido el ciclo.
ESTRUCTURA REPETITIVA REPITE (DO-WHILE)
Instrucción 1
Instrucción 2

Instrucción n
V
Condición
F
CARACTERÍSTICAS DE LA ESTRUCTURA REPITE
1. El ciclo siempre se ejecuta por lo menos una vez
debido a que la condición se encuentra después del
ciclo.
2. Debe existir una instrucción dentro del ciclo que
modifique la condición, de lo contrario se hará un
bucle infinito.
3. Si la condición es verdadera se ejecuta nuevamente el
ciclo, se vuelve a revisar la condición y cuando ésta es
falsa se sale del bucle.
4. Si existe más de una instrucción dentro del bucle, se
deben usar llaves ({}) para indicar el inicio y fin del
bucle.
EJEMPLOS:
 Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que imprima en la pantalla
los primeros 10 números enteros positivos.
 Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que imprima y sume los
números pares entre 1 y 50, imprimir el resultado de las
sumatoria.
 Elabore un diagrama de flujo, un pseudocódigo y el
correspondiente programa en C, que calcule la sumatoria de
un conjunto de números mientras que el número que se
capture en cada ciclo sea diferente de 0, al final imprimir el
resultado.
EJERCICIOS:
 Elabore un bucle que le permita imprimir las letras
minúsculas del alfabeto.
 Escribir un programa que visualice el factorial de un
número comprendido entre 2 y 20.
BIBLIOGRAFÍA
1. Corona Nakamura A. y Ancona Valdez María de los
Ángeles. (2011), Diseño de Algoritmos y su Codificación
en Lenguaje C. 1ª. edición. México. McGrawHill
2. Cairó Battistuti O. (2006), Fundamentos de
Programación, Piensa en C, Pearson
3. Joyánes Aguilar L y Zahonero Martínez I. (2003),
Programación Orientada a Objetos. 2ª. Edición.
Madrid. McGrawHill
4. Joyánes Aguilar L y Zahonero Martínez I. (2010),
Programación en C, C++, Java y UML. 1ª. Edición.
México. McGrawHill

Mais conteúdo relacionado

Mais procurados

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basicamarigelcontreras
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasMichele André
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++David
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmosRuby
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesKarina Arguedas Ruelas
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología JustineBravo1
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivasAbrirllave
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacionSERCOMPFAST
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticionadark
 

Mais procurados (19)

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basica
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicas
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
03 iteracion
03 iteracion03 iteracion
03 iteracion
 
Clase 6
Clase 6Clase 6
Clase 6
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
Contadores y Acumuladores
Contadores y AcumuladoresContadores y Acumuladores
Contadores y Acumuladores
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticion
 

Destaque

Destaque (8)

Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Tema 4 iterativas
Tema 4   iterativasTema 4   iterativas
Tema 4 iterativas
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
Términos
TérminosTérminos
Términos
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 

Semelhante a Estructuras iterativas y ejemplos propuestos

Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacionCarlos G Mora
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfJessenia Realpe
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.DENIRAMIREZANDRADE
 
ESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTJuanCardenas501369
 
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaErick Martinez
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacionalmnllorente
 
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...carolina peña
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problemaJoaquin Lara Sierra
 
Diagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxDiagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxNaidalyRincn
 

Semelhante a Estructuras iterativas y ejemplos propuestos (20)

Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Ciclos
CiclosCiclos
Ciclos
 
Estructura pseudocodigo
Estructura pseudocodigoEstructura pseudocodigo
Estructura pseudocodigo
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Power point
Power pointPower point
Power point
 
Guia4
Guia4Guia4
Guia4
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
 
ESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINT
 
Benemérita universidad autónoma de puebla
Benemérita universidad autónoma de pueblaBenemérita universidad autónoma de puebla
Benemérita universidad autónoma de puebla
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
 
Guia estructuras cíclicas
Guia estructuras cíclicasGuia estructuras cíclicas
Guia estructuras cíclicas
 
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
2.1 elemento básicos del lenguaje de programación estructurado manipulación b...
 
Definición y análisis de un problema
Definición y análisis de un problemaDefinición y análisis de un problema
Definición y análisis de un problema
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
Práctica N°3.pdf
Práctica N°3.pdfPráctica N°3.pdf
Práctica N°3.pdf
 
Diagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxDiagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptx
 
Algoritmo diagrama de_flujo
Algoritmo diagrama de_flujoAlgoritmo diagrama de_flujo
Algoritmo diagrama de_flujo
 

Estructuras iterativas y ejemplos propuestos

  • 1. UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE CIENCIAS BÁSICAS ESTRUCTURAS DE CONTROL ITERATIVAS M. en I. María de los Ángeles Contreras Flores Mtra. Leticia Palma Rosales Unidad de Aprendizaje: Programación Básica Programa de Estudios: Ingeniería Mecánica Agosto 2013
  • 2. GUÍA EXPLICATIVA  Este material tiene como propósito apoyar al alumno en la comprensión y aplicación de las estructuras de control repetitivas: mientras, para y repite; para lo cual, primero se presenta una explicación teórica de cada una de las estructuras, acompañada de su correspondiente diagrama de flujo, su pseudocódigo y finalmente su codificación en lenguaje de programación C.  Asimismo, al concluir la explicación de cada una de las estructuras, se presentan tres ejemplos con el propósito de apoyar al alumno en la comprensión y aplicación de las mismas.
  • 3. OBJETIVO  Identificar y utilizar técnicas para la solución de problemas que puedan se implementados en la computadora, mediante la formulación de pseudocódigos y diagramas de flujo, así como su codificación en un lenguaje de alto nivel empleando las estructuras repetitivas: para, mientras y repite.
  • 4. CONTENIDO TEMÁTICO  Introducción  Conceptos fundamentales  Conceptos básicos para crear estructuras repetitivas  Estructura repetitiva mientras.  Concepto  Diagrama de flujo, Pseudocódigo, Código  Características  Ejemplos Resueltos  Ejemplos Propuestos
  • 5. CONTENIDO TEMÁTICO  Estructura repetitiva para.  Concepto  Diagrama de flujo, Pseudocódigo, Código  Características  Ejemplos Resueltos  Ejemplos Propuestos  Estructura repetitiva repite  Concepto  Diagrama de flujo, Pseudocódigo, Código  Características  Ejemplos Resueltos  Ejemplos Propuestos  Bibliografía
  • 6. INTRODUCCIÓN  Como se vio en las unidades anteriores, las estructuras de control son las encargadas de indicar al programa en que orden se ejecutan las instrucciones.  En el siguiente diagrama, se puede apreciar la clasificación de las estructuras de control de acuerdo a los principios de la programación estructurada.
  • 8. CONCEPTOS FUNDAMENTALES ¿Qué es una estructura repetitiva?  Las estructuras repetitivas surgen de la necesidad de tener que resolver problemas en los cuales una instrucción o un conjunto de ellas deben ejecutarse más de una vez.  La repetición de esta acción se lleva a cabo mientras se cumpla una condición; para que la acción termine internamente se debe de modificar la(s) variable(s) de control que intervienen en la condición.
  • 9. ¿QUÉ DEBO CONSIDERAR PARA CREAR UNA ESTRUCTURA REPETITIVA?  Primero necesitas saber que un bucle es cualquier construcción de programa que repite una sentencia o secuencia de sentencias un número de veces. La sentencia (o grupo de sentencias) que se repiten en un bloque se denomina cuerpo del bucle o ciclo y cada repetición del bucle se denomina iteración del bucle [3].  Todos los ciclos deben terminar después de repetirse un número finito de veces, para ello se requiere una o varias condiciones que son evaluadas después de cada iteración y dependiendo de su resultado, el ciclo se detiene o continua ejecutándose[1].
  • 10.  La condición puede estar predeterminada, como es el caso de la estructura para, o no estarlo, como en las estructuras mientras y repite.  Para comprender el funcionamiento de las estructuras a continuación veremos como trabaja cada una. ESTRUCTURAS REPETITIVAS
  • 11. CONCEPTOS BÁSICOS PARA CREAR ESTRUCTURAS REPETITIVAS  Cuando se crea una estructura repetitiva es necesario tener claro como trabajan las variables que permiten controlar el bucle, y que son conocidas como: Contadores, acumuladores, centinelas y banderas.
  • 12. CONTADORES Y ACUMULADORES  Son palabras muy utilizadas en programación y son empleadas para referirse a variables que incrementan o decrementan su valor durante la ejecución de un programa.  Generalmente son de tipo numérico.
  • 13. CONTADORES Y ACUMULADORES Ejemplos: cont cont + 1 total total + y a a*2 J J – 1 x x + 5 cont = cont + 1; total = total + 1; a = a * 2; J = J – 1; x = x + 5; Pseudocódigo Código en C
  • 14. CARACTERÍSTICAS DE LA VARIABLE CONTADOR O ACUMULADOR: 1. Debe ser inicializada antes del ciclo. La inicialización consiste en asignarle al contador o acumulador un valor de inicio. Siempre se sitúa antes y fuera del bucle. 2. Dentro del ciclo debe aparecerá ambos lados de la asignación 3. Deben ser inicializados adecuadamente, es decir, si la operación es: Suma o resta: generalmente se asigna cero, ya que éste es el elemento neutro de ambas operaciones, Multiplicación: se inicia con 1, si se asignara cero entonces todo lo que se multiplique con esta variable valdrá cero. Se debe recordar que el 1 es el elemento neutro de la multiplicación.
  • 15. CARACTERÍSTICAS DE LA VARIABLE CONTADOR O ACUMULADOR:  Es una variable que determina o controla el número de veces que se repite un proceso o bucle. Esta variable incrementa o decrementa su valor en una cantidad constante cada vez que se realiza una acción en cada repetición.  Se debe realizar una operación de inicialización y posteriormente el incremento o decremento del mismo.  La inicialización consiste en asignar al contador un valor de inicio.  Se sitúa antes y fuera del bucle.[1]
  • 16. CONTADOR nom_cont nom_cont + valor_constante nom_cont nom_cont - valor_constante Ejemplo: entero contador 1 contador contador + 1 nom_cont = nom_cont + valor_constante; nom_cont = nom_cont - valor_constante; Ejemplo: int contador = 1; contador ++; Pseudocódigo Código en C
  • 17. ACUMULADOR O TOTALIZADOR  Es una variable que acumula sobre sí misma un conjunto de valores para de esta forma tener la acumulación de ellos en una sola variable. Es una variable que almacena cantidades resultantes de operaciones sucesivas.
  • 18. ACUMULADOR O TOTALIZADOR nom_acumulador nom_acumulador + valor Ejemplo: entero acum 0 acum acum + valor nom_acumulador = nom_acumulador + valor int acum = 0; acum = acum + valor; o bien: acum += valor; Pseudocódigo Código en C
  • 19. CENTINELA  El centinela es una variable que inicia con un valor, luego dentro de un bucle este valor cambia, haciendo falsa la condición del ciclo y por lo tanto terminando la ejecución del mismo (el usuario puede determinar cuándo hacerlo). La repetición controlada por centinela se considera como una repetición indefinida pues se desconoce el número de repeticiones. Ejemplo: Un usuario puede introducir S o N para indicar si desea continuar ejecutando un programa. El bucle termina cuando se presiona la letra “n” o “N”. También se pueden manejar números.
  • 20. BANDERA entero bandera 0 ban 1 int bandera = 0; ban = 1; Pseudocódigo Código en C Una bandera (flag, interruptor o marca) es una variable que sólo puede tomar dos valores opuestos, generalmente: 1 (verdadero) o 0 (falso), durante la ejecución del algoritmo o programa. Es muy utilizado en búsquedas.
  • 21. ESTRUCTURA REPETITIVA MIENTRAS (WHILE)  Cuando se ejecuta la instrucción mientras, se evalúa la condición (expresión booleana) escrita en los paréntesis, si su resultado es verdadero (1) entonces se realiza el ciclo, posteriormente, esta condición vuele a ser reevaluada y se procede de la misma manera, este proceso continua hasta que la condición se vuelve falsa (0), dando por terminado el ciclo.  Si la condición no se vuelve falsa, entonces el ciclo nunca termina, teniendo de esta forma un ciclo infinito.  En esta estructura no es necesario conocer el número de veces que se repite el ciclo, ya que esto depende de la condición definida. [1]
  • 22. ESTRUCTURA REPETITIVA MIENTRAS (WHILE) Condición V F Fig. 2. Diagrama de flujo de la estructura repetitiva mientras Acción
  • 23. PSEUDOCÓDIGO Y CÓDIGO DE LA ESTRUCTURA REPETITIVA MIENTRAS mientras (condición) inicio instrucción 1 instrucción 2 … instrucción n fin while (condición) { instrucción 1 instrucción 2 … instrucción n } Pseudocódigo o Código en C Donde condición es cualquier expresión numérica, relacional o lógica.
  • 24. CARACTERÍSTICAS:  La condición se evalúa antes del ciclo. Si la condición es verdadera el bucle se ejecuta, si es falsa entonces se sale y el control pasa a la siguiente instrucción fuera del ciclo.  Si la condición fuera falsa cuando se revisa por primera vez, entonces el bucle no se ejecuta nunca.  Mientras la condición sea verdadera el conjunto de instrucciones se ejecuta indefinidamente a menos que exista una instrucción que modifique el valor de la condición.
  • 25. EJERCICIOS: o Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que permita imprimir los 10 primeros números enteros positivos. o Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que imprima los múltiplos de 5 que se encuentren de 0 a 150. o Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que sume un conjunto de números enteros mientras que la suma sea menor o igual a 100. Al final imprimir el resultado.
  • 26. EJERCICIOS  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que calcule y visualice 1!+2!+3!+…+(n-1)!+n! donde n es un dato dado por el usuario [4].  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que calcule la suma de la serie 1/1+1/2+…+1/n, donde n es un número entero que se determina con la condición de que 1/n sea menor que un valor prefijado (por ejemplo 1*10-6) [4].  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que calcule la suma de la serie 1/2-2/22+3/23…+n/2n para un valor dado de n[4].
  • 27. ESTRUCTURA REPETITIVA PARA (FOR)  La estructura repetitiva para (for) es la más utilizada y sencilla de manejar, consiste en repetir un conjunto de instrucciones un número determinado de veces. [2]  Una de sus aplicaciones principales se tiene en los arreglos.
  • 28. ESTRUCTURA REPETITIVA PARA (FOR) F Fig. 3. Diagrama de flujo de la estructura repetitiva para Instrucción 1 Instrucción n V i vi, i vf, inc i
  • 29. PSEUDOCÓDIGO Y CÓDIGO DE LA ESTRUCTURA REPETITIVA PARA para (valor_inicial, cond, inc) inicio instrucción 1 instrucción 2 … instrucción n fin for (valor_inicial; cond; inc) { instrucción 1 instrucción 2 … instrucción n } Pseudocódigo o Código en C Donde: valor_inicial es el valor que se utiliza para inicial la variable de control del bucle. cond, es la expresión que determina cuando termina el ciclo o bucle. inc, define como cambia la variable de control cada vez que se repite el ciclo.
  • 30. CARACTERÍSTICAS DE LA ESTRUCTURA REPETITIVA PARA 1. Se debe conocer anticipadamente el valor de la variable inicial y final antes de entrar al ciclo. 2. La condición se evalúa antes del bloque de instrucciones. Si es verdadera se ejecuta, si es falsa se sale y pasa el control al bloque siguiente. 3. El incremento o decremento de la variable de control es automático y no se hace dentro del ciclo 4. La variable de control se incrementa o decrementa según se requiera. 5. Se utiliza inicio-fin ({}) sólo cuando hay más de una instrucción dentro del ciclo
  • 31. EJERCICIOS: o Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que imprima en la pantalla los primeros 10 números enteros positivos. o Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que calcule la sumatoria de todos los números entre 1 y el 20, e imprima el resultado. o Elabore un pseudocódigo y el correspondiente programa en C, que calcule la sumatoria de todos los números entre 1 y un número leído por el usuario (num) e imprima el resultado.
  • 32. EJERCICIOS:  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que permita leer una lista de calificaciones y que calcule su promedio, el número de aprobados y reprobados; el programa terminará cuando se introduzca un número negativo. [1]  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que calcule el factorial de un número. [1]  Elabore un diagrama de flujo con su correspondiente pseudocódigo y código en C, que imprima de forma inversa los números del 100 al 1.[1]
  • 33. ESTRUCTURA REPETITIVA REPITE (DO-WHILE)  Esta estructura permite repetir una acción mientras la condición es verdadera; cuando es falsa se sale del ciclo.  La condición es revisada después de que el cuerpo del bucle es ejecutado.  Se utiliza cuando se requiere que el ciclo se ejecute por lo menos una vez.  La estructura repite y el mientras pueden ser utilizados cuando no se conoce de antemano cuantas veces ha de ser repetido el ciclo.
  • 34. ESTRUCTURA REPETITIVA REPITE (DO-WHILE) Instrucción 1 Instrucción 2  Instrucción n V Condición F
  • 35. CARACTERÍSTICAS DE LA ESTRUCTURA REPITE 1. El ciclo siempre se ejecuta por lo menos una vez debido a que la condición se encuentra después del ciclo. 2. Debe existir una instrucción dentro del ciclo que modifique la condición, de lo contrario se hará un bucle infinito. 3. Si la condición es verdadera se ejecuta nuevamente el ciclo, se vuelve a revisar la condición y cuando ésta es falsa se sale del bucle. 4. Si existe más de una instrucción dentro del bucle, se deben usar llaves ({}) para indicar el inicio y fin del bucle.
  • 36. EJEMPLOS:  Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que imprima en la pantalla los primeros 10 números enteros positivos.  Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que imprima y sume los números pares entre 1 y 50, imprimir el resultado de las sumatoria.  Elabore un diagrama de flujo, un pseudocódigo y el correspondiente programa en C, que calcule la sumatoria de un conjunto de números mientras que el número que se capture en cada ciclo sea diferente de 0, al final imprimir el resultado.
  • 37. EJERCICIOS:  Elabore un bucle que le permita imprimir las letras minúsculas del alfabeto.  Escribir un programa que visualice el factorial de un número comprendido entre 2 y 20.
  • 38. BIBLIOGRAFÍA 1. Corona Nakamura A. y Ancona Valdez María de los Ángeles. (2011), Diseño de Algoritmos y su Codificación en Lenguaje C. 1ª. edición. México. McGrawHill 2. Cairó Battistuti O. (2006), Fundamentos de Programación, Piensa en C, Pearson 3. Joyánes Aguilar L y Zahonero Martínez I. (2003), Programación Orientada a Objetos. 2ª. Edición. Madrid. McGrawHill 4. Joyánes Aguilar L y Zahonero Martínez I. (2010), Programación en C, C++, Java y UML. 1ª. Edición. México. McGrawHill