{ifs anidado}

Programación - Ingeniería Civil

Contenidos

Sentencia if-else anidados

# PRESENTING CODE

Considera el caso donde la instrucción colocada después del if  es otro if.

Lee lo que hemos planeado para este Domingo. Si hay buen clima, saldremos a caminar. Si encontramos un buen restaurante, almorzaremos allí. De lo contrario, vamos a comer un sandwich. Si hay mal clima, iremos al cine. Si no hay boletos, iremos de compras al centro comercial más cercano.

Sentencia if-else anidados

# PRESENTING CODE

Considera cuidadosamente el código siguiente:

if el_tiempo_es_bueno:
    if existe_buen_restaurante:
        almorzar()
    else:
        comer_un_sandwich()
else:
    if entradas_disponibles:
        ir_al_cine()
    else:
        ir_de_compras()

Sentencia elif

# PRESENTING CODE

El segundo caso especial presenta otra nueva palabra clave de Python: elif. Como probablemente sospechas, es una forma más corta de else if.

elif se usa para verificar más de una condición, y para detener cuando se encuentra la primera sentencia verdadera.

Nuestro siguiente ejemplo se parece a la anidación, pero las similitudes son muy leves. Nuevamente, cambiaremos nuestros planes y los expresaremos de la siguiente manera: si hay buen clima, saldremos a caminar, de lo contrario, si obtenemos entradas, iremos al cine, de lo contrario, si hay mesas libres en el restaurante, vamos a almorzar; si todo falla, regresaremos a casa y jugaremos ajedrez.

Sentencia elif

# PRESENTING CODE

El mismo escenario empleando Python

if el_tiempo_es_bueno:
    salir_a_caminar()
elif existe_entradas_disponibles:
    ir_al_cine()
elif existe_mesas_libres:
    almorzar()
else:
    jugar_ajedrez_en_casa()

El mismo escenario empleando Python

Sentencia elif

# PRESENTING CODE

Se debe prestar atención adicional a este caso:

  • No debes usar else sin un if precedente;
  • else siempre es la última rama de la cascada, independientemente de si has usado elif o no;
  • else es una parte opcional de la cascada, y puede omitirse;
  • Si hay una rama else en la cascada, solo se ejecuta una de todas las ramas;
  • Si no hay una rama else, es posible que no se ejecute ninguna de las opciones disponibles.

¿Cuál es la salida de este programa?

x = 5
if x < 15:
  if x > 8:
    print('one')
  else:
	print('two')
else:
  if x > 2:
    print('three')
# PRESENTING CODE

A. one

B. two

C. three

D. más de una de las anteriores

E. no presenta nada

# Lo siguiente también implica decisiones 
# basadas en la edad de una persona:

edad = int(input("Edad: "))

if edad < 13:
  print('Eres un niño.')
elif edad >= 13 and edad < 20:
  print('Eres un adolescente.')
elif edad >= 20 and edad < 30:
  print('Tiens veinte años')
elif edad >= 30 and edad < 40:
  print('Tienes más de 30 años')
else:
  print('Es usted un sobreviviente')
# PRESENTING CODE

Evite el código demasiado complicado

¿Cómo se podría simplificar?

# Lo siguiente también implica decisiones basadas 
# en la edad de una persona:


edad = int(input("Edad: "))

if edad < 13:
  print('Eres un niño.')
elif edad < 20:
  print('Eres un adolescente.')
elif edad < 30:
  print('Tienes veinte años')
elif edad < 40:
  print('Tienes más de 30 años')
else:
  print('Es usted un sobreviviente')
# PRESENTING CODE

Evite el código demasiado complicado

Ejemplo 1

# PRESENTING CODE

Un contratista de ingeniería civil está presupuestando la construcción de un puente y los costos varían según la longitud del puente a construir, con base en las siguientes reglas:

  • Si la longitud del puente es menor a 500 metros, el costo por metro es de $1,200.
  • Si la longitud del puente es entre 500 metros y 1,000 metros, el costo por metro es de $1,100.
  • Si la longitud del puente es mayor a 1,000 metros, se aplica un costo por metro de $1,000, además de un descuento global del 5% sobre el costo total debido a economías de escala.

Desarrolle un algoritmo que reciba la longitud del puente, calcule el costo total basado en estas reglas, y muestre el costo final de la construcción.

Ejemplos de pruebas:

  1. Si la longitud del puente es de 300 metros, el costo por metro sería de $1,200 y el costo total sería $360,000.
  2. Si la longitud del puente es de 800 metros, el costo por metro sería de $1,100 y el costo total sería $880,000.
  3. Si la longitud del puente es de 1,500 metros, el costo inicial sería $1,500,000 ($1,000 por metro), y con el descuento del 5%, el costo final sería $1,425,000.

 

 

 

Ejemplo 2

# PRESENTING CODE

Una calculadora básica se puede realizar con condiciones. Se desea realizar algunas de las operaciones básicas con dos números x, y. Se debe de considerar los casos donde y = 0 donde la división x/y NO se puede realizar. Se desea generar un menú para que el usuario pueda seleccionar la operación a realizar. Una manera de hacerlo es la siguiente:

1. Se recibe los dos números

2. Se recibe la operación a realizar mediante la variable opción la que selecciona en el menú qué operación ejecuta el algoritmo.

3. Mediante condiciones se realiza la operación deseada. En el caso de la división, si y = 0, NO se puede realizar la división, se muestra un mensaje y se hace error = Verdadero.

4. Se muestra el resultado.

 

 

 

Reto 1:

# PRESENTING CODE

El valor de y se define como sigue:

y = x^2 + 2x - 3 \quad si \quad -3\leq x \leq 2\\ y = 5x + 7 \quad si \quad 2 < x \leq 10\\ y = 0 \quad si \quad x < -3 \quad ó \quad x > 10

Escriba un programa que lea el valor de x y

determine el valor de y.

Reto 2:

# PRESENTING CODE

Escriba un program que permita calcular el valor de f(x), según la expresión:

Reto 3:

# PRESENTING CODE

4. Condicionales 2da Parte RESUMIDO V2024 #IngCivil

By Santiago Quiñones Cuenca

4. Condicionales 2da Parte RESUMIDO V2024 #IngCivil

  • 121