Control de Flujo (I): If, Switch - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Control de Flujo (I): If, Switch

Description:

Sabemos especificar sub-algoritmos dentro de un programa: funciones. En los laboratorios han adquirido ... Escoja que hacer dadas alternativas. Ejecute ciclos ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 16
Provided by: FelipeC2
Category:
Tags: control | dadas | flujo | switch

less

Transcript and Presenter's Notes

Title: Control de Flujo (I): If, Switch


1
Control de Flujo (I)If, Switch
  • Clase 7
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen del curso hasta ahora
  • Sabemos definir un algoritmo
  • Sabemos escribir programas simples, que
  • Reciben inputs
  • Hacen cálculos
  • Entregan output
  • Sabemos especificar sub-algoritmos dentro de un
    programa funciones
  • En los laboratorios han adquirido práctica con
    los computadores

3
Qué es el control de flujo?
  • Permite que un programa tome decisiones
  • Escoja que hacer dadas alternativas
  • Ejecute ciclos
  • Por lo tanto sirve para expresar comportamientos
    más complejos
  • Ejemplos?

4
Aumenta la expresividad de lo que podemos
describir en un programa
  • Podremos programar una gran variedad de cosas.
  • Todo lo que se puede describir con
  • árboles de decisión, o
  • diagramas de flujo

5
El comando if
  • Si ocurre la expresión, se lleva a cabo el bloque
    de instrucciones
  • Ej. hacer la función valorAbsoluto.

if ( expresión-booleana )       ...      
Bloque de instrucciones       ...
AB?
SI
NO
6
Variación if/else
if ( expresión-booleana )       ...      
instrucciones       ...       else      
...       instrucciones       ...
AB?
NO
SI
  • Si ocurre algo, hacer X, si no ocurre hacer Y
  • Ej. programa que imprime par o impar,
    dependiendo del número.

7
Variación if/else if/else
  • Permite escoger entre varias ramas
  • Propuesto dibujar el diagrama de flujo
  • Ej. programa que imprime etapa de la vida
    dependiendo de la edad (niño 0-12, adolescente
    13-19, joven 20-30, adulto 31-50, mayor 51-)

if ( expresión-booleana )       ...      
instrucciones       ...    else if (
expresión-booleana )       ...      
instrucciones       ...    else      
...       instrucciones       ...
8
Ejemplos if
  • Crédito autorizado
  • int salario, credito
  • if (salario gt 1000000)
  • credito 5000000
  • else if (salario gt 500000)
  • credito 2000000
  • else if (salario gt 100000)
  • credito 1000000
  • else
  • credito 0

9
EjemploQué hago el sábado por la noche?
10
EjemploQué hago el sábado por la noche?
  • main()
  • char respuesta
  • printf("Veamos que hacer el sabado por la
    noche...\n")
  • printf("Desea quedarse en casa? (s/n) ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Le gusta ver TV? (s/n) ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Hay algun programa bueno esta
    noche? (s/n) ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Sugerencia Coma cabritas y vea
    el programa que pasan\n")
  • else
  • printf("Sugerencia Arriende una
    pelicula\n")

11
EjemploQué hago el sábado por la noche?
  • else
  • printf("Le gusta bailar? (s/n) ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Le gusta la musica tropical? (s/n)
    ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Sugerencia Vaya a la discotheque
    El Merengazo\n")
  • else
  • printf("Sugerencia Vaya a la discotheque
    Los Tarros\n")
  • else
  • printf("Le gusta ir al cine? (s/n) ")
  • scanf("s", respuesta)
  • if (respuesta's')
  • printf("Sugerencia Vaya a ver una
    pelicula\n")
  • else
  • printf("Sugerencia Vaya a un pub y
    tomese un Pisco Sour\n")

12
Mini-tarea
  • Haga un programa (que utilice funciones) que
    reciba tres números y devuelva
  • Sumatoria
  • Pitatoria
  • Promedio
  • Mínimo
  • Máximo

13
Instrucción switch
switch ( expresión )       case constante1
              ...               Bloque de
instrucciones 1               ...              
break                  case constante2
              ...               Bloque de
instrucciones 2               ...              
break                  ...       case
constanteN               ...              
Bloque de instrucciones N              
...               break                 
default   / Opcional /              
...               Bloque de instrucciones
N1               ...              
  • Similar a if / else if / else
  • Es más claro, es similar a un menú de
    alternativas.
  • break hace que el programa salte al final del
    switch.
  • default es un atrapa todo.

14
Ejemplos switch
  • / Tipico switch para un menu de una aplicacion.
    En la variable
  • entera opcion el usuario ingreso su eleccion
    dentro del menu
  • /
  • switch (opcion)
  • case 1
  • opcion1()
  • break
  • case 2
  • opcion2()
  • break
  • case 3
  • opcion3()
  • break
  • default printf("Opcion invalida\n")

15
Ejemplos switch
  • / Dado un mes, identifica el trimestre /
  • switch (mes)
  • case 1
  • case 2
  • case 3
  • printf("Primer trimestre\n")
  • break
  • case 4
  • case 5
  • case 6
  • printf("Segundo trimestre\n")
  • break
  • case 7
  • case 8
  • case 9
  • printf("Tercer trimestre\n")
  • break

16
Ejemplo Conversión a letras de una cantidad de
dos dígitos
  • Programa que convierte una cantidad de dos
    dígitos a letras, en la forma en que sería útil,
    por ejemplo, para escribir un cheque. El programa
    es una versión muy simple que soporta sólo
    cantidades entre 30 y 99 (no se consideran
    excepciones).

17
EjemploCálculo de 2n
  • Programa que calcula 2n, para n entre 1 y 10.
    Para la implementación se emplea un switch sin
    breaks, lo cual puede ser una técnica de
    programación peligrosa.

18
EjemploCálculo de 2n
  • main()
  • int n
  • int x 2
  • printf("Calculo de 2n. Ingrese n entre 1 y
    10 ")
  • scanf("d", n)
  • switch(n)
  • case 10 x x 2
  • case 9 x x 2
  • case 8 x x 2
  • case 7 x x 2
  • case 6 x x 2
  • case 5 x x 2
  • case 4 x x 2
  • case 3 x x 2
  • case 2 x x 2

19
Ejemplos
  • Hacer un programa que transforme desde números
    enteros a números romanos (1-100).
  • Hacer un programa que una fecha de estilo 1 4
    2003, la escriba como 1 de Abril de 2003.
  • Mini-tarea Ídem al anterior pero que escriba
    Lunes, 1 de Abril de 2003.
Write a Comment
User Comments (0)
About PowerShow.com