You are on page 1of 18

Introducción al

Lenguaje C
Elaborado por: Yahaira Juárez
I Semestre - 2018
Estructuras de Control
REPETITIVAS
ESTRUCTURA REPETITIVA
(BUCLES)
Las tareas repetitivas es algo que los humanos encontramos difíciles y tediosas de
realizar. Estas estructuras realizan la repetición o iteración de acciones.

Estas estructuras de control o


sentencias repetitivas controlan el
número de veces que una sentencia
o listas de sentencias se ejecutan.
CONSIDERACIONES
Un Bucle  es cualquier construcción de programa que repite una
sentencia o secuencia de sentencias un número de veces.

Cuerpo del Bucle La sentencia o grupo de sentencia que se repiten en un


bloque.

Iteración Cada repetición del cuerpo del bucle.

Dos consideraciones importante del bucle:

¿Cuál es el cuerpo del bucle?

¿cuántas veces se iterará el cuerpo del bucle?


SENTENCIA while
Un bucle while tiene una condición del bucle (una expresión lógica) que controla
la secuencia de la repetición.

Un bucle while evalúa la condición antes de que se ejecute el cuerpo del bucle.

Sintaxis
while (condición bucle)
while (condición bucle) {
sentencia1;
sentencia;
sentencia2;
sentencia n;
}
COMPORTAMIENTO O FUNCIONAMIENTO DEL BUCLE while

1- Se evalúa la condición_bucle

while (condición bucle)


{ 2- si la condición_bucle es verdadera
sentencia1; a- El cuerpo del bucle se ejecuta.
sentencia2;
sentencia n;
b-Vuelve el control al paso 1
}

3- En caso contrario
El control se transfiere a la sentencia siguiente
del bucle o sentencia while
Ejemplo1: Programa que permite leer 10 número enteros y los
acumula.

#include <stdio.h>
main()
{
int A,B=0, cont=1; // A = valor a leer, B=
Acumulador, cont contador
while(cont <= 5)
{
printf("\n Introduzca un entero ");
scanf("%d", &A);
B = B + A;
++cont;
}
printf("\nTotal de iteraciones %d", cont);
printf("\nTotal acumulado %d", B);
getch();
}
Ejemplo2: Escriba un programa que permita leer una serie
de letras. El programa termina cuando el usuario presiona
la letra A, a o X, x.

#include <stdio.h>
main()
{
char Letra;
int B=1; // B= contador
while((Letra!= 'X')&&(Letra!= 'x')&&(Letra!= 'A')&&(Letra!= 'a'))
{
B= B + 1;
printf("\n Introduzca una letra ");
scanf("%c", &Letra);
}
printf("\n Total iteraciones %d ", B);
getch();
}
Ejemplo3: Escriba un programa que permita construir la
siguiente línea de números.

1 2 3 4
#include <stdio.h>
main() 1 2 3 4
{
int X = 1,Y=1; // X = Fila contador ,Y= Columna 1 2 3 4
Contador.
while( X<=3)
{
Y=1;
while (Y<=4)
{
printf( "%d",Y);
Y= Y+1;
}
X=X+1;
printf("\n");
}
printf("\nTotal filas %d", X);
printf("\n Total de columnas %d",Y);
getch();
}
SENTENCIA do while
El bucle do while se utiliza para especificar un bucle condicional que se ejecuta al
menos vez.
Sintaxis

do
do {
sentencia; sentencia1;
sentencia2;
while (condición bucle); sentencia n;
}while (condición bucle) ;
COMPORTAMIENTO O FUNCIONAMIENTO DEL BUCLE do while

1- Ejecutar la acción
a- El cuerpo del bucle se ejecuta.

do
{
sentencia1;
sentencia2;
sentencia n;
}
while (condición bucle);;

2- Se evalúa la condición_bucle
A- Si es verdadera, el bucle vuelve al paso 1.
B- Si es falsa el bucle termina y sigue con el resto del programa.
Ejemplo1: Programa que permite leer 10 número enteros y los
acumula.
#include <iostream.h>
main()
{
int A,B=0, cont=1; // A = valor a leer, B=
Acumulador, cont contador
do
{
cout<<"\nIntroduzca un entero ";
cin>> A;
B = B + A;
++cont;
} while(cont <= 10)

cout<<"\nTotal de iteraciones " << cont;


cout<<"\nTotal acumulado " << B;
return 0;
}
SENTENCIA for
Es el más adecuado para implementar bucles controlados
por contador, que son bucles en los que un conjunto de
sentencias se ejecutan una vez por cada valor de un rango
especificado.

Es la mejor forma de programar la ejecución de un bloque


de sentencias un número fijo de veces.
SINTAXIS
2- Expresión lógica que determina si
1- Inicializa la variable de las sentencias se han de ejecutar
control del bucle. mientras sea verdadera.

for (Inicialización; CondiciónIteración; Incremento )


sentencia 1;
3- Incrementa o decrementa la
variable de control de bucle.

Sentencia a ejecutar en cada iteración


del bucle.
Ejemplo1: Programa que calcula e imprime la suma de los 10
primeros números naturales.
#include <stdio.h>
main()
{
int suma=0, x;
//suma = variable que funciona como acumulador
for(x=1; x<=10; x++)
{//01f
suma = suma +x;
}//01f

printf("\n El total de iteraciones fueron= %d ", x);


printf(" \nResultado de la suma de fracciones es =
%d", suma);
getch();
}
Ejemplo2:Programa que obtener la tabla de multiplicar del
1 al 3.

#include <stdio.h>
main()
{
int x;
for(x=1; x<=3; x=x+1)
{//01f
int y;
for( y=1; y<=5; y=y+1)
{//02f
printf(" %d * %d = %d", x, y, x*y);
}//02f
printf("\n");
}//01f
getch();
}
Asignación individual, Investigar:
1- Funciones para manipular cadenas de caracteres.
2- Funciones para la conversión de datos
3- Funciones para la clasificación y conversión de caracteres.
4- Funciones matemáticas

Esta asignación deberá ser entregada por la plataforma en la sección


de Investigación.