2
Lo más leído
5
Lo más leído
8
Lo más leído
ESTRUCTURAS DE SELECCIÓN
SENTENCIAS IF Y SWITCH
Sugerencias y herramientas para crear para crear y presentar diapositivas en
formato panorámico
Contenido
1.    Estructuras de control
2.    La sentencia if
3.    Sentencia if de dos alternativas if-else
4.    Sentencias if-else anidadas
                  if else
5.    Sentencias de control switch
6.    Expresiones condicionales: el operador ?:
7.    Evaluación
      E l ió en cortocircuito d expresiones ló i
                           i i de            i  lógicas
8.    Puesta a punto de programas
9.    Resumen
10.   Ejercicios
Estructuras de control
 Las estructuras de control controlan el flujo de ejecución
 de un programa o función. Las estructuras de control
 permiten combinar instrucciones o sentencias
 individuales en una simple unidad lógica con un punto
 de entrada y un punto de salida
 Las instrucciones o sentencias se organizan en 3 tipos
                                      g                p
 de estructuras de control que sirven para controlar el
 flujo de la ejecución: sentencia, selección (decisión) y
 repetición.
 repetición
La sentencia if
 En C la estructura de control de selección principal es
                                               p    p
 una sentencia if. La sentencia if tiene dos alternativas o
 formatos posibles. El formato mas sencillo tiene la
 sintaxis siguiente:
 If (condición) sentencia;
   condición; es una expresión entera (lógica).
   Sentencia; es cualquier sentencia ejecutable, que se
   ejecutara solo si la condición toma un valor distinto de cero
Ejemplos
 /* este programa lee dos números enteros y comprueba cual es el valor del resto de la división, si el resto es cero, n es
 divisible por d*/
 #include <stdio.h>
 #include <stdlib.h>
 int main ()
 {
     int n, d;
     printf ("introduzca dos enteros: ");
     scanf ("%d,%d",&n,&d);
     if (n%d==0)
 printf("%d es divisible por %dn",n,d);
     system("PAUSE");
     return 0;
 }
Ejemplos
 /*visualiza la tarifa de luz según el gasto de corriente eléctrica para un gasto menor de 1000kwh la tarifa es de 1.2, entre 1000 y 1850kwh es de 1 y mayor a 1850kwh es de 0.9 USD */


 #include <stdio.h>
 #include <stdlib.h>
 #define TARIFA1 1.2
 #define TARIFA2 1.0
 #define TARIFA3 0.9
 int main ()
 {
     float gasto, tasa;
     printf ("n gasto de corriente:");
     scanf("%f", &gasto);
     if (gasto<1000.0) tasa=TARIFA1;
     if (gasto>=1000.0 && gasto<=1850.0) tasa=TARIFA2;
     if (gasto>1850.0) tasa=TARIFA3;
     printf("nTasa que le corresponde a %.1f Kwh es de %fn",gasto,tasa);
     system("PAUSE");
     return 0;
 }
Sentencia if de dos alternativas: if-else
 Un segundo formato de la sentencia if es la sentencia
 if-else. Este formato de la sentencia if tiene la siguiente
 sintaxis:
 If (expresión_logica) Sentencia1 else Sentencia2
 En este formato Accion1 y Accion2 son individualmente
                                           individualmente,
 o bien una única sentencia que termina en un (;) o un
 grupo de sentencias encerrado entre llaves
Ejemplos
 /*calcular el mayor de los números leídos en el teclado y visualizar en la pantalla*/
 #include <stdio.h>
 #include <stdlib.h>
 int main()
 {
     int x,y;
     printf("introduzca dos enteros:");
     scanf("%d,%d",&x,&y);
     if(x>y)
     printf("el mayor es:%dn",x);
     else
     printf("el mayor es:%dn",y);
     system("PAUSE");
     return 0;
 }
Ejemplos
 /*dada la función f(x), calcular la función para un valor dado de x y visualizarlo en la pantalla
 f(x)=      {x^2-x para x<=0.0
            {-x^2+3x para x>0              */
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 int main ()
 {
     float f,x;
     printf ("n Elige un valor de x:");
     scanf ("%f",&x); /*seleccion del rango en el que se encuentra x*/
     if (x<=0.0)
     f=pow(x,2)-x;
     else
     f=-pow(x,2)+3*x;
     printf ("f(%.1f)=%.3fn",x,f);
     system ("PAUSE");
     return 0;
 }
Sentencias if-else anidadas
           if else
 Una sentencia if es anidada cuando la secuencia de
 la rama verdadera o la rama falsa, es a su vez una
 sentencia if
            if.
 Una sentencia if anidada se puede utilizar para
 implementar d i i
 i l       t decisiones con varias alternativas o
                                 i     lt   ti
 multi-alternativas
Formato
Ejemplos
 /*calcular el mayor de 3 números enteros*/
 #include <stdio.h>
 #include <stdlib.h>
 int main ()
 {
     int a,b,c, mayor;
     printf ("nIntroduzca tres numeros enteros:");
     scanf ("%d,%d,%d",&a,&b,&c);
     if (a>b)
       if(a>c)mayor=a;
       else mayor=c;
     else
     if (b>c) mayor=b;
     else mayor=c;
        printf ("El mayor es %dn",mayor);
     system("PAUSE");
     return 0;
 }
Sentencia de control switch
 La sentencia switch es una sentencia C que se utiliza
 para seleccionar una de entre múltiples alternativas. La
 sentencia switch es especialmente útil cuando al
                             p
 selección se basa en el valor de una variable simple o
 de una expresión simple denominada expresión de
              p           p                    p
 control o selector. El valor de esta expresión puede ser
 de tipo int o chart, pero no float ni double
Sintaxis
Ejemplos
 /*dada una nota de un examen mediante un código escribir el literal que le
 corresponde a la nota*/                                                      case 'C': puts("Aprobado");
 #include <stdio.h>
 #
                                                                                               break;
 #include <stdlib.h>
 int main ()
                                                                              case 'D':
 {                                                                            case 'F': puts("Suspendido");
     char nota;
                                                                                               break;
                                                                                               break
     printf ("Introduzca calificacion (A-F) y pulse Intro:");
     scanf("%c",&nota);
                                                                                        default:
     switch (nota)                                                                             puts("No es posible esta nota");
     {                                                                            }
          case 'A': puts("Exelente. Examen superado");
                                                                                               puts ("Final de programa");
                  break;
          case 'B': puts("Notable. Suficiencia");                                              system("PAUSE");
                                                                                               return 0;
                                                                               }
Expresiones condicionales: El operador ?:
 C tiene un tercer mecanismo de selección, una expresión
 que produce uno de dos valores, resultado de una
 expresión lógica o booleana (también denominada
 condición).
 condición) Este mecanismo se denomina expresión
 condicional. Una expresión condicional tiene el formato
 C?A:B y es realmente una operación ternaria (tres
 operandos) en el que C A y B son l tres operandos y
          d )     l    C,           los            d
 ?: es el operador
 Condición ? Expresion1 : expresion2
Evaluación en cortocircuito de expresiones lógicas
  Cuando se evalúan expresiones lógicas en C se puede
  emplear una técnica denominada evaluación en
  cortocircuito. Este tipo de evaluación significa que se puede
  detener la evaluación de una expresión lógica tan pronto
                                      p          g        p
  como su valor pueda ser determinado con certeza.
  Si x es negativo, la expresión
    (x>=0)&&(y>1)
    (    0)&&( 1)
    Se evalúa en cortocircuito ya que x>=0 será falso y por tanto el
    valor final de la expresión será falso.
Errores frecuentes de programación
 Uno de los errores mas comunes en una sentencia if es utilizar un operador de asignación (=)
 en lugar de un operador de igualdad (==)( )
 En una sentencia if anidada, cada clausula else se corresponde con la if precedente mas
 cercana.
 Las comparaciones con los operadores == de cantidades algebraicamente iguales pueden
 producir una expresión l
     d                    lógica f l
                                  falsa, d b d a que l mayoría d l números reales no se
                                         debido        la         de los              l
 almacenan exactamente
 Cuando en una sentencia switch o en un bloque de sentencias falta una de las llaves ({,})
 aparece un mensaje de error “cumpound statement missing } in fuction”
 El selector de una sentencia switch debe ser de tipo entero o compatible entero
 Cuando se utiliza una sentencia switch, asegúrese que el selector switch y las etiquetas case
 son del mismo tipo (int, chart pero no float). Si el valor se evalúa a un valor no listado en
 ninguna de las etiquetas case la sentencia switch no gestionara ninguna acción; por esta
                             case,
 causa se suele poner una etiqueta default para resolver este problema
Resumen
Ejercicios
 Escribir un programa que lea tres enteros y emita un mensaje que indique
 si están o no en orden numérico
  i tá              d        éi
 Determine si el carácter asociado a un código introducido por el teclado
 corresponde a un carácter alfabético, digito, de puntuación, especial o no
 imprimible
 Escribir un programa que acepte fechas escritas de modo usual y las
 visualice como tres números
 Escribir
 E ibi y ejecutar un programa que simule un calculador simple. L d
             j t                         i l        l l d i l Lee dos
 enteros y un carácter. Si el carácter es un +, se imprime la suma; si es un –
 se imprime la diferencia; si es un *, se imprime el producto; si es un /, se
 imprime el cociente; y si es un % se imprime el resto
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

Más contenido relacionado

PDF
Ensamblador y lenguaje c
PPTX
Estructuras iterativas en java y pseudocódigo
PPT
Funciones en C++
PPTX
Memoria Estatica
 
PPTX
Librerias Básicas y sus Funciones Lenguaje de Programación C
PPTX
Librerias de C++
PPSX
Tema 1-2 identificadores - variable y constante
Ensamblador y lenguaje c
Estructuras iterativas en java y pseudocódigo
Funciones en C++
Memoria Estatica
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias de C++
Tema 1-2 identificadores - variable y constante

La actualidad más candente (20)

DOCX
Guía de ejercicios de normalizacion
PDF
Java colecciones
PDF
6 Curso de POO en Java - clases y objetos
PDF
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
PPTX
Antecedentes de la tgs
PPTX
Colas en programacion
PPTX
PPTX
Estructura de Datos - Unidad 6 Metodos de busqueda
DOCX
Estructura de registros
PDF
Unidad 4. estructuras de control
PPTX
TIPOS DE DATOS PARA C++
PPTX
Listas,pilas y colas Estructura de Datos
ODP
Método por plegamiento Hash
PPTX
Expresiones regulares
PPT
Automata Finito No Determinista
DOCX
Omega Up
DOCX
Cuestionario
PPTX
Estructuras de control
PPTX
Estructura básica de un programa en C++
Guía de ejercicios de normalizacion
Java colecciones
6 Curso de POO en Java - clases y objetos
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Antecedentes de la tgs
Colas en programacion
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de registros
Unidad 4. estructuras de control
TIPOS DE DATOS PARA C++
Listas,pilas y colas Estructura de Datos
Método por plegamiento Hash
Expresiones regulares
Automata Finito No Determinista
Omega Up
Cuestionario
Estructuras de control
Estructura básica de un programa en C++
Publicidad

Destacado (20)

PPTX
Estructuras de seleccion
PPT
Introducción A Las Estructuras De Seleccion En C
DOC
Ejemplos Para Dev C++
PDF
Clase 6
PDF
Programación en c++
DOCX
Practica 1
PDF
Estructuras algoritnicas de control
PPT
Visual basic actualizado y c -2-1212616707734961-8
PPTX
Estructuras de control c++
PDF
Ejercicios resueltos de c++
PPTX
Programación en c++
DOCX
Ejercicios de raptor
DOCX
Simple estructura de selección o decisión lógica
PPT
Estructuras repetitivas
PPT
Estructuras de control en Java
PPTX
Condicion Si ANIDADA
PDF
Guía de ejercicios resueltos y propuestos tema 4
PDF
Operadores relacionales y lógicos en c++
DOCX
Programa en C++ ( escriba 3 números y diga cual es el mayor))
DOC
SOLUCIONARIO SEMANA 2 (SENA)
Estructuras de seleccion
Introducción A Las Estructuras De Seleccion En C
Ejemplos Para Dev C++
Clase 6
Programación en c++
Practica 1
Estructuras algoritnicas de control
Visual basic actualizado y c -2-1212616707734961-8
Estructuras de control c++
Ejercicios resueltos de c++
Programación en c++
Ejercicios de raptor
Simple estructura de selección o decisión lógica
Estructuras repetitivas
Estructuras de control en Java
Condicion Si ANIDADA
Guía de ejercicios resueltos y propuestos tema 4
Operadores relacionales y lógicos en c++
Programa en C++ ( escriba 3 números y diga cual es el mayor))
SOLUCIONARIO SEMANA 2 (SENA)
Publicidad

Similar a ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ (20)

RTF
Repaso c
PPT
Clase lenguaje c xxxxxx
PPT
Clase lenguaje c
PPT
Clase lenguaje c xxxxxx
PPT
Estructuras de control
PPT
Lenguaje Borland C - Estructuras de Control
PPT
Operadores y expresiones
PPTX
Lenguaje c (expresiones logicas)
PPTX
Estructuras de decisión o selectivas
PPTX
FUNDAMENTOS DE PROGRAMACION INSTITUTO SUPERIOR
PPT
Fpr Tema 5 www.fresymetal.com
PDF
Lenguaje c
PDF
Escuela
PDF
Escuela
PDF
DOCX
Lenguaje de programacion
PDF
ESTRUCTURAS DE CONTROL: BUCLES EN C++
PDF
Unidad-2.pptx.pdf
PPT
Operadores
PPT
Operadores y expresiones
Repaso c
Clase lenguaje c xxxxxx
Clase lenguaje c
Clase lenguaje c xxxxxx
Estructuras de control
Lenguaje Borland C - Estructuras de Control
Operadores y expresiones
Lenguaje c (expresiones logicas)
Estructuras de decisión o selectivas
FUNDAMENTOS DE PROGRAMACION INSTITUTO SUPERIOR
Fpr Tema 5 www.fresymetal.com
Lenguaje c
Escuela
Escuela
Lenguaje de programacion
ESTRUCTURAS DE CONTROL: BUCLES EN C++
Unidad-2.pptx.pdf
Operadores
Operadores y expresiones

Más de die_dex (20)

PDF
Appendix a introduction tonthe microprocessor and the microcomputer
PDF
Comercio internacional
DOCX
Analisis del comercio exterior en la ultima década
PDF
Micro-nanosystems for electrical metrology and precision instrumentation
PDF
Bolometric Applications at Room Temperature
PDF
Proposed changes to the definition of the ampere and the kilogram and their i...
PDF
Analog to Digital Converters Testing
PDF
Towards Uniformity of DC Voltage Metrology within SIM
PPTX
Web 2.0
DOCX
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
PDF
Urgencia hipertensiva
PDF
Guia para la_atencion_del_parto_normal_en_mcf
PPT
Equipo humano y materiales para recepción de recién
PDF
Crisis hipertensivas
PPTX
GENERACIÓN ELÉCTRICA
PDF
FORMATO IEEE
PPTX
HISTORIA DE LAS TELECOMUNICACIONES
PDF
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
PPTX
Metrologia
PDF
Mediciones e instrumentacion_industrial
Appendix a introduction tonthe microprocessor and the microcomputer
Comercio internacional
Analisis del comercio exterior en la ultima década
Micro-nanosystems for electrical metrology and precision instrumentation
Bolometric Applications at Room Temperature
Proposed changes to the definition of the ampere and the kilogram and their i...
Analog to Digital Converters Testing
Towards Uniformity of DC Voltage Metrology within SIM
Web 2.0
FUENTES DE ENERGÍA RENOVABLE EN EL SUR DE ECUADOR
Urgencia hipertensiva
Guia para la_atencion_del_parto_normal_en_mcf
Equipo humano y materiales para recepción de recién
Crisis hipertensivas
GENERACIÓN ELÉCTRICA
FORMATO IEEE
HISTORIA DE LAS TELECOMUNICACIONES
Lojapioneradelageneracinelectricaenecuador 120118235501-phpapp01
Metrologia
Mediciones e instrumentacion_industrial

Último (20)

PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
APUNTES DE SISTEMAS PSICOLOGICOS CONTEMPORANEOS
PDF
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
PDF
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
PDF
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - TERCER GRADO.docx
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - PRIMER GRADO.docx
PDF
Didáctica de las literaturas infantiles.
PDF
Ficha de Atencion a Estudiantes RE Ccesa007.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
APUNTES DE SISTEMAS PSICOLOGICOS CONTEMPORANEOS
Estadística Aplicada a la Psicología y Ciencias de la Salud Ccesa.pdf
Manual del Gobierno Escolar -MINEDUC.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
KOF-2022-espanol-mar-27-11-36 coke.pdf jsja
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - TERCER GRADO.docx
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - PRIMER GRADO.docx
Didáctica de las literaturas infantiles.
Ficha de Atencion a Estudiantes RE Ccesa007.pdf

ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++

  • 1. ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH Sugerencias y herramientas para crear para crear y presentar diapositivas en formato panorámico
  • 2. Contenido 1. Estructuras de control 2. La sentencia if 3. Sentencia if de dos alternativas if-else 4. Sentencias if-else anidadas if else 5. Sentencias de control switch 6. Expresiones condicionales: el operador ?: 7. Evaluación E l ió en cortocircuito d expresiones ló i i i de i lógicas 8. Puesta a punto de programas 9. Resumen 10. Ejercicios
  • 3. Estructuras de control Las estructuras de control controlan el flujo de ejecución de un programa o función. Las estructuras de control permiten combinar instrucciones o sentencias individuales en una simple unidad lógica con un punto de entrada y un punto de salida Las instrucciones o sentencias se organizan en 3 tipos g p de estructuras de control que sirven para controlar el flujo de la ejecución: sentencia, selección (decisión) y repetición. repetición
  • 4. La sentencia if En C la estructura de control de selección principal es p p una sentencia if. La sentencia if tiene dos alternativas o formatos posibles. El formato mas sencillo tiene la sintaxis siguiente: If (condición) sentencia; condición; es una expresión entera (lógica). Sentencia; es cualquier sentencia ejecutable, que se ejecutara solo si la condición toma un valor distinto de cero
  • 5. Ejemplos /* este programa lee dos números enteros y comprueba cual es el valor del resto de la división, si el resto es cero, n es divisible por d*/ #include <stdio.h> #include <stdlib.h> int main () { int n, d; printf ("introduzca dos enteros: "); scanf ("%d,%d",&n,&d); if (n%d==0) printf("%d es divisible por %dn",n,d); system("PAUSE"); return 0; }
  • 6. Ejemplos /*visualiza la tarifa de luz según el gasto de corriente eléctrica para un gasto menor de 1000kwh la tarifa es de 1.2, entre 1000 y 1850kwh es de 1 y mayor a 1850kwh es de 0.9 USD */ #include <stdio.h> #include <stdlib.h> #define TARIFA1 1.2 #define TARIFA2 1.0 #define TARIFA3 0.9 int main () { float gasto, tasa; printf ("n gasto de corriente:"); scanf("%f", &gasto); if (gasto<1000.0) tasa=TARIFA1; if (gasto>=1000.0 && gasto<=1850.0) tasa=TARIFA2; if (gasto>1850.0) tasa=TARIFA3; printf("nTasa que le corresponde a %.1f Kwh es de %fn",gasto,tasa); system("PAUSE"); return 0; }
  • 7. Sentencia if de dos alternativas: if-else Un segundo formato de la sentencia if es la sentencia if-else. Este formato de la sentencia if tiene la siguiente sintaxis: If (expresión_logica) Sentencia1 else Sentencia2 En este formato Accion1 y Accion2 son individualmente individualmente, o bien una única sentencia que termina en un (;) o un grupo de sentencias encerrado entre llaves
  • 8. Ejemplos /*calcular el mayor de los números leídos en el teclado y visualizar en la pantalla*/ #include <stdio.h> #include <stdlib.h> int main() { int x,y; printf("introduzca dos enteros:"); scanf("%d,%d",&x,&y); if(x>y) printf("el mayor es:%dn",x); else printf("el mayor es:%dn",y); system("PAUSE"); return 0; }
  • 9. Ejemplos /*dada la función f(x), calcular la función para un valor dado de x y visualizarlo en la pantalla f(x)= {x^2-x para x<=0.0 {-x^2+3x para x>0 */ #include <stdio.h> #include <stdlib.h> #include <math.h> int main () { float f,x; printf ("n Elige un valor de x:"); scanf ("%f",&x); /*seleccion del rango en el que se encuentra x*/ if (x<=0.0) f=pow(x,2)-x; else f=-pow(x,2)+3*x; printf ("f(%.1f)=%.3fn",x,f); system ("PAUSE"); return 0; }
  • 10. Sentencias if-else anidadas if else Una sentencia if es anidada cuando la secuencia de la rama verdadera o la rama falsa, es a su vez una sentencia if if. Una sentencia if anidada se puede utilizar para implementar d i i i l t decisiones con varias alternativas o i lt ti multi-alternativas
  • 12. Ejemplos /*calcular el mayor de 3 números enteros*/ #include <stdio.h> #include <stdlib.h> int main () { int a,b,c, mayor; printf ("nIntroduzca tres numeros enteros:"); scanf ("%d,%d,%d",&a,&b,&c); if (a>b) if(a>c)mayor=a; else mayor=c; else if (b>c) mayor=b; else mayor=c; printf ("El mayor es %dn",mayor); system("PAUSE"); return 0; }
  • 13. Sentencia de control switch La sentencia switch es una sentencia C que se utiliza para seleccionar una de entre múltiples alternativas. La sentencia switch es especialmente útil cuando al p selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de p p p control o selector. El valor de esta expresión puede ser de tipo int o chart, pero no float ni double
  • 15. Ejemplos /*dada una nota de un examen mediante un código escribir el literal que le corresponde a la nota*/ case 'C': puts("Aprobado"); #include <stdio.h> # break; #include <stdlib.h> int main () case 'D': { case 'F': puts("Suspendido"); char nota; break; break printf ("Introduzca calificacion (A-F) y pulse Intro:"); scanf("%c",&nota); default: switch (nota) puts("No es posible esta nota"); { } case 'A': puts("Exelente. Examen superado"); puts ("Final de programa"); break; case 'B': puts("Notable. Suficiencia"); system("PAUSE"); return 0; }
  • 16. Expresiones condicionales: El operador ?: C tiene un tercer mecanismo de selección, una expresión que produce uno de dos valores, resultado de una expresión lógica o booleana (también denominada condición). condición) Este mecanismo se denomina expresión condicional. Una expresión condicional tiene el formato C?A:B y es realmente una operación ternaria (tres operandos) en el que C A y B son l tres operandos y d ) l C, los d ?: es el operador Condición ? Expresion1 : expresion2
  • 17. Evaluación en cortocircuito de expresiones lógicas Cuando se evalúan expresiones lógicas en C se puede emplear una técnica denominada evaluación en cortocircuito. Este tipo de evaluación significa que se puede detener la evaluación de una expresión lógica tan pronto p g p como su valor pueda ser determinado con certeza. Si x es negativo, la expresión (x>=0)&&(y>1) ( 0)&&( 1) Se evalúa en cortocircuito ya que x>=0 será falso y por tanto el valor final de la expresión será falso.
  • 18. Errores frecuentes de programación Uno de los errores mas comunes en una sentencia if es utilizar un operador de asignación (=) en lugar de un operador de igualdad (==)( ) En una sentencia if anidada, cada clausula else se corresponde con la if precedente mas cercana. Las comparaciones con los operadores == de cantidades algebraicamente iguales pueden producir una expresión l d lógica f l falsa, d b d a que l mayoría d l números reales no se debido la de los l almacenan exactamente Cuando en una sentencia switch o en un bloque de sentencias falta una de las llaves ({,}) aparece un mensaje de error “cumpound statement missing } in fuction” El selector de una sentencia switch debe ser de tipo entero o compatible entero Cuando se utiliza una sentencia switch, asegúrese que el selector switch y las etiquetas case son del mismo tipo (int, chart pero no float). Si el valor se evalúa a un valor no listado en ninguna de las etiquetas case la sentencia switch no gestionara ninguna acción; por esta case, causa se suele poner una etiqueta default para resolver este problema
  • 20. Ejercicios Escribir un programa que lea tres enteros y emita un mensaje que indique si están o no en orden numérico i tá d éi Determine si el carácter asociado a un código introducido por el teclado corresponde a un carácter alfabético, digito, de puntuación, especial o no imprimible Escribir un programa que acepte fechas escritas de modo usual y las visualice como tres números Escribir E ibi y ejecutar un programa que simule un calculador simple. L d j t i l l l d i l Lee dos enteros y un carácter. Si el carácter es un +, se imprime la suma; si es un – se imprime la diferencia; si es un *, se imprime el producto; si es un /, se imprime el cociente; y si es un % se imprime el resto
  • 21. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9