Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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....

nett dank, aber sehr hielfreich.

wollte ja nur wissen wie das Struktogramm aussehen sollte...

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?

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

Brauchst du eine grafische Oberfläche oder nur ein normales Programm, je nachdem ist es viel oder wenig zu lernen.

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 von speedi

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.