Find the intersection of two lines: Difference between revisions
Content added Content deleted
(Frink) |
(Find the intersection of two lines in various BASIC dialents (QBasic, BASIC256, Run BASIC, True BASIC and Yabasic)) |
||
Line 504: | Line 504: | ||
=={{header|BASIC}}== |
=={{header|BASIC}}== |
||
==={{header|QBasic}}=== |
|||
{{works with|QBasic|1.1}} |
|||
{{works with|QuickBasic|4.5}} |
|||
{{works with|BASIC256}} |
|||
{{works with|Just BASIC}} |
|||
{{works with|Run BASIC}} |
|||
<lang qbasic>xa = 4: xb = 6: xc = 0: xd = 10 |
|||
ya = 0: yb = 10: yc = 3: yd = 7 |
|||
PRINT "The two lines are:" |
|||
PRINT "yab ="; (ya - xa * ((yb - ya) / (xb - xa))); "+ x*"; ((yb - ya) / (xb - xa)) |
|||
PRINT "ycd ="; (yc - xc * ((yd - yc) / (xd - xc))); "+ x*"; ((yd - yc) / (xd - xc)) |
|||
x = ((yc - xc * ((yd - yc) / (xd - xc))) - (ya - xa * ((yb - ya) / (xb - xa)))) / (((yb - ya) / (xb - xa)) - ((yd - yc) / (xd - xc))) |
|||
PRINT "x ="; x |
|||
y = ya - xa * ((yb - ya) / (xb - xa)) + x * ((yb - ya) / (xb - xa)) |
|||
PRINT "yab ="; y |
|||
PRINT "ycd ="; (yc - xc * ((yd - yc) / (xd - xc)) + x * ((yd - yc) / (xd - xc))) |
|||
PRINT "intersection: ("; x; ","; y; ")"</lang> |
|||
{{out}} |
|||
<pre>The two lines are: |
|||
yab =-20 + x* 5 |
|||
ycd = 3 + x* 0.4 |
|||
x = 5 |
|||
yab = 5 |
|||
ycd = 5 |
|||
intersection: ( 5, 5 )</pre> |
|||
==={{header|BASIC256}}=== |
|||
{{works with|QBasic}} |
|||
{{works with|Just BASIC}} |
|||
{{works with|Run BASIC}} |
|||
<lang freebasic>xa = 4 : xb = 6 : xc = 0 : xd = 10 |
|||
ya = 0 : yb = 10 : yc = 3 : yd = 7 |
|||
print "The two lines are:" |
|||
print "yab = "; (ya-xa*((yb-ya)/(xb-xa))); " + x*"; ((yb-ya)/(xb-xa)) |
|||
print "ycd = "; (yc-xc*((yd-yc)/(xd-xc))); " + x*"; ((yd-yc)/(xd-xc)) |
|||
x = ((yc-xc*((yd-yc)/(xd-xc)))-(ya-xa*((yb-ya)/(xb-xa))))/(((yb-ya)/(xb-xa))-((yd-yc)/(xd-xc))) |
|||
print "x = "; x |
|||
y = ya-xa*((yb-ya)/(xb-xa))+x*((yb-ya)/(xb-xa)) |
|||
print "yab = "; y |
|||
print "ycd = "; (yc-xc*((yd-yc)/(xd-xc))+x*((yd-yc)/(xd-xc))) |
|||
print "intersection: ("; x; ", "; y ; ")"</lang> |
|||
==={{header|Run BASIC}}=== |
|||
{{works with|Just BASIC}} |
|||
{{works with|Liberty BASIC}} |
|||
{{works with|QBasic}} |
|||
<lang lb>xa = 4: xb = 6: xc = 0: xd = 10 |
|||
ya = 0: yb = 10: yc = 3: yd = 7 |
|||
print "The two lines are:" |
|||
print "yab = "; (ya - xa * ((yb - ya) / (xb - xa))); "+ x*"; ((yb - ya) / (xb - xa)) |
|||
print "ycd = "; (yc - xc * ((yd - yc) / (xd - xc))); "+ x*"; ((yd - yc) / (xd - xc)) |
|||
x = ((yc - xc * ((yd - yc) / (xd - xc))) - (ya - xa * ((yb - ya) / (xb - xa)))) / (((yb - ya) / (xb - xa)) - ((yd - yc) / (xd - xc))) |
|||
print "x = "; x |
|||
y = ya - xa * ((yb - ya) / (xb - xa)) + x * ((yb - ya) / (xb - xa)) |
|||
print "yab = "; y |
|||
print "ycd = "; (yc - xc * ((yd - yc) / (xd - xc)) + x * ((yd - yc) / (xd - xc))) |
|||
print "intersection: ("; x; ","; y; " )"</lang> |
|||
==={{header|Sinclair ZX81 BASIC}}=== |
==={{header|Sinclair ZX81 BASIC}}=== |
||
{{trans|REXX}} (version 1) |
{{trans|REXX}} (version 1) |
||
Line 532: | Line 590: | ||
YCD=5 |
YCD=5 |
||
INTERSECTION: 5,5</pre> |
INTERSECTION: 5,5</pre> |
||
==={{header|True BASIC}}=== |
|||
{{works with|QBasic}} |
|||
{{works with|BASIC256}} |
|||
{{works with|Just BASIC}} |
|||
{{works with|Run BASIC}} |
|||
<lang qbasic>LET xa = 4 |
|||
LET ya = 0 |
|||
LET xb = 6 |
|||
LET yb = 10 |
|||
LET xc = 0 |
|||
LET yc = 3 |
|||
LET xd = 10 |
|||
LET yd = 7 |
|||
PRINT "The two lines are:" |
|||
PRINT "yab ="; (ya-xa*((yb-ya)/(xb-xa))); " + x*"; ((yb-ya)/(xb-xa)) |
|||
PRINT "ycd ="; (yc-xc*((yd-yc)/(xd-xc))); " + x*"; ((yd-yc)/(xd-xc)) |
|||
LET x = ((yc-xc*((yd-yc)/(xd-xc)))-(ya-xa*((yb-ya)/(xb-xa))))/(((yb-ya)/(xb-xa))-((yd-yc)/(xd-xc))) |
|||
PRINT "x ="; x |
|||
LET y = ya-xa*((yb-ya)/(xb-xa))+x*((yb-ya)/(xb-xa)) |
|||
PRINT "yab ="; y |
|||
PRINT "ycd ="; (yc-xc*((yd-yc)/(xd-xc))+x*((yd-yc)/(xd-xc))) |
|||
PRINT "intersection: ("; x; ","; y ; " )" |
|||
END</lang> |
|||
==={{header|Yabasic}}=== |
|||
<lang freebasic>xa = 4: xb = 6: xc = 0: xd = 10 |
|||
ya = 0: yb = 10: yc = 3: yd = 7 |
|||
print "The two lines are:" |
|||
print "yab = ", (ya - xa * ((yb - ya) / (xb - xa))), " + x*", ((yb - ya) / (xb - xa)) |
|||
print "ycd = ", (yc - xc * ((yd - yc) / (xd - xc))), " + x*", ((yd - yc) / (xd - xc)) |
|||
x = ((yc - xc * ((yd - yc) / (xd - xc))) - (ya - xa * ((yb - ya) / (xb - xa)))) / (((yb - ya) / (xb - xa)) - ((yd - yc) / (xd - xc))) |
|||
print "x = ", x |
|||
y = ya - xa * ((yb - ya) / (xb - xa)) + x * ((yb - ya) / (xb - xa)) |
|||
print "yab = ", y |
|||
print "ycd = ", (yc - xc * ((yd - yc) / (xd - xc)) + x * ((yd - yc) / (xd - xc))) |
|||
print "intersection: (", x, ", ", y, ")"</lang> |
|||
=={{header|C}}== |
=={{header|C}}== |