# Dreiecksungleichung

## Problembeschreibung

******************************************
Dokumentnummer: D1551
******************************************
Mit Hilfe der Dreiecksungleichung ist zu bestimmen, ob 3 Punkte
ein Dreieck bilden.

Testbeispiele:
a) P:[[1,1],[2,4],[3,9]]         -> ist ein Dreieck
b)P:[[1,5],[10,14],[15,19]] -> ist kein Dreieck

## Problemlösung

EINGABE

P:read("Gib drei Punkte eines Dreiecks in einer Liste ein");

VERARBEITUNG

Die Punkteliste in Koordinaten zerlegen

x1:P[1][1];

y1:P[1][2];

x2:P[2][1];

y2:P[2][2];

x3:P[3][1];

y3:P[3][2];

Die Abstände der Punkte bestimmen (nach der
Distanzformel)

P1P2:sqrt((x2-x1)**2+(y2-y1)**2);

P1P3:sqrt((x3-x1)**2+(y3-y1)**2);

P2P3:sqrt((x3-x2)**2+(y3-y2)**2);

Die Seiten zuweisen

a:P1P2;

b:P1P3;

c:P2P3;

Wenn die Punkte auf einer Geraden liegen, dann liegt
keine Gerade vor. Die Weiche wird von 0 auf 1 gestellt.

weiche:0;

Man möchte wissen, ob a+b=c ist (Rechengenauigkeit)

if abs(a+b-c)<0.00001 then weiche:1;

Man möchte wissen, ob a+c=b ist (Rechengenauigkeit)

if abs(a+c-b)<0.00001 then weiche:1;

Man möchte wissen, ob b+c=a ist (Rechengenauigkeit)

if abs(b+c-a)<0.00001 then weiche:1;

AUSGABE

if weiche = 1 then print("Es ist kein Dreieck")
                       else print("Es ist ein Dreieck")$