2012/ 0040777 0001130 0001150 00000000000 10145345526 010776 5 ustar prip pripeadm 2012/Testen.html 0100666 0001130 0001150 00000007504 10145345526 013131 0 ustar prip pripeadm
EPROG-LU - Aufgabe 2012 (Testen von Loesungen)
2012 |
Testen |
Testen von Loesungen |
Kategorie: | Testen |
Klasse: | schwer |
Eingabe: | |
Ausgabe: | |
|
Abzugebende Files: Testen.txt, Testen.java, Testen.i1, Testen.o1, Testen.i2, Testen.o2, Testen.i3, Testen.o3, Testen.i4, Testen.o4, Testen.i5, Testen.o5 , 9715.txt, 9723.txt, 9771.txt, 9863.txt |
Aufgabenbeschreibung:
Sie haben Programme (+ Spezifikationen) von anderen Studenten erhalten. Testen
Sie alle Programme auf Korrektheit, Verwendbarkeit und Programmierstil.
Erstellen Sie für jede erhaltene Lösung ein File mit dem Namen <number>.txt. und schreiben in dieses File ein Review (=Kritik) zu der entsprechenden Lösung. Diese Reviews erhalten dann die TeilnehmerInnen von denen die Lösung stammt. Beachten Sie das bitte bei der Form Ihrer Kritik.
Die Dateien <number>.txt müssen; folgenden Aufbau haben:
Korrektheit: 0 - 10
Verwendbarkeit: 0 - 10
Programmierstil:0 - 10
Dokumentation:
(* Hier sollen Ihre Kommentare stehen *)
|
Finden Sie heraus, welches dieser Programme diese Anforderungen am
besten erfüllt und wählen Sie dieses aus.
Merken Sie sich die Lösungsnummer des ausgewählten Beispieles für die Abgabe. Diese Nummer müssen Sie bei der Abgabe angeben.
|
Kopieren Sie das gewählte Programm auf das File Testen.java um. Führen Sie in
diesem File alle notwendigen Modifikationen durch, damit die Klasse korrekt
gemäß der dazugehörigen Beispielspezifikation funktioniert.
Ändern Sie die Methode main in die Klassenmethode perform. perform soll einen String zurueckliefern, der die Ausgabe nach der urprünglichen Spezifikation enthält.
Kopf der Methode perform
public static String perform()
Verwenden Sie zum Testen der Klasse die mitgelieferte Main.java.
IO Paare
Generieren Sie weiters fünf verschiedene IO-Paare. Sie sollen pro Input-Outputpaar zwei Files erzeugen: z.B. Testen.i1 und Testen.o1.
Das File Testen.i1 soll den Inputdatensatz enthalten, wobei
das File Testen.o1 den korrespondierenden
Outputdatensatz enthalten soll.
Diese Ein- und Ausgabedatensätze sollen im wesentlichen den
Regeln der Beispielspezifikation folgen, wobei Sie durchaus auch fehlerhafte
Eingabedatensätze erzeugen können, mit denen die Fehlerbehandlung des
Programms getestet werden kann.
ACHTUNG: Wir testen, ob die von Ihnen gelieferten IO-Paare mit unseren IO-Paaren korrespondieren. Außerdem werden die Files mit jenen anderer Studenten verglichen. Sollten hier Übereinstimmungen festgestellt werden, so werden alle Beteiligten mit 0 Punkten bewertet.
Hinweise
2012/Main.java 0100644 0001130 0001150 00000001240 10145345525 012512 0 ustar prip pripeadm ////////////////////////////////////////
// !!!! DO NOT CHANGE THIS FILE !!!!! //
// !! DIESE DATEI NICHT VERAENDERN !! //
////////////////////////////////////////
// Diese Datei dient nur zur //
// Vorlage, sie kann nicht abgegeben //
// werden und soll unveraendert //
// verwendet werden! //
////////////////////////////////////////
import eprog.*;
public class Main
{ public static void main (String[] args)
{
// liefert den String Ausgabe - Rueckgabewert der
// Methode Testen.perform
String Ausgabe = new String(Testen.perform());
// gibt den String Ausgabe aus
EprogIO.println(Ausgabe);
}
}
2012/9863/ 0040777 0001130 0001150 00000000000 10145345525 011406 5 ustar prip pripeadm 2012/9863/Gerpunkt.java 0100644 0001130 0001150 00000004111 10145345525 014036 0 ustar prip pripeadm // Eva Lahnsteiner
// MatrNr: 0406150
// Aufgabe 1174, Gerpunkt
// Lage eines Punktes zu einer Geraden
import eprog.*;
import java.lang.*;
public class Gerpunkt extends EprogIO{
public static void main (String[] args)
{
float[] punkte = new float[6]; //Array fr 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 ntig
int v2=0;
int v3=0;
try{
// Einlesen der Koordinaten und sofortige Prfung auf richtigen Wertebereich
for (int i=0; i<=5; i++)
{
punkte[i]=readFloat(); //Einlesen eines Punktes
if ((punkte[i]
max)) //Auf Wertebereich prfen
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) {println("FALSCHE EINGABE");}
else {
if (EprogFehler) println("?");
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