3.2.1 Condicionales "if-else" - Tarea y Ejemplos



1. Tarea

Instrucciones: Para cada uno de los siguientes ejercicios sobre Algoritmos secuenciales y decisiones, describa un algoritmo en diagrama de flujo o seudocódigo y realice dos pruebas de escritorio.

Los ejercicios son básicos para estructuras de control con condicionales "If-else". Para resolver los ejercicios se recomienda enfocarse en la parte de casos o condiciones del problema.


1.1. Un comerciante compra un artículo a un costo dado. Determine el precio al cual debe venderlo si desea ganar el 15%.


1.2. Un alumno desea saber cual será su calificación final en cierta materia. Dicha calificación se compone de lo siguiente:

60% corresponde al examen escrito.
20% corresponde a las lecciones
15% corresponde a las tareas.
5% corresponde a las prácticas en el laboratorio

El dato del examen escrito es un valor entre 0 y 100 y los otros datos son valores entre 0 y 10. La calificación final debe ser un valor entre 0 y 20.


1.3. En un almacén se descuenta 20% del precio al cliente si el valor a pagarse es mayor a $200. Dado un valor de precio, muestre lo que debe pagar el cliente.


1.4. En un almacén se rebaja 10% del precio al cliente si compra mas de 20 artículos y 5% si compra hasta 20 artículos pero más de 10. Dado el precio unitario de un artículo y la cantidad adquirida, muestre lo que debe pagar el cliente .


1.5. Una frutería ofrece las manzanas con descuento según la siguiente tabla:

kilos compradosDescuento %
0 - 2
0%
2.01 - 510 %
5.01 - 1015 %
10.01 en adelante20 %

Dado el precio por kilo, y el peso, determinar cuánto pagará una persona que compre manzanas es esa frutería.


1.6. En un circuito eléctrico hay tres interruptores, los cuales pueden estar en estado cerrado(1) o abierto(0).

interruptores como lógica para encender foco
Interruptores de focos

Para que un equipo funcione, se requiere que al menos dos estén cerrados. Si los datos son el estado de los interruptores, determine si el equipo funcionará.


1.7. Ingrese tres números correspondientes a un conjunto y tres números correspondientes a otro conjunto.

Muestre los números que corresponden a la intersección de los dos conjuntos.

Sugerencia: Usa una variable para cada elemento del conjunto

conjunto

A = [4 5 7 ]

 B = [2 7 9]

 A ∩ B = 7


1.8 Dados los 9 elementos de una matriz cuadrada, encuentre el valor de su determinante sea diferente de cero.

matriz = \begin{pmatrix}a & b & c \\ d & e & f \\ g & h & i \end{pmatrix}

1.9. En el ejercicio anterior, suponga que la matriz está asociada a un sistema de tres ecuaciones lineales. Ingrese las constantes de las tres ecuaciones y encuentre el valor de las variables.


1.10. Lea los valores de los lados de un triángulo. Determine y muestre un mensaje correspondiente a su tipo (1. EQUILÁTERO, 2. ISÓSCELES, O 3. ESCALENO)

triangulo simple
Triángulo simple

12. Lea las tres dimensiones de un bloque rectangular.

Encuentre las tres diagonales de sus caras diferentes y determine si pudiera atravesar por un orificio circular de diámetro dado.

Bloque y circulo
Bloque y circulo


2. Ejemplos

Ejercicios resueltos en Python y diagramas de flujo como ejemplos de las estructuras de control para condicionales if else (selección).


2.1 Ejercicio

Referencia: Tarea 1 ejercicio 6. interruptores para encender un foco

En un circuito eléctrico hay tres interruptores, los cuales pueden estar en estado cerrado(1) o abierto(0).

interruptores como lógica para encender foco
Interruptores de focos

Para que un equipo funcione, se requiere que al menos dos estén cerrados. Si los datos son el estado de los interruptores, determine si el equipo funcionará.

Desarrollo:
Al inicio, supone que el foco no está encendido (0) .

tarea1 interruptores foco diagrama

Instrucciones en Python

# Ejercicio 6. Interruptores y un foco

# INGRESO
a = int(input('interruptor a: '))
b = int(input('interruptor b: '))
c = int(input('interruptor c: '))

# PROCEDIMIENTO
encendido = 0
if (a==1):
    if (b==1 or c ==1):
        encendido = 1
else:
    if (b==1):
        if (c==1):
            encendido = 1
# SALIDA
print('estado del foco: ',encendido)

Escriba otras propuestas de solución.


2.2. Ejercicio

Referencia: Tarea 1 ejercicio 12. Bloque rectangular pasa por orificio en pared.

Lea las tres dimensiones de un bloque rectangular.

Bloque y circulo
Bloque y circulo

Encuentre las tres diagonales de sus caras diferentes y determine si pudiera atravesar por un orificio circular de diámetro dado.

Nota: Para el desarrollo considere usar la diagonal de cada lado, que es la parte de mayor longitud que debe pasar por el diámetro del círculo.

tarea 1 bloque círculo lateral

Desarrollo de algoritmo

# Problema de la caja y el orificio en la pared
import numpy as np

# INGRESO
a = float(input("lado a: "))
b = float(input('lado b: '))
c = float(input('lado c: '))
d = float(input('lado d: '))

# PROCEDIMIENTO
diagonal1 = np.sqrt(a**2 + c**2)
diagonal2 = np.sqrt(a*a + b*b)
diagonal3 = np.sqrt(b*b + c*c)

pasa = 0
if (diagonal1<d):
    pasa = 1
if (diagonal2<d):
    pasa = 1
if (diagonal3<d):
    pasa = 1

# SALIDA
print(pasa)

Tarea: Realizar diagrama de Flujo. Desarrollado en Pizarra durante la clase


2.3. Ejercicio

Referencia: 1Eva2007TI_T1 Tiro al blanco con dardos

Desarrollado para la primera semana de clases.

Considere solo la parte de condicionales, a partir del ingreso de las coordenadas x,y donde cae el dardo.

tiro al blanco diagrama

Desarrollo de algoritmo

# Un dardo en tablero
# 1ra Evaluación I Término 2007. Tema 1
import numpy as np

# INGRESO
x = float(input('coordenada x: '))
y = float(input('coordenada y: '))

# PROCEDIMIENTO
distancia = np.sqrt(x**2 + y**2)
premio = 0
if (distancia <= 10):
    premio = 50
if (distancia>10 and distancia<=40):
    premio = 40
if (distancia>40 and distancia<=80):
    premio = 30

# SALIDA
print('el premio obtenido es: ', premio)

2.4 Ejercicio

Referencia: 1Eva2005TI_T4 Lanza penales

Desarrollado para un solo penal.
Dado el sector del arco [1,6] donde un jugador lanza el balón y el sector donde el arquero protege, determinar:

a) si hubo gol (1 ó 0)

b) si hubo gol, indicar si fué por izquierda (1), centro(2), derecha(3)

penales arco sectores numerado

Desarrollo de algoritmo

Se inicia considerando que no hubo gol, por lo que la sección=0 para el área donde entró el gol. Hay gol si jugador ≠ jugador.

Diagrama de Flujo

penales arco diagrama de flujo

Instrucciones en Python

# analizar un penal
# Parcial I Término 2005. Tema 4.

# INGRESO
jugador = int(input('sector del jugador:'))
arquero = int(input('sector del arquero:'))

# PROCEDIMIENTO
seccion = 0
if not(jugador==arquero):
    gol = 1
    if (jugador==3 or jugador==4):
        seccion = 1
    if (jugador==2 or jugador==5):
        seccion = 2
    if (jugador== 1 or jugador==6):
        seccion = 3
else:
    gol = 0

# SALIDA
print('Hubo gol: ',gol)
print('seccion: ', seccion)

2.5 Ejercicio

Referencia: Tarea 1 ejercicio 3. Ganancia sobre costo

En un almacén se descuenta 20% del precio al cliente si el valor a pagarse es mayor a $200.

condicionales tarea 1 ejercicio 3 diagrama flujo

Dado un valor de precio, muestre lo que debe pagar el cliente.


2.6 Ejercicio

Referencia: Tarea 1 ejercicio 5. Aplicar descuentos en compras al por mayor

Una frutería ofrece las manzanas con descuento según la siguiente tabla:

kilos compradosDescuento %
0 - 2
0%
2.01 - 510 %
5.01 - 1015 %
10.01 en adelante20 %

Dado el precio por kilo, y el peso, determinar cuánto pagará una persona que compre manzanas es esa frutería.

Desarrollo de algoritmo

condicionales tarea 1 ejercicio 5 diagrama flujo



Unidades FP