Home
/
JavaForum
/
Beginner
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.724 User online
1 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 2189 von 2963 (74%)
Autor
exi
Datum
24.11.04, 22:35
Betreff
nur eine Teilantwort
Hallo wolverine,
--- Tach. Ihr seid meine letzte Rettung - habe von meinem Lehrer folgende Aufgaben vorgesetzt bekommen und verstehe irgendwie nur Bahnhof. Habe erst seit 2 Wochen Informatik, und der erwartet das von mir. HILFE !
... wenn es so lief wie bei mir vor langer Zeit, dann hast du ein Aufgabenblatt mit Aufgaben die erst in mehreren Wochen erledigt werden sollen. Häufig finden sich darauf dann auch Themen die erst in einigen Tagen behandelt werden,
Die eigentliche Programmieraufgabe 1 und 1a, erfordert nur Dateneingabe, Plus, Minus, Mal, Geteilt, Wurzelziehen, Wiederholungsschleifen, logische Vergleiche und Datenausgabe.
Bei 2 und 3 kann ich dir überhaupt nicht helfen. Was ist die "sog.EBNF"? Wird das demnächst behandelt? Und wurden Syntaxstrukturen bereits behandelt? Vermutlich kommen die erst demnächst auf dich zu.
--- 1) Gesucht ist ein Algorithmus, der testet ob bei einem gegebenen n gilt: n=a-Quadrat + b-quadrat mit n,a,b aus N0.
1a)Entwickle und implementiere den Algorithmus (inkl. erklärender Kommentare und Formatierung)
... n wird über die DOS-Zeile eingegeben. a und b sind mindestens 0, aber stets kleiner als Wurzel(n). Du könntest also Wurzel(n) bestimmen und alle Zahlen<Wurzel(n) paarweise miteinander vergleichen.
Setze a=Wurzel(n) und b=Wurzel(n).
Überprüfe ob a²+b²=n erfüllt.
Falls ja, dann gebe a und b aus. Falls nein, dann erniedrige b um 1 und überprüfe nochmals. Solange bis b=0 ist. Wenn dann immer noch keine Lösung da ist, dann mindere a um 1 und wiederhole nochmals beginnend bei b=Wurzel(n) und erniedrige bis b=0.
Irgendwann hast du entweder eine Lösung gefunden, oder a und b auf 0 abgesenkt (dann gibt es überhaupt keine).
--- 1b) Berechne den Aufwand des Algorithmus so genau wie möglich und bestimme die Aufwandsklasse in O-Notation.
... hier mußt du abschätzen wieviele Plus- bzw. Mal-Operationen erforderlich sind um die Aufgabe zu lösen. In meinem Vorschlag (es gibt andere und bessere!) werden Wurzel(n) mögliche Werte für a und Wurzel(n) mögliche Werte für b miteinander verglichen. Also n Durchläufe. Jeder Durchlauf benötigt zwei Multiplikationen und eine Addition. Logische Vergleiche, die Datenein/ausgabe und das anfängliche Wurzelziehen kann man als Bagatellen ignorieren. Insgesamt sind zur Klärung ob sich n als Summe zweier Quadrate darstellen läßt (2+1)*Wurzel(n)*Wurzel(n)=3n Rechenoperationen erforderlich.
Näheres zum Thema findest du in deinem Manuskript, in Büchern zum Thema oder wirst es demnächst in der Vorlesung hören.
tschüs
exi
Diskussionsverlauf:
EBNF, noch eine Teilantwort
Nullahnung - HILFE !!!
nur eine Teilantwort
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com