Tema 6a Estructuras de control Secuenciales y selectivas.

25
Tema 6a Estructuras de control Secuenciales y selectivas

Transcript of Tema 6a Estructuras de control Secuenciales y selectivas.

Page 1: Tema 6a Estructuras de control Secuenciales y selectivas.

Tema 6a

Estructuras de control

Secuenciales y selectivas

Page 2: Tema 6a Estructuras de control Secuenciales y selectivas.

Estructuras de control

• Controlan el flujo de un algoritmo– Secuencial– Selectiva– Repetitiva

Page 3: Tema 6a Estructuras de control Secuenciales y selectivas.

Secuencial

3

4

2

1

3

4

2

1

Page 4: Tema 6a Estructuras de control Secuenciales y selectivas.

Secuencial

2

2

)(1

)()(

mxk

mxkxf

Page 5: Tema 6a Estructuras de control Secuenciales y selectivas.

Secuencial

Pedir valor de k

Ingresar valor de k

Pedir valor de m

Ingresar valor de m

Pedir valor de x

Ingresar valor de x

Calcular aux = k*(x-m)*(x-m)

Calcular f = aux/(1+aux)

Mostrar valor de f(x)

Pedir valor de kIngresar valor de kPedir valor de m

Ingresar valor de mPedir valor de x

Ingresar valor de xCalcular aux = k*(x-m)*(x-m)

Calcular f = aux/(1+aux)Mostrar valor de f(x)

Page 6: Tema 6a Estructuras de control Secuenciales y selectivas.

Secuencial#include <stdio.h>

void main(){//f(x) = (k*(x-m)^2) / (1+k*(x-m)^2)

double f=0,x=0,aux=0; int k=0,m=0; printf("Ingrese valor de k: "); scanf("%d",&k); printf("Ingrese valor de m: "); scanf("%d",&m); printf("Ingrese valor de x: "); scanf("%lf",&x);

aux=k*(x-m)*(x-m); f= aux/(1+aux); printf("f(%0.2f)=%f\n",x,f);}

Page 7: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces)

C

3

4

2

1

3

si no

4

2

1

C

Page 8: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces)instruccion1;if(condicion)

instrucción2;instrucción 3

instrucción1;

if(condicion){

instrucción2;

instrucción3;

instrucción4;

}

Instrucción5;

Palabrareservada

Bloque

“evaluable”a verdadero o falso

Page 9: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces)

etoc

xmxk

mxkxf

0

0)(1

)()( 2

2

Page 10: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces)

Ingresar valor de x

Calcular aux = k*(x-m)*(x-m)

Calcular f = aux/(1+aux)

Mostrar valor de f(x)

x>0

Calcular aux = k*(x-m)*(x-m)Calcular f = aux/(1+aux)

Mostrar valor de f(x)

Ingresar valor de x

x>0si

si

nono

Page 11: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces)

void main(){//f(x) = (k*(x-m)^2) / (1+k*(x-m)^2)

double f=0,x=0,aux=0;…printf("Ingrese valor de x: ");

scanf("%lf",&x);

if(x>0){ aux=k*(x-m)*(x-m); f= (aux/1+aux);

} printf("f(%0.2f)=%f\n",x,f);}

Page 12: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)

C

3a 3b

4

2

1

si no

3a 3b

si no

4

2

1

C

Page 13: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)instruccion1;if(condicion)

instrucción2;else

instrucción 3Instruccion4;

instrucción1;

if(condicion){

instrucción2;

instrucción3;

instrucción4;

}else{

instrucción5;

instrucción6;

}

Instrucción7;

Palabrareservada

“condicion”verdadera

“condicion”falsa

Page 14: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)instruccion1;if(condicion1)

instrucción2;else if(condicion2)

instrucción 3else if(condicion3)

instruccion4;Instrucción 5;

instruccion1;

if(condicion1){

instrucción2;

}else{

if(condicion2){

instrucción 3

}else{

if(condicion3){

instruccion4;

}

}

}

instrucción 5;

Page 15: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)

0)(1

)(00

0)(1

)(

)(

2

2

2

2

xsimxk

mxkxsi

xsimxk

mxk

xf

Page 16: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)…

printf("Ingrese valor de x: "); scanf("%lf",&x);

if(x>0){ aux=k*(x-m)*(x-m); f= aux/(1+aux);

}else{if(x<0){

aux=k*(x+m)*(x+m); f= aux/(1-aux);

}elsef=0;

} printf("f(%0.2f)=%f [%f]\n",x,f,aux);

Page 17: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (si-entonces-sino)

• Tarea– Diagramas de flujo– Diagramas de caja

Page 18: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (?)

• Es un operados ternario

• Extremadamente compacto

• Muy útil para condiciones simples

Page 19: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (?)

condicion?instruccion1:instruccion2;

Se ejecuta si “condicion” es verdadera

Se ejecuta si “condicion” es falsa

Page 20: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (?)

#include <stdio.h>

void main(){int x=0;double f=0;scanf("%d",&x);

f = x!=0?1/x:0;x!=0?printf("ok\n"):printf("error\n");

printf("f(x)=1/x, f(%d)=%lf\n",x,f);}

Page 21: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (en el caso de)

c

A B CD

1 32

etoc

E

A CB D

C

1 2 3 etoc

E

Page 22: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (en el caso de)

switch(<var>){case <op1>:

instruccion1;instruccion2;break;

case <op2>:instruccion3;instruccion4;break;

default : instruccion5;instruccion6;

}

Palabrasreservadas

Terminode casos

Valores de<var>

Variablepor analizar

Ìr al termino

Page 23: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (en el caso de)#include <stdio.h>

void main(){

char opcion;

printf("***************************\n");

printf("************MENU***********\n");

printf("* Ingrese opcion: *\n");

printf("* a) Saldo *\n");

printf("* b) Giro rapido *\n");

printf("* c) Cambio de clave *\n");

printf("***************************\n");

scanf("%c",&opcion);

switch(opcion){

case 'a': printf("Saldo: $%d",10);break;

case 'b': printf("Giro rapido: $%d",7000);break;

case 'c': printf("Cambio clave: %s","nueva clave");break;

default : printf("Error, comando desconocido");break;

}

}

Page 24: Tema 6a Estructuras de control Secuenciales y selectivas.

Selectiva (en el caso de)

• Tarea– Diagramas de flujo– Diagramas de caja

Page 25: Tema 6a Estructuras de control Secuenciales y selectivas.

Fin tema 6a

Estructuras de control

Secuenciales y selectivas