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

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Programmablaufplan » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Programmablaufplan
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InformatikJava12
unregistriert
Programmablaufplan Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Leute,
Ich habe folgenden Programmablaufplan.
Die Ausgabe davon wäre folgende:

*****
*****
*****

Wie kann ich jetzt den Plan ändern, damit ich folgende Ausgabe erhalte:

+***
*+**
**+*
***+

Mit fehlt da die Idee. Ich bitte euch um eure Hilfe Gott

InformatikJava12 hat dieses Bild (verkleinerte Version) angehängt:
2017-10-28 09.51.47.jpg

28.10.2017 09:58
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Welche Werte haben i und j im Vergleich zueinander, wenn statt eines * ein + ausgegeben werden soll?
28.10.2017 11:06 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also wsl brauche ich eine zusätzliche Bedingung und ich muss die Anweisung + zeichnen noch einbauen. Die Frage ist jetzt wie und wo:Ich komme leider nicht weiter. Gibst du mir noch ein Tipp bitte verwirrt
28.10.2017 11:38
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kanst du mir vllt sagen, wo ich den Vergleich zwischen i und j einbauen soll?
28.10.2017 13:24
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
28.10.2017 13:59 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
28.10.2017 14:15
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
28.10.2017 14:23
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
28.10.2017 23:16 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
28.10.2017 23:30
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
29.10.2017 13:46 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

29.10.2017 15:21
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
30.10.2017 08:52 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
InformatikJava12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
30.10.2017 11:18
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
30.10.2017 16:29 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Programmablaufplan