Ecuaciones de 2do Grado En Python! EXPLICADA A TOPE! Aprende a Programar!!!

in #spanish7 years ago

Resolver problemas cotidianos es la mejor manera de aprender a programar, primero buscamos las diferentes rutas lógicas para resolver el problema, hacemos el algoritmo es decir cuantos pasos necesitamos hacer para llegar a la meta! y al final gozamos y disfrutamos de ver corriendo nuestro código...

Hace algún tiempo escribí esta entrada:

python-resolviendo-ecuaciones-de-segundo-grado

Y la verdad me gusto mucho aprender y enseñar como resolver estos problemas matemáticos por lo que seguiré leyendo libros y agregando alguno que otro problema de fácil solución :_D

Hoy me lleve una sorpresa en mi Blog Viejo, y es que uno de mis lectores me preguntaba por que uso un else en la linea 29, por lo que me doy cuenta que no basta con enseñar el programa o decir como funciona muchas veces debemos dar a conocer el lenguaje...

Python

Es un lenguaje multiproposito, Orientado a objetos e interactivo, pero lo que mas me gusta es que nos obliga a usar una sintaxis clara y legible por cualquiera, lo que ayuda a mejorar y mantener el codigo...

from math import sqrt
a = float(raw_input('Valor de a: '))
b = float(raw_input('Valor de b: '))
c = float(raw_input('Valor de c: '))
if a != 0:
   discriminante= b**2 - 4*a*c
   if discriminante >=0:
       x1 = (-b + sqrt(discriminante)) / (2 * a)
       x2 = (-b - sqrt(discriminante)) / (2 * a)
       if x1==x2:
           print 'La Solucion de la ecuacion es: x1=%4.3f'% x1
       else:
           print 'Soluciones de la ecuacion: x1=%4.3f y x2=%4.3f ' % (x1, x2)
   else:
       print 'No Hay soluciones Reales. '
else:
   if b != 0:
      x = -c / b
      print 'Solucion de la ecuacion: x=%4.3f ' % x
   else:
      if c != 0:
         print 'La ecuacion no tiene solucion. '
      else:
         print 'La ecuacion tiene infinitas soluciones. '

Por ejemplo esto fue lo que trate de enseñar en la entrada anteriormente mencionada:

Este código es muy sencillo, paso a detallar linea a linea para los que no son entendidos :D

  1. Importamos la la función  para resolver raíces de math
  2. Pedimos a el usuario el valor de a
  3. Pedimos a el usuario el valor de b
  4. Pedimos a el usuario el valor de c
  5. Creamos unas condiciones de "if"  anidados, si sucede esto, "elif" si no sucede lo primero y "else" si no sucede nada de lo anterior, para la linea 5 si "a" es diferente de "!=" has esto
  6. Las lineas 6,7 son propias de la resolución de la ecuación.
  7. Luego verificamos algunos cálculos de la ecuación como por ejemplo: el discriminante para poder saber si existen raíces positivas de la ecuación.
  8. La linea  "if b != 0:", ojo debes notar que este if esta dentro del else, es decir que se debe cumplir la primera condición para llegar a esta y bueno si "b" es diferente de 0 hacer:
  9. Tendra una sola Raíz Real y la calcula y en las lineas siguiente muestra el resultado
  10. luego else:         if c != 0: si es diferente a 0 imprime algo y si else: imprime otra cosa...

Y hoy paso a explicar un poco mas cada linea aunque de una manera mas estructurada:

  • Desde la linea 1 a la 4 son lineas de importar librerías necesarias para el código y crear Variables.
  • El IF de la linea 5 esta conectado a el ELSE de la linea 16, lo que era la linea 29,  debemos tener especial cuidado y leer de una manera correcta entre los espacios o identaciones del programa.
  •  El IF de la linea 7 esta conectado a el ELSE  de la linea 14, a su vez tiene un if dentro en la linea 10 y el else en la linea 12, esto quiere decir que si pasa el evento 1, luego podría pasar el evento 1.1 o el 1.2, así debemos de leer los if anidados.

Espero esto haya aportado algún conocimiento a esta tarea tan especial que te has propuesto como es aprender a programar :D


Saludo Dios te Guarde, te Bendiga y te llene de Sabiduría :D


Replica a el amigo:

El IF de la linea 9 esta conectado a el ELSE de la linea 29, simple si es diferente de 0 se ejecuta el IF si es igual entonces el else, se lee si(IF) es diferente de 0 hacer, si no(else) hacer esto otro... Saludos


Sort:  

Hello @sethroot,

Congratulations! Your post has been chosen by the communities of SteemTrail as one of our top picks today.

Also, as a selection for being a top pick today, you have been awarded a TRAIL token for your participation on our innovative platform...STEEM.
Please visit SteemTrail to get instructions on how to claim your TRAIL token today.

If you wish to not receive comments from SteemTrail, please reply with "Stop" to opt out.

Happy TRAIL!

De verdad muchas Gracias espero Hacerlo cada Dia mejor :D

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.034
BTC 66396.53
ETH 3174.43
USDT 1.00
SBD 4.15