Estructuras de control

301 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
301
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Estructuras de control

  1. 1. ESTRUCTURAS DE CONTROL SELECTIVAS Y REPETITIVAS Ing. José Luis Ceballos
  2. 2. CONCEPTUALIZACIÓNLas estructuras de control permiten establecer el orden de ejecución de las instrucciones de un programa. Por defecto, el flujo de ejecución de un programa es secuencial, es decir, las instrucciones se ejecutan una después de la otra en el orden en el cual fueron escritas en el código del programa.Las estructuras repetitivas y selectivas permiten alterar el flujo normal de ejecución del programa; en este sentido, las estructuras de selección se utilizará para seleccionar cuáles instrucciones se ejecutarán y las repetitivas, se utilizarán para repetir una serie de instrucciones. Ing. José Luis Ceballos
  3. 3. INTRUCCIONES SELECTIVAS Instrucción If-elseLa sintaxis es: if (condición) { instrucciones; Grupo 1 } else { instrucciones; Grupo 2 }Lo anterior establece que de ser verdadera la condición, se ejecutará el grupo 1 de instrucciones, en caso contrario, se ejecutará el grupo 2. Ing. José Luis Ceballos
  4. 4. INTRUCCIONES SELECTIVAS Instrucción If-else unidireccionalExisten situaciones en donde se omite la parte else de la instrucción condicional, debido a que no se considera necesario ejecutar un grupo de instrucciones en caso de que no se cumpla la condición. Así la sintaxis quedaría como sigue: if (condición) { instrucciones; } Ing. José Luis Ceballos
  5. 5. INTRUCCIONES SELECTIVAS Instrucción If-else en cadenaLa sintaxis es: if (condición1) { instrucciones; } else if (condición2) { instrucciones; } else if (condición3) { instrucciones; } else { instrucciones; } Ing. José Luis Ceballos
  6. 6. INTRUCCIONES SELECTIVAS Instrucción If-else en cadenaDe acuerdo a la sintaxis anterior, la instrucción if-else en cadena evaluará cada condición en orden, y si alguna de ellas es verdadera, entonces, se ejecutará el grupo de instrucciones asociada a la condición, y lo que resta de la cadena será omitido. El grupo de instrucciones asociadas con el else final, se ejecutará cuando ninguna de las condiciones anteriores se haya cumplido, es decir, este último grupo de instrucciones funciona como un valor predeterminado. Ing. José Luis Ceballos
  7. 7. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadasEl grupo de instrucciones asociado a una condición puede estar constituido por instrucciones válidas de C++, incluyendo otra instrucción if-else; de ser así, se estaría creando instrucciones anidadas if. Ing. José Luis Ceballos
  8. 8. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadasUn ejemplo de la sintaxis de if anidadas es: if (condición1) { if (condición2) { instrucciones; Grupo 1 } else { instrucciones; Grupo 2 } } else if (condición3) { if (condición4) { instrucciones; Grupo 3 } } else { instrucciones; Grupo 4 } Ing. José Luis Ceballos
  9. 9. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadasEn el ejemplo de sintaxis anterior, para que se ejecute el Grupo 1 de instrucciones, condición1 y condición2 deben ser verdaderas; para ejecutarse el Grupo 2 de instrucciones, condición1 verdadera y condición2 falsa; el Grupo 3 de instrucciones se ejecutará sólo si condición3 y condición4 son verdaderas; y el Grupo 4 de instrucciones se ejecutará si condición1 y condición3 son falsas. Ing. José Luis Ceballos
  10. 10. INTRUCCIONES SELECTIVAS EjemploUna institución educativa determina el nivel de grado desus estudiantes de acuerdo al número de unidades decrédito aprobadas por estos; en tal sentido, desarrolleun programa que solicite el número de unidades decrédito aprobadas por el alumno y determine suubicación dentro de la carrera universitaria de acuerdo ala siguiente tabla: Número de créditos obtenidos Grado Menor que 32 Primer año Entre 32 y 63 Segundo año Entre 64 y 95 Tercer año 96 o más Cuarto año Ing. José Luis Ceballos
  11. 11. INTRUCCIONES SELECTIVAS Ejemplo#include <iostream.h>#include <conio.h>main(){ int uc; cout << “nn Unidades de crédito aprobadas: ”; cin >> uc; if (uc < 32) cout << “nn Alumno de Primer Año”; else if (uc >= 32 && uc <= 63) cout << “nn Alumno de Segundo Año”; else if (uc >= 64 && uc <= 95) cout << “nn Alumno de Tercer Año”; else cout << “nn Alumno de Cuarto Año”; cout << “nn Presione una tecla para finalizar….”; return 0;} Ing. José Luis Ceballos
  12. 12. INTRUCCIONES SELECTIVAS Instrucción switchLa sintaxis es: switch(expresión) { case valor1: { instrucciones; }break;; case valor2: { instrucciones; }break;; case valor3: { instrucciones; }break;; default: instrucciones; } Ing. José Luis Ceballos
  13. 13. INTRUCCIONES SELECTIVAS Instrucción switchLa instrucción switch es una alternativa a la instrucción if-else, y básicamente consiste en comparar el valor de una expresión de número entero o carácter, con un valor específico. La palabra clave case se utiliza para identificar los valores que serán comparados con el valor de la expresión. Al coincidir algunos de estos valores, se ejecuta el grupo de instrucciones asociado a ese case hasta encontrarse una instrucción break la cual hace que se salga del ciclo switch. La instrucción break es muy importante, porque ella obliga a salir del ciclo, en caso de no encontrarse, se seguirán ejecutando las instrucciones de manera secuencial, incluyendo todos los case que vienen posteriores al que dio inicio de ejecución de las instrucciones.En caso de que el valor de la expresión no coincida con el valor de algún case, entonces se ejecutará el grupo de instrucciones asociadas al default, el cual opera como un else; es decir, si no se ejecuta ningún case, entonces ejecutará por defecto o de manera predeterminada, el grupo de instrucciones del default. Es de hacer notar que la instrucción default es opcional dentro del ciclo switch, y esta no requiere finalizar con ningún break, porque aparece al final del ciclo. Ing. José Luis Ceballos
  14. 14. INTRUCCIONES SELECTIVAS EjemploDesarrollar un programa que lea dosnúmeros enteros y lleve a cabo unaoperación aritmética (suma, resta,multiplicación, división) entre ellos, deacuerdo a lo indicado por el usuario. Ing. José Luis Ceballos
  15. 15. INTRUCCIONES SELECTIVAS Ejemplo#include <iostream.h>#include <conio.h>main(){ int n1, n2, r, sw = 0; char op; cout << “nn Indique primer número entero: ”; cin >> n1; cout << “nn Indique segundo número entero: ”; cin >> n2; cout << “nn Indique operador ( + - * / )  ”; cin >> op; switch (op) { case ‘+’ : { r = n1 + n2; }break; Ing. José Luis Ceballos
  16. 16. INTRUCCIONES SELECTIVAS Ejemplo case ‘-’ : { r = n1 – n2; }break; case ‘*’ : { r = n1*n2; }break; case ‘/ ’ : { if (n2 != 0) r = n1 / n2; else { cout << “nn Error división por cero… ”; sw = 1; } }break; default: cout << “nn Error en la selección del operador…” sw = 1; } if ( sw == 0 ) cout << “nn Resultado = “ << r; getch(); return 0; Ing. José Luis Ceballos}
  17. 17. INTRUCCIONES REPETITIVAS Instrucción forLa sintaxis es: for (inicializar; condición; inc/dec) { instrucciones; }La instrucción for se utiliza cuando se tiene establecido el número de veces que se debe ejecutar repetidamente un grupo de instrucciones. Ing. José Luis Ceballos
  18. 18. INTRUCCIONES REPETITIVAS Instrucción forA continuación se describirán los elementos que conforman la instrucción for :inicializar : Es una instrucción que se usa para establecer el valor inicial de la variable que controlará el ciclo repetitivo.expresión : Determina la condición de finalización del ciclo repetitivo.inc/dec : Establece el incremento o decremento del valor de la variable que controla al ciclo repetitivo. Ing. José Luis Ceballos
  19. 19. INTRUCCIONES REPETITIVAS Instrucción whileLa sintaxis es: while (condición) { instrucciones; }En una sentencia while el grupo de instrucciones inmerso en ella, se ejecutará repetidamente, mientras que la condición sea verdadera. Ing. José Luis Ceballos
  20. 20. INTRUCCIONES REPETITIVAS Instrucción do whileLa sintaxis es: do { instrucciones; }while (condición);La sentencia do while hace que se repita la ejecución de las instrucciones asociadas a ella, mientras que la condición sea verdadera.La diferencia que existe con respecto al ciclo while visto anteriormente, es que en este, la condición se evalúa antes de ingresar a la ejecución de las instrucciones; por el contrario, en el ciclo do while se ejecutan al menos una vez las instrucciones y luego se verifica la condición. En tal sentido, si se requiere que se valide primero la condición antes de ejecutar el grupo de instrucciones, se debe hacer uso de la sentencia while, en cualquier otro caso, se puede hacer uso de la sentencia do while. Ing. José Luis Ceballos
  21. 21. INTRUCCIONES REPETITIVAS Ejemplo 1Desarrollar un programa que muestre eltotal de aprobados y reprobados de unaasignatura, así como el promedio de lacalificación final. Los datos de entradadeben ser : el total de alumnos inscritosen la materia, y la calificación final enbase a 100 puntos de cada alumno. Si lacalificación es menor a 70 puntos, elalumno está reprobado en la asignatura. Ing. José Luis Ceballos
  22. 22. INTRUCCIONES REPETITIVAS Ejemplo 1#include <iostream.h>#include <stdio.h>#include <conio.h>main(){ int i, na, aprob = 0, repro = 0; float cf, prom, s = 0; cout << “nn Indique número de alumnos : ”; cin >> na; for (i = 1; i <= na; i++) { cout << “nn Calificación Final del alumno # ” << i << “ : ”; cin >> cf; if (cf >= 70) aprob++; else repro++; s = s + cf; } prom= s/na; cout << “nn El total de alumnos aprobados es : “ << aprob << “ y reprobados : “ << repro; printf( “nn El promedio de calificaciones es : %2.1f”, prom); cout << “nn Presione una tecla para finalizar…”; getch(); return 0;} Ing. José Luis Ceballos
  23. 23. INTRUCCIONES REPETITIVAS Ejemplo 2Una maquinaria que costó $28.000 sedeprecia a razón de $4.000 por año.Desarrolle un programa que muestre ladepreciación anual y acumulada hastaque el valor de la maquinaria sea igual acero. Ing. José Luis Ceballos
  24. 24. INTRUCCIONES REPETITIVAS Ejemplo 3#include <iostream.h>#include <conio.h>#define D 4000main(){ int vf, s = 0, i = 1, costo = 28000; cout << “nn Año Deprec. Deprec. Acum Valor al fin de año ”; do { s = s + D; CALCULA LA DEPRECIACIÓN ACUMULADA vf = costo – D; CALCULA EL VALOR FINAL DE LA MAQUINARIA cout << “ ” << i << “ ” << D << “ ” << s << “ ” << vf; i++; LLEVA EL CONTEO DEL NÚMERO DE AÑOS costo = vf; ACTUALIZA EL COSTO DE LA MAQUINARIA }while( vf > 0 ); SE EJECUTA EL CICLO MIENTRAS EL VALOR SEA MAYOR A CERO cout << “nnn Presione una tecla para finalizar…”; getch(); return 0;} Ing. José Luis Ceballos

×