estructuras selectivas
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 PresentationTRANSCRIPT
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.
Dra. Addys de Lam
ESTRUCTURAS DE ALTERNATIVASESTRUCTURA DE SELECCIÓN SIMPLE
ALGORITMO
Si ( condición) Entonces
Acciones
CODIGO EN C:
if (expresion)sentencia;
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”);
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();}
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;
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);
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”);
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(); }
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 ;
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”);
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(); }
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
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);}
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
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();
}
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();}