HopelessOne Geschrieben 8. Januar 2011 Geschrieben 8. Januar 2011 Hallo, ich soll für die Schule ein Programm schreiben und je ein Struktogramm anfertigen, habe aber keine blasse ahnung davon. Könnte mir vieleicht jemand einbisschen helfen. Hier die Aufgabe: 1.Schreiben Sie ein Java-Programm unter Verwendung einer Schleifenart, welches die ersten n geraden natürlichen Zahlen ausgibt und deren Summe berechnet ! (z.B. n=5 folgt summe= 2+4+6+8+10=30 2.Zu einer beliebigen Zahl z sollen alle Teiler ermittelt werden. (z.B. z=2345 hat folgenede Teiler:1,5,7,35,335,469 und 2345. Gesucht ist ein Java - Programm, das nach Eingabe von z alle Teiler ermittelt und Ausgibt! Wäre nett wenn ihr mir dabei helfen könntet, bin nämlich echt ahnungslos. Danke jetzt schon ma.... Zitieren
flashpixx Geschrieben 8. Januar 2011 Geschrieben 8. Januar 2011 Wie man Fragen richtig stellt: eine Anleitung wie man Fragen erfolgreich in Usenet, Mailing Listen und Webforen stellt. Nassi-Shneiderman-Diagramm ? Wikipedia Zitieren
HopelessOne Geschrieben 8. Januar 2011 Autor Geschrieben 8. Januar 2011 nett dank, aber sehr hielfreich. wollte ja nur wissen wie das Struktogramm aussehen sollte... Zitieren
lupo49 Geschrieben 9. Januar 2011 Geschrieben 9. Januar 2011 Keiner zeichnet dir die kompletten Diagramme. Stelle deine Diagrammansätze hiervor, dann bekommst du auch Verbesserungsvorschlägfe. Zitieren
speedi Geschrieben 14. Januar 2011 Geschrieben 14. Januar 2011 Zu 1. Du sollst ein Programm schreiben welches von 1 bis zu einem bestimmten Eingabewert alle zahlen ausgibt und deren Summe berechnet. Also was braucht man dafür? Das Programm soll ganz primär in einer bestimmten Schreitweite (nämlich 1) hochzählen. Also würde sich eine Zählerschleife (for-Schleife) anbieten. Desweiteren brauchst du eine Summenvariable welche die natürlichen Zahlen aufsummieren kann (da würde sich eine Variable vom Typ Integer oder Long anbieten) in der Schleife musst du dann immer den aktuellen Zählerstand auf die Summe draufschlagen und den aktuellen Zähler ausgeben. Wenn die Schleife zu Ende ist gibst du dann einfach noch die Gesamtsumme aus und das wars. Zu 2. Auch hier bietet sich wieder eine for-Schleife an. Als mögliche Teiler kommen potentiell alle Zahlen in Frage die kleiner oder gleich der Hälfte der zu teilenden Zahl sind. Also zählt deine Schleife genau von 1 bis zur hälfte. In der Schleife teilst du dann einfach z durch den aktuellen Zählerstand. Als Datentyp solltest du dafür double oder float hernehmen denn diese sind in der Lage Kommazahlen zu verarbeiten. Um zu prüfen ob der Zähler ein möglicher Teiler ist vergleichst (if-Abfrage) du das Ergebnis mit sich selbst nur das du das Ergebnis auf einer Seite der Abfrage auf Integer oder Long castets (alle Nachkommastellen werden abgeschnitten). Wenn also z.B. als Ergebnis 13.23453 rauskam vergleicht dann deine if-Abfrage diesen Wert mit 13 und stellt fest: passt nicht. Wenn 2.0 rauskommt vergleicht deine if-Abfrage 2.0 mit 2 und stellt fest: passt. Deine Aufgabe jetzt: Schau dir die Elemente an welche es in Struktogrammen gibt und stell den Programmablauf in einem Struktogramm dar. Programmieren ist im Grunde nichts anderes als einer dummen Maschine schritt für schritt zu sagen, was sie tun soll also geh Schritt für Schritt den logischen Ablauf durch. Wenn du ein korrektes Struktogramm erarbeitet hast ergibt sich der Java-Code daraus nahezu von selbst. Wie du Java-Programme überhaupt erstellst ist ansonsten klar oder? Also JDK, Entwicklungsumgebung etc? Zitieren
flashpixx Geschrieben 14. Januar 2011 Geschrieben 14. Januar 2011 Als Datentyp solltest du dafür double oder float hernehmen denn diese sind in der Lage Kommazahlen zu verarbeiten. Um zu prüfen ob der Zähler ein möglicher Teiler ist vergleichst (if-Abfrage) du das Ergebnis mit sich selbst nur das du das Ergebnis auf einer Seite der Abfrage auf Integer oder Long castets (alle Nachkommastellen werden abgeschnitten). Wenn also z.B. als Ergebnis 13.23453 rauskam vergleicht dann deine if-Abfrage diesen Wert mit 13 und stellt fest: passt nicht. Wenn 2.0 rauskommt vergleicht deine if-Abfrage 2.0 mit 2 und stellt fest: passt. Wenn ich das lese dreht sich mit der Magen um! Dieses Vorgehen ist sprichwörtlich völlig falsch: Ich verweise auf Division mit Rest ? Wikipedia Vor allem sollte man bevor man so etwas schreibt mal die Repräsentation von floating bzw fixpoint Darstellung von Zahlen beschäftigen Zitieren
Asgar13 Geschrieben 14. Januar 2011 Geschrieben 14. Januar 2011 Brauchst du eine grafische Oberfläche oder nur ein normales Programm, je nachdem ist es viel oder wenig zu lernen. Zitieren
speedi Geschrieben 17. Januar 2011 Geschrieben 17. Januar 2011 (bearbeitet) Wenn ich das lese dreht sich mit der Magen um! Dieses Vorgehen ist sprichwörtlich völlig falsch: Ich verweise auf Division mit Rest ? Wikipedia Vor allem sollte man bevor man so etwas schreibt mal die Repräsentation von floating bzw fixpoint Darstellung von Zahlen beschäftigen 1. Es würde so funktionieren. 2. Klar gibts fälle wo man nicht einfach von Gleitkommazahl auf Ganzzahl casten kann, aber das hat für seine Problemstellung eigentlich keine Relevanz. 3. "Völlig" falsch? Nicht 100% sauber triffts eher. 4. Modulo wäre auch eine Lösung. Hab ich nicht dran gedacht wo ich das geschrieben hab. 5. Ich hatte nicht den Eindruck, dass der Thread-Ersteller über ein breites Basiswissen verfügt, also verzeih mir Aussagen wie "Alle Nachkommastellen werden abgeschnitten". Bearbeitet 17. Januar 2011 von speedi Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.