Roots of a quadratic function: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 1,244: | Line 1,244: | ||
=={{header|lambdatalk}}== |
=={{header|lambdatalk}}== |
||
<lang scheme> |
<lang scheme> |
||
1) using lambdas: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
{lambda {:a :b :c} |
{lambda {:a :b :c} |
||
{b equation :a*x{sup 2}+:b*x+:c=0} |
{b equation :a*x{sup 2}+:b*x+:c=0} |
||
Line 1,265: | Line 1,260: | ||
else {equation.disp :b' :b' one real double root} |
else {equation.disp :b' :b' one real double root} |
||
}} |
}} |
||
} {* 2 :a} {/ {- :b} {* 2 :a}} {- {* :b :b} {* 4 :a :c}} } |
} {* 2 :a} {/ {- :b} {* 2 :a}} {- {* :b :b} {* 4 :a :c}} } }} |
||
}} |
|||
2) using let: |
|||
{def equation |
|||
{lambda {:a :b :c} |
|||
{b equation :a*x{sup 2}+:b*x+:c=0} |
|||
{let { {:a' {* 2 :a}} |
|||
{:b' {/ {- :b} {* 2 :a}}} |
|||
{:d {- {* :b :b} {* 4 :a :c}}} } |
|||
{if {> :d 0} |
|||
then {let { {:b' :b'} |
|||
{:d' {/ {sqrt :d} :a'}} } |
|||
{equation.disp {+ :b' :d'} {- :b' :d'} 2 real roots} } |
|||
else {if {< :d 0} |
|||
then {let { {:b' :b'} |
|||
{:d' {/ {sqrt {- :d}} :a'}} } |
|||
{equation.disp [:b',:d'] [:b',-:d'] 2 complex roots} } |
|||
else {equation.disp :b' :b' one real double root} }} }}} |
|||
3) a function to display results in an HTML table format |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
4) testing: |
|||
equation 1*x2+1*x+-1=0 |
equation 1*x2+1*x+-1=0 |