Python Resolviendo Ecuaciones de Segundo Grado by sethroot

View this thread on steempeak.com
· @sethroot ·
$10.85
Python Resolviendo Ecuaciones de Segundo Grado
<html>
<p>Resolver problemas sencillos es una buena praxis si quieres aprender a programar, crear proyectos pequeños e irlos realizando te empujara a ser cada vez un mejor programador y así crecer profesionalmente.</p>
<p><img src="https://stickybitshell.files.wordpress.com/2015/01/ecuaciones-de-primer-y-segundo-grado.jpg" width="239" height="180"/></p>
<p><br></p>
<p>Vamos a ver al final como resolver una ecuación de segundo grado en python, pasandole los valores que queramos y obteniendo salidas por pantalla :D</p>
<p><br></p>
<p>Hoy les voy a compartir una entrada que hace mucho postie en mi Blog Antiguo, digo antiguo por que prefiero Steem que me remunera por escribir.</p>
<p><br></p>
<p>En la universidad recuerdo a un profesor de Matemáticas que en calculo de Diferenciales me decía que &nbsp;el agua tibia ya estaba descubierta y que la rueda ya hace muchos años la usábamos.</p>
<p><br></p>
<p>Esto lo decía &nbsp;por mis &nbsp;torpes esfuerzos de hacer las cosas de otra manera casi siempre al resolver un problema... quizá esta forma de pensar es lo que me ha hecho reflexionar y dedicarme de verdad a la programación.</p>
<p><br></p>
<p>Es por ello que mientras mas discuto ideas con amigos familiares y otros me sigo dando cuenta que cada cabeza es un mundo :S volví a descubrir la rueda jeje, y por ello y mas he seguido reflexionando en los libros de programación y es que en estos nos enseñan muchas cosas trilladas pero que quizás cada uno de nosotros entiende y aplica de una manera u otra diferentes hasta en la lógica de una simple ecuación..</p>
<p><br></p>
<p>Aunque normalmente encontraba una solución exacta de los problemas o muy aproximada esto hacia que no tomara el 100% de la calificación.</p>
<p><br></p>
<p>En programación he visto que cada Educador o Facilitador te explica o se hace explicar con sus programas como el los entiende y lo importante siempre es que el programa funcione :D.</p>
<p><br></p>
<p>&nbsp;Ya he visto varios libros que me gustaría compartir con ustedes y así mejorar todos juntos con sus comentarios, dudas y mejoras y lo mejor es que en python si hay que hacer muchas mejoras, desde la legibilidad del programa hasta la síntesis o agrupamiento muchas lineas de códigos en 1 o unas pocas mas :D.</p>
<p><br></p>
<p>Para abrir con programa muy trillado pero que se puede mejorar mucho. Me decidí a comenzar con la resolución de una ecuación de 2do grado que contiene algunas sentencias condicionales anidadas y algunas ecuaciones... La solución fue sacada de "Introducción a la Programación &nbsp;con Python y C" ojo no pretendo tocar C, Una ecuación de segundo grado se ve así:</p>
<p><br></p>
<p><img src="https://stickybitshell.files.wordpress.com/2014/11/ecuaaa.png" width="258" height="23"/></p>
<p><br></p>
<p>Donde lo que nos interesa en programación no es lo mismo que en matemáticas. en matemáticas nos interesa saber cual es el valor de x o las raíces de X, y en programación nos interesa que el programa tome los datos de "a" , "b" y "c" &nbsp;por lo que en lo primero que debemos pensar es en como hacer que el computador pida estos datos y luego calcule el valor de x, recordemos que son 2... Una para el valor positivo y otro para la raíz negativa</p>
<p><img src="https://stickybitshell.files.wordpress.com/2014/11/ecu2do.png" width="174" height="44"/></p>
<p>Y Bueno Aquí tenemos el programa para la próxima entrada la vamos a comentar y resolver un problema interesante :D</p>
<pre><code>from math import sqrt<br>
<br>
a = float(raw_input('Valor de a: '))<br>
<br>
b = float(raw_input('Valor de b: '))<br>
<br>
c = float(raw_input('Valor de c: '))<br>
<br>
if a != 0:<br>
 &nbsp;&nbsp;&nbsp;discriminante= b**2 - 4*a*c<br>
 &nbsp;&nbsp;&nbsp;if discriminante &gt;=0:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x1 = (-b + sqrt(discriminante)) / (2 * a)<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x2 = (-b - sqrt(discriminante)) / (2 * a)<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if x1==x2:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'La Solucion de la ecuacion es: x1=%4.3f'% x1<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'Soluciones de la ecuacion: x1=%4.3f y x2=%4.3f ' % (x1, x2)<br>
<br>
 &nbsp;&nbsp;&nbsp;else:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'No Hay soluciones Reales. '<br>
<br>
else:<br>
<br>
 &nbsp;&nbsp;&nbsp;if b != 0:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x = -c / b<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'Solucion de la ecuacion: x=%4.3f ' % x<br>
<br>
 &nbsp;&nbsp;&nbsp;else:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if c != 0:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'La ecuacion no tiene solucion. '<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br>
<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 'La ecuacion tiene infinitas soluciones. '<br>
<br>
</code></pre>
<p>Este código es muy sencillo, paso a detallar linea a linea para los que no son entendidos :D</p>
<ol>
  <li>Importamos la la función &nbsp;para resolver raices de math</li>
  <li>Pedimos a el usuario el valor de a</li>
  <li>Pedimos a el usuario el valor de b</li>
  <li>Pedimos a el usuario el valor de c</li>
  <li>Creamos unas condiciones de "if" &nbsp;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</li>
  <li>Las lineas 6,7 son propias de la resolución de la ecuación.</li>
  <li>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.</li>
  <li>La linea &nbsp;"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:</li>
  <li>Tendra una sola Raíz Real y la calcula y en las lineas siguiente muestra el resultado</li>
  <li>luego else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if c != 0: si es diferente a 0 imprime algo y si else: imprime otra cosa...</li>
</ol>
<p>Si quieres que explique mas el problema, en la siguiente entrada si llego a 50 votos lo haré :D</p>
<p>SAcado de mi Blog: <a href="http://wp.me/p3nJhK-6H">http://wp.me/p3nJhK-6H</a></p>
</html>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
post_id1,648,934
authorsethroot
permlinkpython-resolviendo-ecuaciones-de-segundo-grado
categoryspanish
json_metadata"{"app": "steemit/0.1", "format": "html", "links": ["http://wp.me/p3nJhK-6H"], "image": ["https://stickybitshell.files.wordpress.com/2015/01/ecuaciones-de-primer-y-segundo-grado.jpg"], "tags": ["spanish", "programming", "python", "education", "story"]}"
created2016-12-30 10:02:45
last_update2016-12-30 10:02:45
depth0
children3
net_rshares33,576,861,746,907
last_payout2017-01-30 12:57:51
cashout_time1969-12-31 23:59:59
total_payout_value8.479 SBD
curator_payout_value2.367 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length6,424
author_reputation15,687,565,623,717
root_title"Python Resolviendo Ecuaciones de Segundo Grado"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (30)
@gargon ·
Hola Sethroot, podrías poner la palabra steemit en la entrada de tu blog? Asi nos aseguramos en steemit que no hay plagio y que eres el autor de ese blog

Un saludo!
properties (22)
post_id1,649,214
authorgargon
permlinkre-sethroot-python-resolviendo-ecuaciones-de-segundo-grado-20161230t111401143z
categoryspanish
json_metadata"{"tags": ["spanish"]}"
created2016-12-30 11:14:00
last_update2016-12-30 11:14:00
depth1
children2
net_rshares0
last_payout2017-01-30 12:57:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length165
author_reputation165,958,690,743,756
root_title"Python Resolviendo Ecuaciones de Segundo Grado"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sethroot ·
En cual parte en la descripción del Blog?
properties (22)
post_id1,649,429
authorsethroot
permlinkre-gargon-re-sethroot-python-resolviendo-ecuaciones-de-segundo-grado-20161230t120229903z
categoryspanish
json_metadata"{"tags": ["spanish"]}"
created2016-12-30 12:02:30
last_update2016-12-30 12:02:30
depth2
children0
net_rshares0
last_payout2017-01-30 12:57:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length41
author_reputation15,687,565,623,717
root_title"Python Resolviendo Ecuaciones de Segundo Grado"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@sethroot ·
Listo he cambiado la descripcion a Programación Python, ODOO, Steemit @sethroot

La verdad ay algunas entradas que dice que son copias y quiza pudieron haber sido buenas :(

Pero bueno espero que con esto no em acuse el Robot por que de igual manear modifico la entrada y la mejoro pero muchas veces me dice que son parecidas y eso me baja mucho los votos :S
properties (22)
post_id1,649,467
authorsethroot
permlinkre-gargon-re-sethroot-python-resolviendo-ecuaciones-de-segundo-grado-20161230t121042742z
categoryspanish
json_metadata"{"users": ["sethroot"], "tags": ["spanish"]}"
created2016-12-30 12:10:42
last_update2016-12-30 12:10:42
depth2
children0
net_rshares0
last_payout2017-01-30 12:57:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length358
author_reputation15,687,565,623,717
root_title"Python Resolviendo Ecuaciones de Segundo Grado"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000