Você está na página 1de 33

PROGRAMACIN

Profesora: Fannia Pacheco


Correo: fannikaro@gmail.com
Contenido
UNIDAD 1. Concepto fundamentales.
UNIDAD 2. Algoritmos y estructuras de datos.
UNIDAD 3. Tcnicas de programacin.
UNIDAD 4. Programacin Estructurada.
UNIDAD 5. Estructuras de Repeticin.

UNIDAD 5
ESTRUCTURAS DE REPETICIN
Teorema de la programacin
estructurada y caracterstica
Teorema: Bohn y Jacopini demostraron que un programa propio puede ser
escrito utilizando solamente tres tipos de estructuras de control:
Secuenciales
Selectivas
Repetitivas
Un programa se define como propio si cumple las siguientes caractersticas:
Posee un solo punto de entrada y uno de salida o fin para control del
programa.
Existen caminos desde la entrada hasta la salida que se pueden seguir y que
pasan por todas partes del programa.
Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos (sin
fin)
Estructuras de Repeticin
Las estructuras de repeticin son sentencias que
permiten repetir la ejecucin de un bloque de
instrucciones en funcin del resultado de la
evaluacin de una expresin lgica.
Estructuras de Repeticin
Entre los tipos de estructuras de repeticin tenemos:
Repita Mientras
Repita Hasta
Repita Para
Estructuras de Repeticin
En las estructuras de repeticin se utilizan diferentes
herramientas para controlar el nmero de veces
que se ejecuta el bloque de instrucciones
Contador
Acumulador
Centinela
Contador
Variable cuyo valor se incrementa o decrementa en
una cantidad constante cada vez que se produce un
determinado suceso o accin.
Se debe realizar primeramente una operacin de
inicializacin y posteriormente los correspondientes
incrementos o decrementos.
Operaciones sobre Contadores
Inicializacin
contador = valor_inicial;
Incremento
contador = contador + constante;
Decremento
contador = contador - constante;
Operaciones sobre Contadores
Ejemplo
// inicializacin
int i=0, j=1000;
i++; // incremento
j--; //decremento
i+=1; // incremento -> i= i+1;
j-=10; //decremento -> j = j-10

Acumuladores
Son variables cuyo valor se modifica, en una
cantidad variable, cada vez que ocurre un evento.
La modificacin puede ser incrementar o
decrementar el valor.
Al igual que los contadores, los acumuladores
deben ser inicializados antes de utilizarse.
Operaciones sobre un Acumulador
Inicializacin:
acumulador = valor inicial
Acumulacin:
acumulador = acumulador + valor
acumulador = acumulador * valor
acumulador = acumulador - valor
acumulador = acumulador / valor
Ejemplo
float pos_x=0.0, pos_y=0.0;
pos_x = pos_x + ancho_tot/2;
Centinelas
Son variables que pueden tomar dos valores
(cierto, falso). Segn la expresin lgica evaluada,
uno de estos valores permiten la ejecucin repetida
de un bloque de instrucciones.
Adems de la inicializacin respectiva, existe otro
punto crtico de los centinelas y es cuando se
cambia su valor.
Ejemplo
Ejemplo
int bandera = 0;
bandera = 1;
Estructuras de Repeticin
Entre los tipos de estructuras de repeticin tenemos:
Repita Mientras
Repita Para
Repita Hasta

Repita Mientras
Es una estructura de repeticin que evala una
expresin lgica, y mientras que el resultado de
dicha la expresin lgica sea cierta ,ejecuta el
bloque de instrucciones que contiene esta sentencia.
Si el resultado de la expresin lgica es falso el
bloque de instrucciones no se ejecuta.
Repita Mientras
Diagrama de Flujo Pseudocdigo
Repita Mientras(expresin lgica)
I1

I2
Fin repita mientras

while (expresin lgica){
I1

I2
}
Repita Mientras
Si la primera vez el resultado de la expresin lgica es
falso, entonces el bloque de instrucciones se ejecuta cero
veces.
Si la expresin lgica nunca es falsa, entonces el lazo se
ejecuta de forma infinita.
Como la expresin se evala al principio es importante
realizar la inicializacin de las variables
Si no se desea un lazo infinito, se debe tener mucho cuidado
en modificar el valor de las variables de la expresin
lgica dentro del lazo.
Ejemplo
Pseudocdigo C++
i=0

Repita mientras (i <= 10)
i = i + 1
escribir el valor de i
fin repita

Int i = 0;

while(i <= 10){
i = i+1;
cout<< El valor de i es: <<i;
}
Ejemplo
Pseudocdigo C++
bandera = cierto;
contador = 0;

Repita mientras (bandera =cierto)
Escribir(contador)
contador = contador + 1
Si (contador = 10)
bandera = falso;
Fin_si
Fin_RM
Boolean bandera=true;
Int contador = 0;

while( bandera ==true){
cout<<contador;
contador = contador +1;
if (contador == 10){
bandera = false;
}
}
Ejemplo
#include <iostream>
using namespace std;
main(){
Int i = 0;
while(i <= 10){
i = i+3;
cout<< El valor de i es: <<i;
}
}
Iteracin i salida
(1) 0 El valor de i es: 0
(2) 3 El valor de i es: 3
(3) 6 El valor de i es: 6
(4) 9 El valor de i es: 9
Corrida en Frio
Estructuras de Repeticin
Entre los tipos de estructuras de repeticin tenemos:
Repita Mientras
Repita Para
Repita Hasta
Repita Para
Una de las estructuras de repeticin ms utilizada es el
repita para. Este utiliza un contador para iterar
Este tipo de lazo itera desde un valor inicial hasta uno
final.
El incremento o decremento se puede controlar con una
expresin aritmtica.
El inicio y el fin se controlan con expresiones lgicas
Ejemplo
Pseudocdigo C++
i=0

Repita para (i = 0; i <= 10, i++)
...
sentencias
...
fin repita para

int i;

for ( i = 0; i <= 10 ; i++){
...
sentencias
...
}
Estructuras de Repeticin
Entre los tipos de estructuras de repeticin tenemos:
Repita Mientras
Repita Para
Repita Hasta
Repita Hasta
Es una estructura de repeticin que evala una
expresin lgica, y mientras el resultado sea
cierto el bloque de instrucciones, enmarcado
entre las llaves de la estructura, es ejecutado.
Es del tipo Repita Mientras pero la expresin lgica
es evaluada al final del bloque de instrucciones
Repita Hasta
Si el resultado de la expresin es falso la primera
vez, entonces el
bloque de instrucciones se ejecuta cero veces.
Si la condicin nunca se hace falsa, entonces el lazo se
ejecuta de forma infinita.
El bloque de instrucciones es ejecutado al menos una
vez ya que la expresin lgica esta ubicada al final
del lazo
Repita Hasta
Pseudocdigo C++

Hacer
...
sentencias
...
mientras (<condicin>)


do{
...
sentencias
...
} while (<condicin>);
Repita Hasta
#include <iostream>
using namespace std;

int main (){
int i = 1;
do{
cout<<El valor de i es: <<i<<endl;
i++;
} while ( i <= 10 );
}
Ejercicios
Escriba un algoritmo que muestre los nmeros del 1
al 10000
Escriba un algoritmo que cuente los caracteres
introducidos por teclado hasta que se consiga el
signo (-)

Ejercicios
Ejercicios
Dado 10 nmeros enteros introducidos por teclado,
calcular la suma de los nmeros pares, cuantos nmeros
impares hay y calcular la media de los nmeros pares e
impares.
Calcular la suma de los nmeros pares y la suma de
los nmeros impares comprendidos entre 1 y n (n es
introducido por teclado)
Calcular la suma de los cuadrados de los cien
primeros nmeros naturales

Você também pode gostar