Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 2. Estructuras de
Control
David Martínez Torres
Instituto de Computación
Universidad Tecnológica de la Mixteca
dtorres@mixteco.utm.mx
Oficina 37
Contenido
1. Secuencial
2. Selectivas
3. Iterativas
Introducción
• De secuencia
• De selección y,
• De repetición.
Introducción
int main(){
int cont;
printf(“Programa que calcula el promedio de calificaciones
introducidas por teclado”);
…
}
1. Estructura de control Secuencial
area=pi*radio2
perimetro=2*pi*radio
2. Estructura de control Selectiva
if (condControl){
Se selecciona cuando se sentencia 1;
tiene que evaluar una sentencia n;
expresión y se colocan }
acciones tanto cuando la else {
expresión es verdadera o sentencia 1;
falsa. sentencia n;
}
2.2 Selectiva doble (binaria)
Código …
Codificación del ejemplo de selectiva doble.
Ejemplo 3. Analizar los siguientes fragmentos de código.
2.2 Selectivas múltiples
Ejercicios:
4. Dado un número entero por teclado, determine si es
número par o impar.
5. Dados tres números reales por teclado, determine cuál es
el mayor de todos.
6. En la UTM aprobar los niveles del idioma Inglés es
obligatorio, existen 7 niveles de Ingles que se deben
aprobar semestre a semestre durante los 5 años de
carrera. Dado por teclado el número de semestre y el nivel
de Inglés aprobado, encuentra e imprima los niveles de
inglés que le faltan por cursar y el número de semestres
que tiene disponibles para terminar en tiempo y forma; de
lo contrario imprima los niveles de inglés que le faltan por
cursar y el número de semestres que le faltarían para
terminar todos los niveles de inglés.
2.3 Selectivas múltiples
switch (expresion){
case exp-const: sentencia 1;
sentencia n;
break;
case exp-const: sentencia 1;
sentencia n;
break;
default : sentencia 1;
sentencia n;
}
2.3 Selectiva múltiple (sintaxis en C)
−𝑏± 𝑏2 −4𝑎𝑐
𝑥1,2 =
2𝑎
Se clasifican en:
while (mientras)
do while (hacer-mientras)
for (para)
3.1 while (mientras)
while (expresion) {
sentencia 1;
sentencia n;
}
3.1 while (mientras)
Bucle contador
Se utiliza en combinación con el bucle centinela
Útilcuando se quiere contar el número de veces que se
ejecuta el bucle.
La expresión lógica no depende del contador
3.1 Ejemplo 6. Bucle contador.
cont ←0
total← 0
Imprimir “Programa que calcula el total de una compra”
imprimir “Teclea id del producto(menor que 1 para terminar)”
leer(id) //lectura adelantada
mientras id>0
imprimir “Teclea la cantidad de productos:”
leer(cantidad)
imprimir “Teclea el precio:”
leer(precio)
total ← total+cantidad*precio
cont ←cont+1
imprimir “Teclea id del producto(menor que 1 para terminar)”
leer(id) //lectura actualizada
finMientras
imprimir “Se compró”, cont, “tipos de productos”
imprimir “El total de la compra es:”, total
Codificar el ejemplo anterior, e identificar el valor
centinela y el porque es un ejemplo de bucle
contador.
3.2 do while (hacer-mientras)
Diagrama de flujo
Sintaxis :
hacer
Acciones
mientras CondControl
3.2 hacer-mientras en C
do {
sentencia 1;
sentencia n;
} while (expresion);
3.2 hacer-mientras (do-while)
//codificación
do {
printf(“Teclea una calificación:”);
scanf(“%f”, calif);
}while(calif<0 || calif>10);
3.2 hacer-mientras (do-while)
Diagrama de flujo
Número de veces
determinado a priori.
Sintaxis :
Donde:
expr1: variable de control de inicialización
expr2: condición de control
expr3: incremento o decremento
3.3 para (for) en C
Acumulador
Contador
Banderas
Variables de control