FACULTAD DE INGENIERÍA
CARRERA DE INGENIERIA CIVIL
ASIGNATURA: PROGRAMACION DIGITAL
Walter Marticorena Ramos
SOLUCIÓN EXAMEN ESCRITO Nº 02
Pregunta1:
La empresa OferTec está registrado los precios de un producto que tiene tres proveedores. Al momento de
ingresar los precios debe verificar que sean diferentes.
Elabore un programa donde ingrese los tres precios uno por uno verificando que sean diferentes y mayores
a cero (validado). El programa debe mostrar los tres precios en orden descendente.
Aquí hay algunos ejemplos de ejecuciones: Ingrese precio1 [>0]: 0
Ingrese otro precio1 [>0]: 45
Ingrese precio2 diferente de 45 [>0]: 45
Ingrese otro precio2 diferente de 45 [>0]: 58
Ingrese precio3 diferente de 45 y 58 [>0]: 58
Ingrese otro precio3 diferente de 45 y 58 [>0]: 24
58 45 24
c1=int(input('Ingrese c1 [>0]: ')) if c1>c2 and c2>c3:
while not c1>0: print(c1,c2,c3)
c1=int(input('Ingrese otro c1 [>0]: ')) elif c1>c3 and c3>c2:
c2=int(input('Ingrese c2 diferente de {} [>0]: '.format(c1))) print(c1,c3,c2)
while not (c2>0 and c2!=c1): elif c2>c1 and c1>c3:
c2=int(input('Ingrese otro c2 diferente de {} [>0]: '.format(c1))) print(c2,c1,c3)
c3=int(input('Ingrese c3 diferente de {} y {} [>0]: '.format(c1,c2))) elif c2>c3 and c3>c1:
while not (c3>0 and c3!=c1 and c3!=c2): print(c2,c3,c1)
c3=int(input('Ingrese otro c3 diferente de {} y {} [>0]: '.format(c1,c2))) elif c3>c1 and c1>c2:
print(c1,c2,c3) print(c3,c1,c2)
elif c3>c2 and c2>c1:
print(c3,c2,c1)
Pregunta2:
Escriba un programa que ingrese las coordenadas de dos puntos en un eje cartesiano, (𝒙𝟏 ; 𝒚𝟏 ) , (𝒙𝟐 ; 𝒚𝟐 ) que
representan los centros de dos círculos y sus radios r1 y r2 correspondientes.
El programa deberá decirnos si los círculos están separados, son tangentes externos o presentan otra
relación.
Ingrese coordenada x del centro de circulo 1: 5
Ingrese coordenada y del centro de circulo 1: 1
Ingrese radio del circulo 1: 3
Ingrese coordenada x del centro de circulo 2: 10
Ingrese coordenada y del centro de circulo 2: 4
Ingrese radio del circulo 2: 5
Ingrese coordenada x del centro de circulo 1: 5 Los círculos presentan otra relación
Ingrese coordenada y del centro de circulo 1: 1
Ingrese radio del circulo 1: 3 Ingrese coordenada x del centro de circulo 1: 5
Ingrese coordenada x del centro de circulo 2: 10 Ingrese coordenada y del centro de circulo 1: 2
Ingrese coordenada y del centro de circulo 2: 1 Ingrese radio del circulo 1: 2
Ingrese radio del circulo 2: 2 Ingrese coordenada x del centro de circulo 2: 10
Los círculos son tangentes externos Ingrese coordenada y del centro de circulo 2: 4
Ingrese radio del circulo 2: 3
Los círculos están separados
1
x1=float(input('Ingrese coordenada x del centro de circulo 1: '))
y1=float(input('Ingrese coordenada y del centro de circulo 1: '))
r1=float(input('Ingrese radio del circulo 1: '))
x2=float(input('Ingrese coordenada x del centro de circulo 2: '))
y2=float(input('Ingrese coordenada y del centro de circulo 2: '))
r2=float(input('Ingrese radio del circulo 2: '))
d=((x1-x2)**2+(y1-y2)**2)**0.5
if d>r1+r2:
print('Los circulos estan separados')
elif d==r1+r2:
print('Los circulos son tangentes externos')
else:
print('Los circulos presentan otra relacion')
Pregunta3:
Escriba un programa que permita ingresar n precios de un producto. El valor de n debe ser validado (mayor
a 5), si esto no se cumple debe pedir ingresarlo nuevamente.
Los n precios ingresados deben estar validados mayor a cero. El programa debe determinar cuántos y que
porcentaje de todos los precios ingresados están dentro de un rango de aceptación que será entre 50 y 60
soles inclusive.
Si no hay precios en el rango de aceptación, el programa debe indicarlo. Aquí hay un ejemplo de ejecución:
Ingrese cantidad de precios [>5]: 4
Ingrese otra cantidad de precios [>5]: 6
Ingrese cantidad de precios [>5]: 6
precio nro 1: 45
precio nro 1: 15 precio nro 2: 52
precio nro 2: 14 precio nro 3: 0
precio nro 3: 23 precio nro 3: 68
precio nro 4: 18 precio nro 4: 64
precio nro 5: 0 precio nro 5: 50
precio nro 5: 16 precio nro 6: 66
precio nro 6: 27
33% de productos en el rango aceptable, son 2 de 6
Ningún producto está en el rango aceptable El precio promedio de los aceptados es de 51.0 soles
n=int(input('Ingrese cantidad de productos [>5]: '))
while not(n>5):
n=int(input('Ingrese otra cantidad de productos [>5]: '))
c=0
suma=0
for i in range(n):
precio=int(input('precio nro {}: '.format(i+1)))
while not precio >0:
precio=int(input('precio nro {}: '.format(i+1)))
if 50<=precio<=60:
c=c+1
suma=suma+precio
if c==0:
print('Ningún producto está en el rango aceptable')
else:
print('{}% de productos en el rango aceptable, son {} de {}'.format(int(c*100/n),c,n))
print('El precio promedio de los aceptados es de {} soles '.format(suma/c))