// Eva Lahnsteiner // MatrNr: 0406150 // Aufgabe 1174, Gerpunkt // Lage eines Punktes zu einer Geraden import eprog.*; import java.lang.*; public class Testen extends EprogIO{ public static String perform () { String ret; float[] punkte = new float[6]; //Array für die eingegebenen Koordinaten, 6 Felder, 0-5 float D,D1; //Berechnungsvariablen boolean EprogFehler = false; boolean InhaltFehler = false; int max = 100; // min,max definieren den Wertebereich der Punkte int min = -100; int v1=0; //v1,v2,v3 zum paarweisen Vergleich nötig int v2=0; int v3=0; try{ // Einlesen der Koordinaten und sofortige Prüfung auf richtigen Wertebereich for (int i=0; i<=5; i++) { punkte[i]=readFloat(); //Einlesen eines Punktes if ((punkte[i]max)) //Auf Wertebereich prüfen InhaltFehler = true; } // Paarweiser Vergleich for (int j=2; j<=3; j++) { if (punkte[j-2]==punkte[j]) v1++; if (punkte[j-2]==punkte[j+2]) v2++; if (punkte[j]==punkte[j+2]) v3++; } if ((v1==2)||(v2==2)||(v3==2)) InhaltFehler=true; } catch (EprogException e) { EprogFehler = true; } //Sind Fehler aufgetreten? if (InhaltFehler) {ret="FALSCHE EINGABE";} else { if (EprogFehler) ret="?"; else //kein Fehler --> Eingabewerte in Ordnung { //FORMELN: //D = x1*y2 - x2*y1 //D1 = x3*(y2-y1) + y3*(x1-x2) //Berechnung nach den obigen Formeln (x1=punkte[0], y1=punkte[1],...) D=punkte[0]*punkte[3]-punkte[2]*punkte[1]; D1=punkte[4]*(punkte[3]-punkte[1])+ punkte[5]*(punkte[0]-punkte[2]); //Lage des Punktes herausfinden durch Vergleich von D1 und D2, Ausgabe der Lage if (D1 TOP Contact me
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif