You are on page 1of 31

UNIVERSIDAD DE GUADALAJARA

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E


INGENIERÍAS.

DIVISIÓN DE INGENIERÍAS.

Practica 2: Estructura de Control Selectiva

Carrera: Licenciatura en Ingeniería Industrial.

Nombre Código:
Carlos Fabián Martínez Martínez 216545392
Gutiérrez Méndez Lexi Noel 216742503
Miranda Salas Leonardo Giovanni 216657026
Ramírez Reyes Amalia Michelle 216796581

Asignatura: Programación Aplicada.

NRC: 63032 Clave: I7404 Sección: D03

Horario: Martes 09:00 – 11:00, Jueves 09:00 – 11:00.

Profesora: Thelma Isabel Morales Ramírez.

Fecha: Martes 13 de septiembre de 2022.


Practica 2 – Estructura de Control Selectiva
Nombre: Gutiérrez Méndez Lexi Noel Código: 216742503

Enunciado del problema

1. Escribir un programa que pida tres números por teclado y diga: Si están “Ordenados de manera ascendente”, Si están
“Ordenados de manera descendente”, o si están “Desordenados”.

Pseudocódigo

Diagrama de flujo
Código en Python
Numero_1=int(input("Numero 1:"))
Numero_2=int(input("Numero 2:"))
Numero_3=int(input("Numero 3:"))
print("Numeros:",Numero_1, Numero_2, Numero_3)
if Numero_1<Numero_2 and Numero_2<Numero_3:
print("Estan Ordenados de Manera Ascendete")
if Numero_3<Numero_2 and Numero_2<Numero_1:
print("Estan Ordenados de Manera Decendete")
else:
print("Estan Desordenados")

Prueba de escritorio
Enunciado del problema

2. Escribe un programa que pida un número y averigüe si es:


a. Cero, mayor o menor que cero.
b. Par o impar (cuando sea mayor que cero).
c. Múltiplo de 5 o no múltiplo de 5 (cuando sea par).

Pseudocódigo
Algoritmo INICIO
Numero<-0
Leer Numero
si Numero==0 Entonces
Escribir "Es cero"
FinSi
si Numero>0 Entonces
Escribir "El numero es mayor que cero"
si Numero%2==0
Escribir "Es par"
si Numero%5==0 Entonces
Escribir "El numero es multiplo de 5"
SiNo
Escribir "El numero no es multiplo de 5"
FinSi
SiNo
Escribir "Es impar"
FinSi
FinSi
si Numero<0 Entonces
Escribir "El número es menor que 0"
FinSi
FinAlgoritmo

Diagrama de flujo
Código en Python
Numero=float(input("Numero:"))
print("Numero:",Numero)
if Numero==0:
print("Es cero")
if Numero>0:
print("El numero es mayor que 0")
if (Numero%2==0):
print("Es par")
if Numero%5==0:
print("El numero es multiplo de 5")
else:
print("El numero no es multiplo de 5")
else:
print("Es impar")
if Numero<0:
print("El número es menor que 0")

Prueba de escritorio
Enunciado del problema

3. Diseñe un programa que permita ingresar 5 letras y los muestre en orden alfabético. El programa debe considerar
la posibilidad de alguna de las letras se repita.

Pseudocódigo
Diagrama de flujo
Código en Python

#intercambio basico 2 variables con una variable auxiliar: aux<-a,a<-b,b<-aux


letra1=input("ingresar primera letra")
letra2=input("ingresar segunda letra")
if letra2<letra1:
auxiliar=letra2
letra2=letra1
letra1=auxiliar
print(letra1, letra2)
letra3=input("ingresar tercera letra")
if letra3<letra2:
auxiliar=letra3
letra3=letra2
letra2=auxiliar
print(letra2,letra3)
if letra2<letra1:
auxiliar=letra2
letra2=letra1
letra1=auxiliar
print(letra1,letra2)
letra4=input("ingresar cuarta letra")
if letra4<letra3:
auxiliar=letra4
letra4=letra3
letra3=auxiliar
print(letra3,letra4)
if letra3<letra2:
auxiliar=letra3
letra3=letra2
letra2=auxiliar
print(letra2,letra3)
if letra2<letra1:
auxiliar=letra2
letra2=letra1
letra1=auxiliar
print(letra2,letra3)
letra5= input("ingresar quinta letra")
if letra5<letra4:
auxiliar=letra5
letra5=letra4
letra4=auxiliar
print(letra4,letra5)
if letra4<letra3:
auxiliar=letra4
letra4=letra3
letra3=auxiliar
print(letra3,letra4)
if letra3<letra2:
auxiliar=letra3
letra3=letra2
letra2=auxiliar
print(letra2,letra3)
if letra2<letra1:
auxiliar=letra2
letra2=letra1
letra1=auxiliar
print(letra1,letra2,letra3,letra4,letra5)
Prueba de escritorio
Enunciado del problema

4. El costo de una póliza de seguros para automóviles se calcula de la siguiente forma:


𝐶𝑡𝑜𝑡𝑎𝑙 = 3%𝑉𝐴 + 𝐶𝑀 + 𝐶𝐸𝑃 + 𝐶𝐴𝑃
Diseñe un programa que lea el nombre y la edad del propietario, el valor del automóvil (VA), el modelo y el número de
accidentes que ha tenido; e imprima el nombre del propietario seguido del costo de la póliza. Utilice los siguientes datos
para determinar los cargos:

El cargo por accidentes previos (CAP) previos es de $15 por los primeros 3 accidentes y $20 por cada accidente extra.
Nota: la compañía no asegura automóviles a personas con edad fuera de estos rangos.

Pseudocódigo
Algoritmo INICIO
Nombre<-texto
Leer Nombre
Edad<-0
Leer Edad
Valor_del_Automovil<-0
Leer Valor_del_Automovil
Modelo<-0
Leer Modelo
Numero_de_Accidentes<-0
Leer Numero_de_Accidentes
si Edad>=18 y Edad<=23 Entonces
Cargo_por_Edad_del_Propietario=350
FinSi
si Edad<=24 y Edad>=55 Entonces
Cargo_por_Edad_del_Propietario=200
FinSi
si Edad<=56 y Edad>=65 Entonces
Cargo_por_Edad_del_Propietario=400
FinSi
si Modelo<=90 Entonces
Cargo_por_Modelo=Valor_del_Automovil*0.01
FinSi
si Modelo>=91 y Modelo<=97 Entonces
Cargo_por_Modelo=Valor_del_Automovil*0.03
FinSi
si Modelo>=98 Entonces
Cargo_por_Modelo=Valor_del_Automovil*0.05
FinSi
si Numero_de_Accidentes>=1 y Numero_de_Accidentes<=3 Entonces
Cargo_por_Accidentes=15
FinSi
si Numero_de_Accidentes>=4 Entonces
Cargo_por_Accidentes=15+(20*(Numero_de_Accidentes-3))
FinSi
Costo_de_la_Poliza=(0.03*Valor_del_Automovil)+(Cargo_por_Modelo)+(Cargo_por_Edad_del_Prop
ietario)+(Cargo_por_Accidentes)
Escribir Nombre
Escribir Costo_de_la_Poliza
FinAlgoritmo
Diagrama de flujo
Código en Python
Nombre=input("Nombre:")
Edad=int(input("Edad:"))
Valor_del_Automovil=float(input("Valor del Automovil:"))
Modelo=int(input("Modelo:"))
Numero_de_Accidentes=int(input("Numero de Accidentes:"))
if Edad>=18 and Edad<=23:
Cargo_por_Edad_del_Propietario=350
if Edad>=24 and Edad<=55:
Cargo_por_Edad_del_Propietario=200
if Edad>=56 and Edad<=65:
Cargo_por_Edad_del_Propietario=400
if Modelo<=90:
Cargo_por_Modelo=Valor_del_Automovil*0.01
if Modelo>=91 and Modelo<=97:
Cargo_por_Modelo=Valor_del_Automovil*0.03
if Modelo>=98:
Cargo_por_Modelo=Valor_del_Automovil*0.05
if Numero_de_Accidentes>=1 and Numero_de_Accidentes<=3:
Cargo_por_Accidentes=15
if Numero_de_Accidentes>=4:
Cargo_por_Accidentes=15+(20*(Numero_de_Accidentes-3))
Costo_de_la_Poliza=(0.03*Valor_del_Automovil)+(Cargo_por_Modelo)+(Cargo_por_Edad_del_Propietario
)+(Cargo_por_Accidentes)
print("Propietario:", Nombre)
print("Costo de la Poliza:", Costo_de_la_Poliza)

Prueba de escritorio
Enunciado del problema

5. Se quiere calcular la edad exacta de un individuo; para ello se va a tener como entrada dos fechas en el formato día
(1 a 31), mes (1 a 12) y año (entero de cuatro dígitos), correspondientes a la fecha de nacimiento y la fecha actual,
respectivamente. Escribir un programa que calcule y visualice la edad del individuo, la edad se debe dar en años, meses
y días exactos; si el año de nacimiento es mayor al año actual debe enviar un mensaje al usuario con la leyenda “No has
nacido”.
• Validar que los días y los meses introducidos estén dentro del rango y el valor introducido como año no
contenga letras o caracteres especiales.

Pseudocódigo
Algoritmo INICIO
Dia_de_nacimiento<-0
Leer Dia_de_nacimiento
Mes_de_nacimiento<-0
Leer Mes_de_nacimiento
Anio_de_nacimiento<-0
Leer Anio_de_nacimiento
Dia_actual<-0
Leer Dia_actual
Mes_actual<-0
Leer Mes_actual
Anio_actual<-0
Leer Anio_actual
si Anio_de_nacimiento>Anio_actual Entonces
Escribir "No has nacido"
FinSi
si Mes_actual==Mes_de_nacimiento Entonces
si Dia_de_nacimiento==Dia_actual Entonces
Anios=Anio_actual-Anio_de_nacimiento
Meses=0
Dias=0
FinSi
si Dia_actual>Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento
Meses=0
Dias=Dia_actual-Dia_de_nacimiento
FinSi
si Dia_actual<Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento-1
Meses=11
Dias=Dia_de_nacimiento-Dia_actual
Dias=30-Dias
FinSi
FinSi
si Mes_actual>Mes_de_nacimiento Entonces
si Dia_actual==Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento
Meses=Mes_actual-Mes_de_nacimiento
Dias=0
FinSi
si Dia_actual>Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento
Meses=Mes_actual-Mes_de_nacimiento
Dias=Dia_actual-Dia_de_nacimiento
FinSi
si Dia_actual<Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento
Meses=Mes_actual-Mes_de_nacimiento-1
Dias=Dia_de_nacimiento-Dia_actual
Dias=30-Dias
FinSi
FinSi
si Mes_actual<Mes_de_nacimiento Entonces
si Dia_actual==Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento-1
Meses=Mes_de_nacimiento-Mes_actual
Meses=12-Meses
Dias=0
FinSi
si Dia_actual>Dia_de_nacimiento Entonces
Anio=Anio_actual-Anio_de_nacimiento-1
Meses=Mes_de_nacimiento-Mes_actual
Meses=12-Meses
Dias=Dia_actual-Dia_de_nacimiento
FinSi
si Dia_actual<Dia_de_nacimiento Entonces
Anios=Anio_actual-Anio_de_nacimiento-1
Meses=Mes_de_nacimiento-Mes_actual+1
Meses=12-Meses
Dias=Dia_de_nacimiento-Dia_actual
Dias=30-Dias
FinSi
FinSi
si Anios>=0 y Meses>=0 y Dias>=0 Entonces
Escribir "Anios:", Anios
Escribir "Meses:", Meses
Escribir "Dias:", Dias
FinSi
FinAlgoritmo

Diagrama de flujo
Código en Python
Dia_de_Nacimiento=int(input("Dia de Nacimiento:"))
Mes_de_Nacimiento=int(input("Mes de Nacimiento:"))
Anio_de_Nacimiento=int(input("Anio de Nacimiento:"))
Dia_Actual=int(input("Dia Actual:"))
Mes_Actual=int(input("Mes Actual:"))
Anio_Actual=int(input("Anio Actual"))
if Anio_de_Nacimiento>Anio_Actual:
print("No has nacido")
if Mes_Actual==Mes_de_Nacimiento:
if Dia_de_Nacimiento==Dia_Actual:
Anios=Anio_Actual-Anio_de_Nacimiento
Meses=0
Dias=0
if Dia_Actual>Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento
Meses=0
Dias=Dia_Actual-Dia_de_Nacimiento
if Dia_Actual<Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento-1
Meses=11
Dias=Dia_de_Nacimiento-Dia_Actual
Dias=30-Dias
if Mes_Actual>Mes_de_Nacimiento:
if Dia_Actual==Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento
Meses=Mes_Actual-Mes_de_Nacimiento
Dias=0
if Dia_Actual>Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento
Meses=Mes_Actual-Mes_de_Nacimiento
Dias=Dia_Actual-Dia_de_Nacimiento
if Dia_Actual<Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento
Meses=Mes_Actual-Mes_de_Nacimiento-1
Dias=Dia_de_Nacimiento-Dia_Actual
Dias=30-Dias
if Mes_Actual<Mes_de_Nacimiento:
if Dia_Actual==Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento-1
Meses=Mes_de_Nacimiento-Mes_Actual
Meses=12-Meses
Dias=0
if Dia_Actual>Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento-1
Meses=Mes_de_Nacimiento-Mes_Actual
Meses=12-Meses
Dias=Dia_Actual-Dia_de_Nacimiento
if Dia_Actual<Dia_de_Nacimiento:
Anios=Anio_Actual-Anio_de_Nacimiento-1
Meses=Mes_de_Nacimiento-Mes_Actual+1
Meses=12-Meses
Dias=Dia_de_Nacimiento-Dia_Actual
Dias=30-Dias
if Anios>=0 and Meses>0 and Dias>=0:
print("Anios:", Anios)
print("Meses:", Meses)
print("Dias:", Dias)

Prueba de escritorio
Enunciado del problema

6. Formula Cuadrática

Realizar un programa que te ayude a calcular el valor de x de una ecuación cuadrática, haciendo uso de la formula
cuadrática.
• Calcular el discriminante
• Si d>0 las soluciones son reales y distintas dadas por:

• Si d ==0 las soluciones son iguales dadas por:

• Si d<0 las soluciones son complejas, conjugadas por:

Pseudocódigo

Diagrama de flujo
Código en Python
a=float(input("Ingrese a"))
b=float(input("Ingresa b"))
c=float(input("Ingresa c"))
discriminante=b**2-4*a*c
if discriminante<0:
print("La ecuacion tiene soluciones reales")
elif discriminante==0:
x=-b/(2*a)
print("La solución unica es x=",x)
else:
x1=(-b-(discriminante**0.5))/(2*a)
x2=(-b+(discriminante**0.5))/(2*a)
print("x1=",x1)
print("x2=",x2)

Prueba de escritorio
Enunciado del problema

7. Una agencia de autos necesita un programa para calcular el pago mensual para un agente de ventas de autos,
basándose en lo siguiente:
• El pago base es de $350, más una comisión de $15 por cada auto vendido y un bono de $40 si vendió más de
15 autos.
• El impuesto a pagar es el 5 % del pago total.
• Los datos de entrada son el nombre del vendedor y el número de autos vendidos en el mes.
• Se desea imprimir el nombre del vendedor, el sueldo bruto, el impuesto y el sueldo neto.

Pseudocódigo

Diagrama de flujo
Código en Python
pagobase=int(input("ingrese pagobase:"))
comisionporauto=int(input("ingrese comisionporauto:"))
autosvendidos=int(input("ingrese autosvendidos:"))
nombredelvendedor=input("ingrese nombredelvendedor")
bono=int(input("ingrese bono"))
if autosvendidos>15:
bono=40
sueldobruto=pagobase+(comisionporauto*autosvendidos)+bono
impuesto=sueldobruto*0.05
sueldoneto=sueldobruto-impuesto
else:
bono=0
print("sueldo bruto",sueldobruto)
print("impuesto",impuesto)
print("sueldo neto",sueldoneto)
print("nombre del vendedor",nombredelvendedor)
Prueba de escritorio
Enunciado del problema

8. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una
empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que éstas se
pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al
doble de lo que se paga por una hora normal y el resto al triple.

Pseudocódigo

Diagrama de flujo
Código en Python
Horastrabajadas = float(input("Ingresar horas trabajadas: "))
Pagoporhora = float(input("Ingresar pago por hora: "))
if Horastrabajadas<=40:
sueldo = (Horastrabajadas * Pagoporhora)
else:
if Horastrabajadas <= 48:
dobles = Horastrabajadas -40
sueldo = (40 * Pagoporhora) + (dobles * Pagoporhora * 2)
else:
triples = Horastrabajadas - 48
sueldo = (40 * Pagoporhora) + (8 * Pagoporhora * 2) + (triples * Pagoporhora * 3)
print("El sueldo por ",Horastrabajadas,"horas trabajadas es: ",sueldo)

Prueba de escritorio

You might also like