carookee - group communication for you
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





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.256 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

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