estructuras selectivas

16
Dra. Addys de Lam ESTRUCTURAS SELECTIVAS OBJETIVOS CONOCER LAS DIFERENTES ESTRUCTURAS SELECTIVAS O ALTERNATIVAS EN EL LENGUAJE C. RESOLVER PROBLEMAS UTILIZANDO LAS DIFERENTES ESTRUCTURAS SELECTIVAS.

Upload: september-alvarado

Post on 04-Jan-2016

29 views

Category:

Documents


1 download

DESCRIPTION

ESTRUCTURAS SELECTIVAS. OBJETIVOS CONOCER LAS DIFERENTES ESTRUCTURAS SELECTIVAS O ALTERNATIVAS EN EL LENGUAJE C. RESOLVER PROBLEMAS UTILIZANDO LAS DIFERENTES ESTRUCTURAS SELECTIVAS. ALGORITMO Si ( condición) Entonces Acciones. CODIGO EN C: if (expresion) sentencia;. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS SELECTIVAS

OBJETIVOS• CONOCER LAS DIFERENTES ESTRUCTURAS SELECTIVAS O ALTERNATIVAS EN EL LENGUAJE C.• RESOLVER PROBLEMAS UTILIZANDO LAS DIFERENTES ESTRUCTURAS SELECTIVAS.

Page 2: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS DE ALTERNATIVASESTRUCTURA DE SELECCIÓN SIMPLE

ALGORITMO

Si ( condición) Entonces

Acciones

CODIGO EN C:

if (expresion)sentencia;

Page 3: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

EJEMPLOS

Si ( Ht < = 40.00 )

Entonces Sb Ht * Sh

Si ( sexo = = ‘ f’) Entonces visualizar ( “ Es Mujer”)

if ( ht < = 40.00 )

sb = ht * sh;

if ( sexo == ‘ f’) printf ( “ Es Mujer”);

Page 4: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

#include <stdio.h> /* Determina si el sexo es femenino */ #include <conio.h> main() { char sex; char nombre[25]; clrscr(); /* Entrada de los datos */ printf("Entre nombre: \t"); gets(nombre); printf ("Entre el sexo (f/m) "); sex=getchar(); printf("\n"); puts (nombre); /* Determina el sexo femenino */ if (sex == 'f') printf("\t *** Es Mujer ***"); getch();}

Page 5: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS DE ALTERNATIVASESTRUCTURA DE SELECCIÓN DOBLE

ALGORITMO

Si ( condición) Entonces

AccionesDe Otro Modo

Acciones

CODIGO C

if (expresion) sentencia_v;

elsesentencia_f;

Page 6: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ALGORITMOSi ( Ht < = 40.00 )

Entonces Sb Ht * Sh

De Otro Modo Sb 40.00*Sh + (2 * (Ht - 40.00)*Sh)

CODIGO Cif ( ht < = 40.00 )

sb = ht * sh; else sb = 40.00*sh + (2 * (ht - 40.00)*sh);

Page 7: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ALGORITMOSi ( sexo == ‘ f’)

Entonces visualizar ( “ Es Mujer”)De Otro Modo visualizar ( “ Es Hombre”)

CODIGO Cif ( sexo == ‘ f’)

printf ( “ Es Mujer”);else

printf ( “ Es Hombre”);

Page 8: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

#include <stdio.h> /* Determina femenino o masculino*/ #include <conio.h> main() { char sex; char nombre[25]; clrscr(); /* Entrada de los datos */ printf("Entre nombre: \t"); gets(nombre); printf ("Entre el sexo (f/m) "); sex=getchar(); printf("\n"); puts (nombre); /*Determina el sexo masculino o femenino*/ if (sex == 'f') printf("\t *** Es Mujer ***"); else printf("\t *** Es Hombre ***"); getch(); }

Page 9: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS DE ALTERNATIVASESTRUCTURA DE SELECCIÓN ANIDADA

ALGORITMO

Si ( condición) Entonces Si ( condición) Entonces

Acciones De Otro Modo

AccionesDe Otro Modo

Si ( condición) Entonces

Acciones De Otro Modo

Acciones

CODIGO C

if (expresion)

if (expresion) sentencia_v; else

sentencia_f;else

if (expresion) sentencia_v; else

sentencia_f ;

Page 10: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ALGORITMO

Si ( sexo == ‘ f’) Entonces visualizar ( “ Es Mujer”) De Otro Modo Si ( sexo == ‘ m’) Entonces visualizar ( “ Es Hombre”) De Otro Modo visualizar ( “ Error”)

CODIGO C

if ( sexo = =‘ f’) printf ( “ Es Mujer”);else if ( sexo == ‘ m’) printf ( “ Es Hombre”); else printf ( “ Error”);

Page 11: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

#include <stdio.h> /*Anidado*/ #include <conio.h> main() { char sex; char nombre[25]; clrscr(); /* Entrada de los datos */ printf("Entre nombre: \t"); gets(nombre); printf ("Entre el sexo (f/m) "); sex=getchar(); printf("\n"); puts (nombre); /* Determina el sexo masculino o femenino */ if (sex == 'f') printf("\t *** Es Mujer ***"); else if (sex=='m') printf("\t *** Es Hombre ***"); else printf("Ha entrado un código del sexo errado"); getch(); }

Page 12: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS DE ALTERNATIVASESTRUCTURAS DE ALTERNATIVASESTRUCTURA DE SELECCIÓN ESTRUCTURA DE SELECCIÓN ( Instrucciones Compuestas)( Instrucciones Compuestas)

EJEMPLO:

Algoritmo: Salario_BrutoInicio(* Declaración de Variable *)cadena nombre [20]cadena cedula[12], Cat[12]reales Ht , Sh, Sbvisualizar(“Entre nombre y

cedula”)leer (“%s%s”,Nombre,Cedula)visualizar (“Entre horas

trabajadas y salario por hora”)leer (“%f%f”, Ht, Sh)(* Calculo del Salario Bruto*)

Si ( Ht < = 40.00 ) Entonces Inicio Sb Ht * Sh Cat “ Normal “ Fin De Otro Modo Inicio Sb 40.00* Sh + ( 2*(Ht - 40.00)*SH) Cat “Extras “ Finvisualizar(“Nombre %s Cedula: %sGana: %f Categoría: %s“, nombre,cedula,sb,Cat)Fin

Page 13: ESTRUCTURAS SELECTIVAS

Dra. Addys de Lam

ESTRUCTURAS DE ALTERNATIVASESTRUCTURAS DE ALTERNATIVAS CODIGO C CODIGO C( Instrucciones Compuestas)( Instrucciones Compuestas)

#include<stdio.h>#include<string.h>main(){/* Declaración de Variable */char nombre [20];char cedula[12], cat[12];float ht , sh, sb;printf(“Entre nombre y

cedula”);scanf(“%s%s”,nombre,cedula);printf (“Entre horas trabajadas

y salario por hora”);scanf(“%f%f”, &ht,&sh);/* Calculo del Salario Bruto*/

if ( ht < = 40.00 ) { sb = ht * sh; strcpy(cat, “ Normal “); } else { sb = 40.00* sh + ( 2*(ht - 40.00)*sh); strcpy(cat, “Extras “); }printf(“Nombre %s Cedula: %sGana: %f Categoría: %s“, nombre,cedula,sb,cat);}

Page 14: ESTRUCTURAS SELECTIVAS

Prof. Addys de Lam

OPERADOR CONDICIONAL

?: El tipo de expresión condicional se puede escribir en lugar de if-else. Formato: expresión 1 ? expresión 2: expresión3 expresión 1: se evalúa primero, si resulta cierta: expresión 2: es evaluada y este es el valor de la expresión condicional. expresión 3: es evaluada si expresión 1 es falsa y éste será el valor de la expresión condicional. Ejemplo: i es variable entera. (i<0) ? 0 : 100; i<0 cierto expresión condicional es 0 falso expresión condicional es 100 indicador = (i<0) ?0:100; cierto indicador es 0 falso indicador es 100

Page 15: ESTRUCTURAS SELECTIVAS

Programación en C 15

Operador ?:#include <stdio.h>

void main()

{

int a,b=4,c=5;

a= b>0 ? c : c+1;

/* Equivalente a

if(b>0)

a=c;

else

a=c+1; */

printf(“Elvalor de a: %i”,a);

getch();

}

Page 16: ESTRUCTURAS SELECTIVAS

Operador ?:

Dra. Addys de Lam

#include<stdio.h>main() {int max, n1,n2;printf(“Entre dos valores enteros”);scanf(“%i%i”,&n1,&n2);

/* La variable max toma el valor máximo de n1 y n2 */

max = (n1>n2) ? n1 : n2;

printf(“El valor máximo es: %i”,max);getch();}