Sie sind auf Seite 1von 31

PROGRAMACIN

ESTRUCTURADA
Y PROGRAMACIN I
ESTRUCTURAS REPETITIVAS
(CICLOS)

ESTRUCTURA FOR, WHILE Y


DO-WHILE
Grupo 07T

05 de Septiembre

OBJETIVOS
Enumerar los usos mas importantes de
estructuras repetitivas en un programa.
Definir las caractersticas de los diferentes
estructuras de repeticin disponibles en un
programa.
Identifique c/u de las partes de la sintaxis
de una estructura de repeticin.

CONTENIDO
Estructuras de control repetitivas (ECR)
Tipos de ECR:
Deterministas
No Deterministas

Estructuras de control repetitivas (ECR) en C++


ECR determinista (FOR)
ECR no determinista (WHILE)
ECR no determinista (DO-WHILE)
Estructura Repetitiva ( FOR )
Conteo/Contador + Condicin de parada
Acumulador

CONTENIDO
Estructura Repetitiva ( while )
Estructura Repetitiva ( do - while )
Conversin entre estructuras repetitivas
(for, while, do-while)

Uso de palabras (break) y (continue) en


estructuras repetitivas

MTODOS PARA REPETIR


INSTRUCCIONES EN
LENGUAJE C#
Muchas veces dentro de algn programa,
es necesario repetir varias veces un
procedimiento
representado
por
un
conjunto de instrucciones bien definidas.
Para este tipo de situaciones los lenguajes
de programacin brindan un conjunto de
instrucciones que se conocen como
sentencias repetitivas, llamadas tambin
ciclos, lazos o bucles.

TIPOS DE ESTRUCTURAS
REPETITIVAS

El lenguaje C# proporciona tres tipos de


sentencias
repetitivas
que
son
conocidas como ciclos:
Estructura de control repetitiva determinista:
FOR

Estructura
de
determinista:
WHILE
DO-WHILE.

control

repetitiva

no

INSTRUCCIN FOR
Un lazo FOR es
una estructura de
control
que
permite repetir un
grupo
de
sentencias
un
nmero
especificado de
veces.
Se esta utilizando una variable
contadora llamada i, la cual tiene un
valor inicial de 1, un valor final de 5 y
un incremente de uno

INSTRUCCIN FOR
Las sintaxis de un lazo FOR se muestran a
continuacin:
Mtodo 1: Para una sola instruccin a repetir
for(expresion1; expresion2; expresion3)
instruccinUnica;

Mtodo 2: Para repetir un bloque de instrucciones


for(expresion1; expresion2; expresion3)
{
instruccin1 ;
instruccin2 ;
.
.
instruccionN;
}

INSTRUCCIN FOR
La expresin1, conocida como inicializacin, es
una asignacin de una ms variables, en la que
se establece el valor inicial de la variable de control
(contador) del ciclo.
La expresin2, conocida como condicin, es una
condicin de algn tipo que, mientras sea evaluada
como VERDADERA, permite la ejecucin de las
instrucciones del ciclo
La expresin3, conocida como incremento, es otra
asignacin, en donde se realiza el incremento o
decremento de la variable de control o contador del
lazo

INSTRUCCIN FOR
Todas las expresiones contenidas en el parntesis
del FOR deben estar separadas por (;) PUNTO Y
COMA y no por comas simples.
Si se va a utilizar ms de una variable de control
(dos contadores), debe separar las instrucciones
de inicializacin, de condicin y de incremento con
comas. Sin embargo, la condicin puede ser, en
este caso, una sola expresin compuesta por las
dos variables de control.

EJEMPLO EN C#

INSTRUCCIN FOR
NOTAS:

La inicializacin puede ser diferente de uno.

El incremento puede ser mayor que uno.

No necesariamente debe haber incremento, puede


haber decremento; slo que en este caso el valor
inicial debe ser mayor que el valor final de la variable
y el sentido de la condicin cambia.

Solo para el caso de incremento o decremento de


una en una unidad se puede sustituir el cdigo:
x = x + 1 por x++
x = x 1 por x- -

INSTRUCCIN FOR
No es imprescindible que existan todas las
expresiones dentro del parntesis del lazo FOR.
Pueden aparecer vacas algunas de ellas; o incluso,
todas, por ejemplo:
for ( ; exp2 ; exp3 )
for ( exp1 ; ; )
for ( ; ; )

Nota: para las dos ultimas expresiones se debe


utilizar la instruccin break para salir del bucle o
lazo de lo contrario se vuelve en un ciclo o lazo
infinito

INSTRUCCIN FOR

Evaluando
condicin

Incremento del
contador

INSTRUCCIN FOR
A continuacin se describen diferentes tipos de
asignaciones utilizadas comnmente en una
estructura repetitiva:
Contador: Consiste en usarla como un verificador del
numero de veces que se realiza un proceso (a=a+1),
antes de usar este tipo de variable debe iniciarla en
cero o uno (a=0 o a=1).
Acumulador: Consiste en usarla como un sumador en
un proceso (a=a+b), antes de usar este tipo de variable
debe iniciarla en cero (a=0).

EJEMPLO
Calcular el
promedio de
un alumno
que tiene 5
calificaciones
en la materia
de
Programacin
I.

INSTRUCCIN WHILE
La sentencia repetitiva WHILE es el segundo de tipo de
iteraciones posibles en C#
La expresin es evaluada antes de iniciar el primer
ciclo, por lo que, en caso de ser falsa esta condicin,
nunca entrara al ciclo y C# continuar con el resto del
programa, ignorando todo el cdigo que esta en el lazo
o bucle while.
Por lo general, dentro del bloque de instrucciones, se
modifican variables de la expresin condicional del
while, para controlar as la duracin de la iteracin.

INSTRUCCIN WHILE
Sintaxis de una estructura WHILE:

Mtodo 1: Para una sola Mtodo 2: Para repetir un bloque de


instruccin a repetir
instrucciones
while(condicion)
instruccionUnica;

while(condicion)
{
//bloque de instrucciones a repetir
instruccion1;
Instruccion2;
.
.
.
instruccionN;
}

La sintaxis del lazo while expresada en palabras significa: mientras


condicin de un resultado VERDADERO se ejecutar el bloque de
instrucciones hasta la ltima instruccin N del bloque.

EJEMPLO
Haciendo uso del bucle while, vamos a ingresar 10 nmeros y posteriormente se
mostrar la suma y el promedio de estas cantidades.

INSTRUCCIN DO- WHILE


Su sintaxis es la siguiente:

Mtodo 1: Para una


instruccin a repetir

sola Mtodo 2: Para repetir un


bloque de instrucciones

do
instruccion Unica a repetir;
while(condicion);

do {
instruccion1;
Instruccion2;
.
.
instruccionN;
} w hile(condicion);

Expresado en palabras, esto significa que: se ejecutar el bloque de


instrucciones siempre la primera vez, independientemente del resultado de la
condicin, y luego, dependiendo del resultado de la expresin condicional
colocada al final dentro del while si esta es VERDADERA, se repetir la
ejecucin del bloque de instrucciones, de lo contrario se terminar el ciclo o
lazo.

EJEMPLO
Realizamos
un
programa
haciendo uso del
switch case y
tambin del bucle
do while.
La idea de la
aplicacin es que
el
men
permanezca
activo
(repitindose)
hasta
que
el
usuario
seleccione
la
opcin de salir
del programa.

INSTRUCCIONES DE CONTROL
DE CICLOS
El lenguaje C# presenta dos instrucciones para controlar
la ejecucin de un ciclo/lazo/bucle, para as alterar la
ejecucin normal en cada ciclo. Estas dos instrucciones
son: break y continue.

La instruccin BREAK
Esta instruccin se utiliza para producir una salida
inmediata de cualquier estructura de control, ya sea
selectiva mltiple (como el switch), o para producir la
salida anticipada de un ciclo o lazo de tipo while,
dowhile o for.
La ejecucin del programa contina con la primera
instruccin fuera de la estructura de control suspendida

INSTRUCCIONES DE CONTROL
DE CICLOS
Ejemplo

INSTRUCCIONES DE CONTROL
DE CICLOS
La instruccin CONTINUE
Esta permite escapar el resto de las instrucciones
del ciclo o lazo en ejecucin, pero a diferencia de
la instruccin break, lenguaje C# contina con la
siguiente iteracin de ese ciclo.
La condicin de continuidad del ciclo se evala
nuevamente despus de ejecutar la instruccin
CONTINUE, y si el resultado es VERDADERO el
ciclo contina, de lo contrario (si es FALSO) se
termina.

INSTRUCCIONES DE CONTROL
DE CICLOS
Ejemplo

CONCLUSIONES SOBRE LAS


ESTRUCTURAS REPETITIVAS
El lazo for se suele utilizar cuando se sabe cuantas veces
se repetir un bloque de instrucciones, en cambio las 2
estructuras restantes (while) y (do-while) se utilizan cuando
no se conoce con exactitud cuantas veces se repetir un
bloque, sino que todo depende de una condicin a evaluar
al inicio o final de cada ciclo
Los lazos for y while son similares, porque ambos pueden
repetir NINGUNA, UNA o VARIAS VECES un bloque de
instrucciones. En otras palabras, podemos decir que: en
lenguaje C#, una estructura FOR es simplemente una
manera abreviada de expresar una estructura WHILE.

CONCLUSIONES SOBRE LAS


ESTRUCTURAS REPETITIVAS
Comparando ambas estructuras
Sintaxis de un lazo FOR

La sintaxis FOR de la izquierda


es equivalente a un WHILE as:

for(expresion 1;expresion 2;
expresion 3){
proposicin1;
proposicin2;
..............
}

expresion1;
while(exp resi on 2){
proposicion1;
proposicion2;
..............
expresion3;
}

CONCLUSIONES SOBRE LAS


ESTRUCTURAS REPETITIVAS
Las diferencias entre un lazo for y un while son las
siguientes:
En un FOR se pueden colocar 3 expresiones de
control que le indican: 1. conteo inicial,
2. condicin de paro del ciclo y 3. incremento de
variable de conteo de ciclos.
Un while solo permite una expresin de control, la 2.
condicin de paro del ciclo. El conteo inicial hay que
indicarlo ANTES DE ENTRAR AL CICLO y el
incremento de la variable se debe realizar DENTRO
DEL CUERPO del lazo. De otra manera, un lazo
WHILE puede generar un lazo infinito.

CONCLUSIONES SOBRE LAS


ESTRUCTURAS REPETITIVAS
Una estructura WHILE o DO-WHILE se puede
implementar con un men de opciones y
este mantenerse activo hasta que el usuario
seleccione salir del programa

EJERCICIOS
1.

Leer 20 nmeros e imprimir cuantos son


cuantos son impares.

pares y

2.

Realice un programa que solicite al usuario 2


nmeros enteros (que no sean negativos), luego
muestre un men donde el usuario puede seleccionar
cual de estas 3 operaciones desea realizar:
a. Multiplicacin, b. Divisin o c. Potencia.
El men debe estar activo hasta que el usuario
seleccione salir del programa

Das könnte Ihnen auch gefallen