Date post: | 22-Jan-2016 |
Category: |
Documents |
Upload: | nita-zacarias |
View: | 213 times |
Download: | 1 times |
FI
EE
-
2
01
3
SENTENCIAS DE CONTROL
Ing. José Antonio Poma G.
FI
EE
-
2
01
3Estructuras selectivas
Son estructuras de control que nos permiten tomar decisiones lógicas.
Consiste en evaluar una expresión, y con un resultado obtenido realizar una determinada acción.
Las estructuras selectivas pueden ser de tres tipos. Alternativa Simple – sentencia if Alternativa doble – if…else Alternativa multiple
Sentencia if anidadasSentencias switch
FI
EE
-
2
01
3SENTENCIAS IF
sentencia condicional simple Se trata de una sentencia que, tras evaluar una
expresión lógica, ejecuta una serie de sentencias en caso de que la expresión lógica sea verdadera. Su sintaxis es
if(expresión lógica) {sentencias .}
FI
EE
-
2
01
3Ejemplo
if(nota>=5){printf(“Aprobado”);aprobados++;
}
Ilustración 1, Diagrama de actividad del if simple
FI
EE
-
2
01
3sentencia condicional compuesta
FI
EE
-
2
01
3sentencia condicional compuesta
Es igual que la anterior, sólo que se añade un apartado else que contiene instrucciones que se ejecutarán si la expresión evaluada por el if es falsa. Sintaxis:
if(expresión lógica){sentencias .}else {sentencias }
FI
EE
-
2
01
3Ejemplo
if(nota>=5){printf(“Aprobado”);aprobados++;
}else {printf(“Suspensos”); suspensos++;
}
FI
EE
-
2
01
3Anidación
Dentro de una sentencia if se puede colocar otra sentencia if. A esto se le llama anidación y permite crear programas donde se valoren expresiones complejas. Por ejemplo en un programa donde se realice una determinada operación dependiendo de los valores de una variable.
if (x==1) {sentencias … }else {
if(x==2) {sentencias … }else {
if(x==3) {sentencias … }
}}
FI
EE
-
2
01
3Anidación
Si-sino-si anidada (if-else-if): cuando se anidan instrucciones if, se debe tener en cuidado de se saber en todo momento la else que coresponde con cada if.
FI
EE
-
2
01
3if – else - if
Si-sino-si (if-else-if): se utiliza la combinacion de instrucciones if-else-if para realizar comparaciones sucesivas multiples.
FI
EE
-
2
01
3
FI
EE
-
2
01
3operador condicinal
El operador condicinal (?:) : la instrucción condicional ? Proporciona una forma rápida de escribir una condición de evaluacion. El operador se utiliza para sustituir una instrucción if-else equivalente.
FI
EE
-
2
01
3SENTENCIAS SWITCH
Se trata de una sentencia que permite construir alternativas múltiples. Pero que en el lenguaje C está muy limitada. Sólo sirve para evaluar el valor de una variable entera (o de carácter, char).
Tras indicar la expresión entera que se evalúa, a continuación se compara con cada valor agrupado por una sentencia case. Cuando el programa encuentra un case que encaja con el valor de la expresión se ejecutan todos los case siguientes.
Por eso se utiliza la sentencias break para hacer que el programa abandone el bloque switch. Sintaxis:
FI
EE
-
2
01
3SENTENCIAS SWITCH
switch(expresión entera){ case valor1: sentencias
break; /*Para que programa salte fuera del switch de otro modo atraviesa todos los demás case */ case valor2: sentencias
... default: sentencias }
FI
EE
-
2
01
3SENTENCIAS SWITCHswitch (diasemana) {
case 1: printf(”Lunes”);
break; case 2:
printf(”Martes”);break; case 3:
printf(”Miércoles”);break; case 4:
printf(”Jueves”);break; case 5:
printf(”Viernes”);break; case 6:
printf(”Sábado”);break; case 7:
printf(”Domingo”);break; default: std::cout<<”Error”;}
FI
EE
-
2
01
3Selección de casos (switch - case)
Selección de casos (switch - case) : para la evaluación de una variable o una expresión frente a varios valores, se podrían utilizar instrucciones if-else-if anidadas o una instrucción switch
FI
EE
-
2
01
3
FI
EE
-
2
01
3Tarea
1. ¿Cuáles y cuántos son los números primos comprendidos entre 1 y 1000?
2. Calcular el máximo de números positivos introducidos por teclado, sabiendo que metemos números hasta que introduzcamos uno negativo. El negativo no cuenta.
3. Determinar cuales son los múltiplos de 5 comprendidos entre 1 y N.
FI
EE
-
2
01
3Solución
Algoritmo n_primos Const Primero=1 Limite=1000 Var cont, i, j: entero primo: boolean Inicio Cont 0 Desde i= primero hasta limite primo verdadero j 2 mientras (i>j) y (primo =verdadero) Si i mod j = 0 Entonces primo falso Sino j j + 1 Fin si Fin mientras Si primo = verdadero Entonces escribir i” “ Cont cont + 1 Fin si Fin desde Escribir “Entre “primero” y “limite” hay “cont” nº primos” Fin
FI
EE
-
2
01
3Solución
Algoritmo maximo Var Num, max: entero Inicio Max 0 Escribir “Introduzca nº positivos y para acabar introduzca uno negativo” Leer num Mientras num >=0 Si num >max Entonces max num Fin si Leer num Fin mientras Escribir “El mayor número es” max Fin
FI
EE
-
2
01
3Solución
Algoritmo multiplos Var i: entero Inicio Desde i=1 hasta n Si i mod 5 =0 Entonces escribir i Fin si Fin desde Fin