You are on page 1of 3

Taller 3

1. Escriba un programa que imprima una lista de números del 2 al 20, y que muestra si el número es
divisible por 2, por 3, por ambos o por ninguno.

#div.py
#muestra si los numeros son divisibles por 2, 3, ambos o ninguno

import numpy as np

i = np.arange(2,21)
print ("{:^5}{:^18}".format("Num","Div por 2 y/o 3?"))
print ("{:^6}{:^17}".format("---","-----------------"))
for ang in i :
a = 2
b = 3

if (((ang)%a)!=0 and ((ang)%b) !=0) :


print ("{:^5}{:^18}".format(ang,"ninguno"))
elif (((ang)%a)==0 and ((ang)%b) ==0) :
print ("{:^5}{:^18}".format(ang,"ambos"))
elif (((ang)%a)==0) :
print ("{:^5}{:^18}".format(ang,"por 2"))
elif (((ang)%b)==0) :
print ("{:^5}{:^18}".format(ang,"por 3"))

2. Escriba un programa que repetidamente le pida al usuario tres valores (reales) a, b, c, para la ecuación
cuadrática

a ∗ x2 + b ∗ x + c = 0x (1)

Usando la famosa formula para las raı́ces de este problema, el programa debe reconocer si hay raı́ces reales
y calcular estos valores. Como resultado, muestre el número de raı́ces reales y sus valores. El programa
debe parar si todos los valores son 0.

#cua.py
#programa para calcular las raices de una ecuacion cuadratica

1
#informacion ingresada por el usuario
#ceros para salir

from math import *

for i in range(1000):
intxt = input("ingrese valores (reales) a,b,c, para la ecuacion a*x^2+b*x+c=0; ")
a,b,c = intxt.split()
a = float(a)
b = float(b)
c = float(c)
e = (b**2)-4*a*c

if (a==0 and b==0 and c==0):


break
if (e<0) :
print("La ecuacion no tiene raices")
elif(e>0) :
x = (-b+sqrt((b**2)-4*a*c))/(2*a)
y = (-b-sqrt((b**2)-4*a*c))/(2*a)
print ("la ecuacion tiene dos raices", "x1=", x, "y x2=", y)
elif (e==0) :
x = (-b+sqrt((b**2)-4*a*c))/(2*a)
print ("la ecuacion tiene una raiz", "x=", x)

3. Modifique el programa gfc.py para calcular el mı́nimo común múltiplo (least common multiple en inglés)
de dos números enteros.

# mcm.py
# calcular el minimo comun multiplo de dos numeros enteros
# mcm utilizando el algoritmo de euclides
for i in range(10):

intxt = input("Ingrese 2 enteros (ceros para parar)= ")


a,b = intxt.split()
a = int(a)
b = int(b)

if (a==0 and b==0):


break
else:
amin = min(a,b)
for j in range(1,amin+1):
if ( (a%j)==0 and (b%j)==0):
jmax = j

2
print ("Minimo comun multiplo = ",a*b/jmax)

You might also like