NEWS
Blockly - Addieren mehrerer Werte (Klammersetzung)
-
Hallo zusammen,
Für die Leistungsberechnung möchte ich mehrere Werte addieren bzw subtrahieren. Mit der Verschachtelung von mehreren Blöcken "Addition zweier Zahlen" werden die Klammern jedoch falsch gesetzt. Wie kann ich mehrere Werte addieren?
Vielen Dank und Grüße
Ingo -
@ingo-2 Tipp: nutz die externen Ausgänge (rechte Maustaste auf dem Operand)
macht das Ganze deutlich übersichtlicher.@ingo-2 sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
werden die Klammern jedoch falsch gesetzt.
wieso?
bei einer Addition gilt das Kommutativgesetz, ds gibt's keine falschen Klammern -
Hi,
Ja. Da hast Du recht. Entgegen dem was ich geschrieben habe, addiere und subtrahiere ich jedoch. Dann funktioniert es halt nicht mehr.
Aber wie wäre jetzt die Lösung?Nochmal mein Bespiel genauer erläutert:
Tagesenergie= PV-Energie + Netz_Bezug - Netz_Einspeisung - Batterie_Ladung + Batterie_EntladungKlingt sehr banal aber ich habe ein Brett vor dem Kopf mit Blockly. Gibtves eine Klammersetzung oder ähnliches?
-
@ingo-2 sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Gibtves eine Klammersetzung oder ähnliches?
Ja - automatisch.
Und da Du nicht dividierst oder multiplizierst ist die Klammersetzung wurscht. -
Das ist so leider nicht ganz richtig.
Beispiel:1 + 2 - 3 + 4 - 5 = -1
Blocky rechnet bei der Verschachtelung jedoch:
1 + ( 2 - ( 3 + ( 4 - 5 ))) = 1
-
@ingo-2 sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Entgegen dem was ich geschrieben habe, addiere und subtrahiere ich jedoch
auch da gilt das Kommutativgesetz.
10-3+5 ist immer 12, egal was du klammerst.
hast du die externen Eingänge jetzt mal genutzt?
dann sähest du die "Klammerebenen) -
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
@ingo-2 sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Entgegen dem was ich geschrieben habe, addiere und subtrahiere ich jedoch
auch da gilt das Kommutativgesetz.
10-3+5 ist immer 12, egal was du klammerst.
Wenn du so klammerst:
10-(3+5)
kommt aber 2 raus.Und js rechnet das auch vollkommen richtig (unter Beachtung der Klammern).
10-3+5 = 12
10-(3+5) = 2 -
@homoran
Im Netz gefunden:Das Kommutativgesetz sagt aus, dass man bei einer Addition oder bei einer Multiplikation von zwei Zahlen die Reihenfolge vertauschen kann. Das Ergebnis ändert sich dabei nicht. Das Kommutativgesetz gilt nur für Addition (plus rechnen) und Multiplikation (mal rechnen). Für die Subtraktion (minus rechnen) und Division (teilen) gilt das Kommutativgesetz nicht.
-
@bahnuhr ich glaub, ich muss nochmal zur Schule
-
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
@bahnuhr ich glaub, ich muss nochmal zur Schule
Ich kenn mich aber mit blockly nicht aus.
In JS wird unter Beachtung der klammern richtig gerechnet !
Wenn Blockly da falsch rechnet, dann liegt wohl ein bug vor.
Kann ich aber nicht beurteilen, da ich Blockly nicht nehme.Vielleicht sollte der Entdecker mal ein issue einstellen.
-
@bahnuhr sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Wenn Blockly da falsch rechnet, dann liegt wohl ein bug vor.
wenn man die externen Eingänge nutzt, sieht man die "Klammern"
Dann muss man eben die Reihenfolge der Blöcke richtig anordnen -
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
sieht man die "Klammern"
mach mal screenshot.
Würde mich interessieren. -
@bahnuhr sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
sieht man die "Klammern"
mach mal screenshot.
Würde mich interessieren.dauerte was
ich hab immer das richtige herausbekommen.
Deswegen hab ich nie darüber nachgedacht.Klammern von innen nach außen = Blöcke von rechts nach links
-
Ich sag ja: ich mag blockly nicht.
sieht äußerst verwirrend für mich aus.Ich bleib bei JS.
Danke trotzdem. -
@bahnuhr sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Wenn Blockly da falsch rechnet, dann liegt wohl ein bug vor.
Dann an Google Melden: https://github.com/google/blockly/issues
Es wird einfach jeder "Mathematik-Block" geklammert. Sonst wäre das Ergebnis ja total unvorhersehbar. Immerhin kann man im Blockly manuell keine Klammern setzen.
Daher wird auch
zu
10 - (3 + 5);
was aus meiner Sicht (und der von Google wohl auch) total logisch ist. Immerhin hat man die Addition als separaten Block gesetzt.
-
@haus-automatisierung sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Immerhin kann man im Blockly manuell keine Klammern setzen.
Doch! Durch die Position der Blöcke ist das immer geklammert.
du beschreibst es ja korrekt.
-
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
Doch! Durch die Position der Blöcke ist das immer geklammert.
Ja, aber hier gehen ja scheinbar einige davon aus, dass das Beispiel zu
10 - 3 + 5
aufgelöst wird. Und wenn das so wäre, müsste es eine Möglichkeit geben, manuell Klammern zu setzen. Gibt es aber nicht und wäre auch total undurchsichtig. Jeder Block steht für sich. Jeder Block wird für sich aufgelöst. Von innen nach außen.Muss ja auch so sein. Immerhin kann ich jeden Block auch auslagern und das Ergebnis z.B. in eine Variable speichern. Das darf die Logik aber nicht ändern. Das hier ist also genau das gleiche:
-
@haus-automatisierung wenn man dann noch die externen Eingänge nutzt, wird das gerade bei langen Ketten, noch deutlicher
-
@homoran sagte in Blockly - Addieren mehrerer Werte (Klammersetzung):
ich glaub, ich muss nochmal zur Schule
Ich schließe mich an.
Hat wohl Gründe, dass ich seinerzeit den Abschluss wegen Mathe eher knapp geschafft habe -
Nochmals danke für die Diskussion und Anreize. Ich komme dieses Jahr nicht mehr zum Testen und werde es demnächst machen.