Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Programmablaufplan » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
as_string

Hallo!

Mir wäre es deutlich lieber, wenn Du für jede Frage einen neuen Thread aufmachen könntest. Besonders diese letzte Frage hat ja gar nichts mit den ersten beiden zu tun.
In der Klasse GregorianCalendar der Java Standardbibliothek gibt es eine Methode isLeapYear().
Schau z.B. mal hier
https://www.tutorialspoint.com/java/util..._isleapyear.htm

Gruß
Marco
InformatikJava12

Perfekt dankeschön Daumen hoch smile
Ich hätte noch eine kleine Frage. Wie kann ich im Java Programm realisieren, dass eine Jahreseingabe ein Schaltjahr ist oder nicht ohne die Modulooperation zu verwenden.

Die Bedingung weis ich: Ein Jahr ist ein Schaltjahr, wenn es durch 4 teilbar ist aber nicht durch 100, es sei denn es ist zusätzlich durch 400 teilbar.
Also ich skizziere meine Idee;
Also sei z die eingegebene Jahreszahl. Dann soll das Programm prüfen, ob rest = z- z*4 = 0 unnd rest = z-z*100 ungleich 0. Wie kann ich das in Java am besten realisieren? Mit if und else wsl aber dann wie genau verwirrt
as_string

Du schreibst in der einen Entscheidungs-Raute: "i durch p teilbar", aber müsste es nicht umgekehrt sein?
Ansonsten sind die Pfeile in der unteren/linken Ecke etwas verunglückt.

Ansonsten Daumen hoch

Gruß
Marco
InformatikJava12

Vielen Dank smile Jetzt habe ich es verstanden smile Daumen hoch
Ich habe noch eine Aufgabe.


Entwerfen Sie einen Algorithmus, indem Sie einen Programmablaufplan erstellen, welcher überprüft,ob p eine Primzahl ist.

Kannst du bitte drüber schauen, ob das stimmt?

InformatikJava12 hat dieses Bild (verkleinerte Version) angehängt:
Primzahltester2.png

as_string

Ich denke, Du musst so wie so immer mit 4 vergleichen, nie mit 5 und auch nicht mit 3 (sowohl i als auch j)
Wenn Du mit 1 anfängst, dann hast Du nach dem ersten Schleifendurchlauf eine 2 und eine Zeile (oder Spalte) ausgegeben.
Der Vergleich ist positiv und die machst nochmal die Ausgabe und zählst 2 auf 3 hoch.
Damit ist der Vergleich immer noch wahr und Du gibst eine dritte Zeile/Spalte aus und zählst auf 4 hoch.
Jetzt hättest Du erst 3 Zeilen oder Spalten ausgegeben und würdest bei einem Vergleich auf i<=3 oder auch j<=3 aber schon aussteigen, so dass eine Zeile/Spalte fehlen würde.
Erst wenn Du dieses eine Mal noch durch läufst, sind es genau 4 und die Zählvariable hat einen Wert von 5. Erst jetzt darf der Vergleich unwahr sein und muss aus der Schleife gesprungen werden.

Gruß
Marco
InformatikJava12

Ok vielen Danksmile
Also reicht es auch einfach die Bedinung j=i+1 einfach nach dem j=<5 einzufügen, wobei ich das j=<4 setzen muss für 4 Elemente oder?
as_string

Genau, immer eins größer.
Du kannst einfach schreiben, "wenn i = j + 1"
Allerdings finde ich es etwas ungünstig, dass i schon ganz am Anfang der äußeren Schleife erhöht wird, aber j erst nach der Ausgabe. Ich würde das erhöhen von i auch jeweils am Ende der äußeren Schleife machen, also in dem Diagramm in den linken Ast, dort wo auch "gehe in die nächste Zeile" steht.
Dann wäre i nämlich in der Diagonalen immer gleich j und nicht eins höher. Dann wäre auch i die Zeilenzahl und j die Spaltenzahl.
Funktionieren tuts natürlich auch so wie hier, dass i immer eins größer als die Spaltenzahl ist.

Gruß
Marco
InformatikJava12

Also in der 1. Zeile an der 1. Stelle ist j=1 und i=2
In der 2. Zeile 2. Stelle ist j=2; i=3
3. Zeile und 3. Stelle: j=3;i=4

D.h j ist immer um 1 kleiner als i

Wie drücke ich das aus, dass sich und j immer nur um 1 unterscheiden?
InformatikJava12

Also beim 1. Durchlauf bis zeichne * ist i=2 und j=1. D.h wenn j<i ist dann soll er + zeichnen, wenn nicht geht es normal weiter mit j=j+1. Aber das hilft dann nicht. Beim 2. Durchlauf würde er dann i=3 sein und j=1. Es würden also dann 2 + gezeichnet. Das + muss ja irgendwie weiterwandern. Ich komme noch nicht dahinter?
as_string

An der Stelle, an der jetzt immer der * ausgegeben wird, musst Du i und j vergleichen und statt einem * eventuell ein + ausgegeben.
Wie wäre denn i und j bei dem + ganz links oben, wie beim zweiten +, wie beim 3.? Fällt Dir etwas auf, wenn Du die i und j be diesen Paaren miteinander vergleichst?
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.