Kann mir einer helfen beim programmieren?

grafische Programmiersprachen für den EV3/NXT.
NXT-G, Robolab, LabView und was noch so schön bunt ist...

Moderator: Moderatoren

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 1. Mär 2018 19:35

Hallo,
wir sollen einen Farbsortierer programmieren, wo jede Farbe (Blau, grün, gelb und rot) jeweils einmal in einen Behälter kommt.
Also: Behälter 1: Blau, Grün, Gelb und rot (jeweils 1 mal)
Behälter 2: Blau, Grün, Gelb und rot (jeweils 1 mal)
Behälter 3: Blau, Grün, Gelb und rot (jeweils 1 mal) usw.
Aber wir haben so ziemlich null plan wie wir das angehen sollen. Kann man dafür das vorgefertigte Farbsortierer- Programm nehmen, das es schon in der Lehrer-Edition gibt und es etwas abändern oder muss man da ein komplett neues Programm schreiben? Und könntet ihr mir dann auch noch tipps geben was ich abändern muss bzw. wie ich das Programm erstellen kann.
Danke
MFG,
mamnu

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 1. Mär 2018 22:56

Ohne Kenntnisse denke ich, wird es wohl nicht so einfach. Ich würde im Prinzip so vorgehen: 3 Variable für die Behälter. Für die 4 Farben die Werte 1, 2, 4 und 8 verwenden. Ist z.B blau=1 und rot=8 schon aufaddiert drin, so ergäbe das 9, blau und gelb - zusammen 5. Angenommen in Behälter 1 ist die Summe 1+2+4+8 = 15, dann weiß ich, der ist voll. Ist die Summe 13, dann fehlt 15-13 = 2, also grün. Ist ein bissel Grundschulmathe und mit ein paar Abfragen bekommt man raus, in welchem Behälter noch etwas fehlt. Bleiben wir noch mal bei grün und ich weiß nicht, wieviel Steine schon in den Behältern sind, dann kann die Summe nur 1, 1+4=5 oder 1+4+8=13 sein. So klappere ich die 3 Beh. ab. Falls sie alle 3 mit der gerade vorhanden Farbe bestückt sind, werfe ich den Stein einfach außerhalb der Behälter ab. Zur grafisch Programmierung könnte ich Dir Tipps geben, mach Dir aber erst mal eigene Gedanken, wie man das umsetzen kann. Sonst bist Du nach Fertigstellung genau so schlau :roll: (oder "doof"), wie vorher.
Erst grübeln, dann noch mal melden.

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 2. Mär 2018 07:18

Könnte er bei deiner Variante nicht z.B. 3 den Wert 2 nehmen?
1+2+2+2+8= 15

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 07:55

Du mußt die "Pötte" sprich die 3 Variablen bei jedem neuen Stein im Greifer abfragen, welche Summe sie im Augenblick haben. Danach wird entschieden, wo der Stein abgelegt wird - in einem der 3 Behälter oder außerhalb. Die Zahlen 1,2,4,8 sind bewußt gewählt, weil Teilsummen davon genauen Aufschluß über den Inhalt zulassen.

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 10:51

Habe eben festgestellt, dass die Auswertung zu kompliziert wird. Sorry. Einfacher geht es wohl mit den Abfragen, wenn du die Zahlen 2,3,5,7 (Primzahlen) für die Farben verwendest. Jeder Behälter (Variable) wird mit 1 beschrieben. Je nach Farbe wird dann mit der entsprechenden Zahl multipliziert. Der Inhalt ist jetzt das kleinste gemeinsame Vielfache (Produkt) der Farbzahlen. Will ich jetzt wissen, ob eine Farbe schon im Behälter ist, dividiere ich den Inhalt durch die entsprechende Farbzahl. Ist der Quotient ganzzahlig (kann man mit dem Matheblock ermitteln), ist die Farbe schon drin. Dann nimmt man sich den nächsten Behälter vor. Der 1. Behälter müßte dann in der Regel als erstes voll sein und dann sind pö a pö die nächsten dran.
Vorteil, die Behälter und deren Inhalt können mit einer Schleife abgefragt werden. Die Anzahl der Behälter und Farben wären kaum limitiert.
Würde mich freuen, wenn wir das gemeinsam mal durchziehen könnten. Die graf. Programmierung zaubert ja bei den eingefleischten Freaks immer so ein gewisses Lächeln ins Gesicht.Dabei könnte man durch Erstellung von Blöcken mit def. Ein- und Ausgängen durchaus so auch eine Art von Struktur erhalten. Muss allerdings gestehen, dass ich eigentlich dazu auch zu bequem bin und parallele Abläufe nicht machbar sind.
Zuletzt geändert von Peter28 am 2. Mär 2018 12:49, insgesamt 1-mal geändert.

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 2. Mär 2018 12:45

Müsste das nicht auch ohne Variablen gehen. IndEM ich halt ebenötigt sage das erste grüne Teil Behälter 1, das erste blaue in Behäleer 1 und das auch für rot und gelb und dann halt das zweite grüne in Behälter 2 bis er halt von jeder Farbe 3 erkannt hat. Also ich mein das ich das über die Farben machen und ohne Variablen?

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 12:59

Gut, Du hast von jeder Farbe 10 Stück, willst den 1. Behälter auffüllen und die ersten 10 sind zufällig alle von einer Farbe. Packst Du jetzt erst eine Farbe in alle 4 Behälter ? Wenn Du Pech hast, erwischst Du als erstes einen gelben und die restlichen gelben sind die letzten 9 :lol:
Irgendwie musst Du Dir schon merken, was Du wohin schon geschafft hast. Dein Prinzip wird höchstwahrscheinlich zu 90% klappen, aber ein "Restrisiko" bleibt. Habe mir das ganze mal in Richtung Array angeschaut. Lassen sich schön mit Schleifen verarbeiten, sind also wie durchnummerierte Variablen handhabbar.

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 2. Mär 2018 13:11

Also, das mit dem Restrisiko bei meiner Variante verstehe ich jetzt nicht ganz. Ich meine wenn ich jetzt erste gelbe, rote, grüne bzw. blaue jeweils in Behälter 1 stecken lasse und die zweite von jeder Farbe in Behälter zwei und das gleich für behälter 3 mache und sobald eine vierte rote, gelbe, blaue oder grüne auftauche halt sie in einen vierten Sammelbehälter stecke. Wo hätte ich dann ein Restrisiko und das halt über die Farben machen?

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 13:35

Wenn Du als erstes zB. einen gelben erwischt und in den 1. Beh. legst, willst du dann so lange weitere nehmen bis eine andere Farbe kommt und die auch in den 1. legen usw. Dann mit dem 2. Behälter anfangen? Oder aber erst in jeden die gleiche Farbe und das gleiche mit der nächsten Farbe? In beiden Fällen können die Teile so ungünstig liegen, dass Dir die Teile ausgehen. Geh das mal in Ruhe durch. Oder aber, du hast die Steine vorsortiert alle nach einer Farbe, aber dann ist das keinerlei Herausforderung.

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 2. Mär 2018 13:39

Ok, jetzt weiß ich wenigstens schon mal wie der Ansatz ist. Jetzt muss ich das (nur) noch irgendwie in ein Programm umsetzen.

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 13:56

Habe dazu schon einen Ansatz, aber mach Du erst mal, bin gespannt.

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 2. Mär 2018 14:15

Natürlich probiere ich es erst mal selbst. Heute Abend oder morgen stelle ich mal mein Ergebniss hier rein

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 2. Mär 2018 14:41

Prima

mamnu
Mindstormsfreund
Mindstormsfreund
Beiträge: 8
Registriert: 19. Nov 2017 02:24

Re: Kann mir einer helfen beim programmieren?

Beitragvon mamnu » 3. Mär 2018 17:51

Screenshot (716).png
Screenshot (717).png

Also, ich hätte das jetzt ungefähr sogemacht. Kurze Info zu meinem Gedankengang. Ich habe versucht jeder Variablen eine Farbe zuzuordnen. Blau 2, Grün 3, Gelb 5 und rot 7. und die Schleife soll halt solange gehen bis der Wert 17 erreicht ist. Ich habe keine Ahnung ob das ansatzweise richtig ist

Peter28
Schreibt viel
Schreibt viel
Beiträge: 205
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: Kann mir einer helfen beim programmieren?

Beitragvon Peter28 » 3. Mär 2018 19:22

Muß jetzt doch mal fragen, wieviel Projekte hast Du jetzt schon selbst erstellt. Nicht nachgebaut, sondern richtig aus einer Idee heraus programmiert?


Zurück zu „grafische Programmiersoftware“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss