Vereinfachung mehrerer Verzweigungen
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Vereinfachung mehrerer Verzweigungen
Hallo,
kann man einige Verzweigungen (mit Befehlseingang) auch ersetzen?
Kommt das Programm dann an eine Stelle, wo es in mehrere Teile geteilt werden könnte, muss ich dann immer die Verzweigung nehmen und das Programm alles ausprobieren lassen (A=1, A=2, A=3 ....)
Muss ich also bei 10 Möglichkeiten jedesmal 10 Verzweigungen mit Befehlseingang nutzen, oder gibt es da noch irgeneine andere Möglichkeit?
Das wäre dann z.B. bei einer Kasse notwendig, da man je nach Preis der gekauften Produkte etwas anderes über ein 7 Segment anzeigen müsste.
Gruß
majus
kann man einige Verzweigungen (mit Befehlseingang) auch ersetzen?
Kommt das Programm dann an eine Stelle, wo es in mehrere Teile geteilt werden könnte, muss ich dann immer die Verzweigung nehmen und das Programm alles ausprobieren lassen (A=1, A=2, A=3 ....)
Muss ich also bei 10 Möglichkeiten jedesmal 10 Verzweigungen mit Befehlseingang nutzen, oder gibt es da noch irgeneine andere Möglichkeit?
Das wäre dann z.B. bei einer Kasse notwendig, da man je nach Preis der gekauften Produkte etwas anderes über ein 7 Segment anzeigen müsste.
Gruß
majus
-
- Beiträge: 116
- Registriert: 01 Nov 2010, 22:39
- Wohnort: Wabern CH-BE
Re: Vereinfachung mehrerer Verzweigungen
Hallo,
es gibt da noch das Element Vergleich (mit Festwert) mit dem du die Abfragen praktisch halbieren kannst.
es gibt da noch das Element Vergleich (mit Festwert) mit dem du die Abfragen praktisch halbieren kannst.
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1845
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Vereinfachung mehrerer Verzweigungen
Hallo Majus,
:
Anstatt den Wert aufsteigend mit einer in jedem Schritt größeren Konstante zu vergleichen, reduzierst Du die Zahl der Vergleiche, indem Du mit dem Element "Vergleich mit einer Konstanten" den Wert (Maximalwert bspw. 10) mit 10/2=5 vergleichst. Wenn kleiner, vergleichst Du mit 3, wenn größer, mit 7 usw. Damit sinkt die Zahl Deiner Vergleiche auf log2(10).
Herzlicher Gruss,
Dirk
oh ja, das geht durchaus! Eine Variante für InformatikerMajus hat geschrieben:kann man einige Verzweigungen (mit Befehlseingang) auch ersetzen?

Anstatt den Wert aufsteigend mit einer in jedem Schritt größeren Konstante zu vergleichen, reduzierst Du die Zahl der Vergleiche, indem Du mit dem Element "Vergleich mit einer Konstanten" den Wert (Maximalwert bspw. 10) mit 10/2=5 vergleichst. Wenn kleiner, vergleichst Du mit 3, wenn größer, mit 7 usw. Damit sinkt die Zahl Deiner Vergleiche auf log2(10).
Herzlicher Gruss,
Dirk
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1845
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Vereinfachung mehrerer Verzweigungen
... und noch eine Variante:
Du füllst ein Listenelement mit Ausgabewerten, und verwendest den "Input"-Wert als Selektor.
Beste Grüße,
Dirk
Du füllst ein Listenelement mit Ausgabewerten, und verwendest den "Input"-Wert als Selektor.
Beste Grüße,
Dirk
Re: Vereinfachung mehrerer Verzweigungen
Hallo,
das mit den Verzweigungen mit Festwert ist eine gute Idee. Ich muss dann viel weniger programmieren. Vielen Dank.
Aber das Problem löst sich dadurch auch nicht komplett. Denn bei 100 Möglichkeiten ist das trotzdem noch viel Denkarbeit.
Das mit dem Listenelement hätte ich gerne mal probiert, aber das scheitert dann wohl daran, dass ich diese Liste noch nicht mal im Normalzustand verstehe.
(Geschweige denn das öffnen einer Liste)
Das liegt wohl daran, dass ich noch nie eine Liste verwendet habe, da ich keine benötigete.
Viele Grüße
Majus
das mit den Verzweigungen mit Festwert ist eine gute Idee. Ich muss dann viel weniger programmieren. Vielen Dank.
Aber das Problem löst sich dadurch auch nicht komplett. Denn bei 100 Möglichkeiten ist das trotzdem noch viel Denkarbeit.
Das mit dem Listenelement hätte ich gerne mal probiert, aber das scheitert dann wohl daran, dass ich diese Liste noch nicht mal im Normalzustand verstehe.
(Geschweige denn das öffnen einer Liste)

Das liegt wohl daran, dass ich noch nie eine Liste verwendet habe, da ich keine benötigete.

Viele Grüße
Majus
-
- Beiträge: 116
- Registriert: 01 Nov 2010, 22:39
- Wohnort: Wabern CH-BE
Re: Vereinfachung mehrerer Verzweigungen
Hallo,
schau mal in der Hilfe von RoboPro unter Liste nach. Dort wird die Liste genau erklärt.
schau mal in der Hilfe von RoboPro unter Liste nach. Dort wird die Liste genau erklärt.
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1845
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Vereinfachung mehrerer Verzweigungen
Hallo Majus,
- neben der Hilfe hilft ft:pedia 2/2011:
http://www.ftcommunity.de/ftpedia_ausga ... 2011_a.pdf
Beste Grüße,
Dirk
räusper... wie so oft im Leben gilt: Wer lesen kann, ist eindeutig im VorteilMajus hat geschrieben:Das mit dem Listenelement hätte ich gerne mal probiert, aber das scheitert dann wohl daran, dass ich diese Liste noch nicht mal im Normalzustand verstehe. (Geschweige denn das öffnen einer Liste)![]()

http://www.ftcommunity.de/ftpedia_ausga ... 2011_a.pdf
Beste Grüße,
Dirk