fiee - 2013 sentencias de control ing. josé antonio poma g

Post on 22-Jan-2016

213 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related