Wie zieht man im App Inventor die Wurzel?


11.07.2023, 15:50

Die Extension, die ich benutze, um Rechnungen auszurechnen:

Der "Code":

FaTech  11.07.2023, 07:13

Warum muss der Nutzer zum Wurzel rechnen eine Klammer setzen?

Alex950130 
Fragesteller
 11.07.2023, 13:17

Bei sqrt() muss die Zahl, von der man die Wurzel ziehen möchte, in die Klammern gesetzt werden, da sonst ein Fehler kommt. Bei "√" muss man keine Klammer setzen.

FaTech  11.07.2023, 13:26

Sagtest du nicht, du benutzt AppInventor? Was hat das mit sqrt() zu tun? AppInventor selbst nutzt doch Bausteine?

Alex950130 
Fragesteller
 11.07.2023, 14:34

Also ich benutze die Extension KI04_JS, mit der ich ohne verschiedene Umwege eine bestimmte Aufgabe ausrechnen kann. Genau hier funktioniert das Zeichen "√" nicht.

FaTech  11.07.2023, 14:44

Ich konnte nach Recherche leider nichts zu der Erweiterung finden. Könntest du vielleicht nochmal ein Bild deines Codes an die Frage anhängen?

Alex950130 
Fragesteller
 11.07.2023, 15:50

Ja.

FaTech  11.07.2023, 15:53

Hast du auch eine Version der Bilder, wo du die Bezeichnungen ordentlich benamt hast? Beispiel:Label2 mag für dich eindeutig sein, aber nicht für jemanden, der den Code nicht kennt

Alex950130 
Fragesteller
 11.07.2023, 16:04

Bringt es dir denn viel? Ich meine das sind die Tasten, zu den Zahlen, fürs Löschen und zu den Rechentasten...

FaTech  11.07.2023, 16:05

Naja, ich will versuchen dir zu helfen und müsste dafür den Code nachvollziehen können. Mit nur Button, Label und co kann ich wenig anfangen

Alex950130 
Fragesteller
 11.07.2023, 16:16

Ich habe jetzt die Frage bearbeitet, und in der Frage steht jetzt der "Code", indem auch die umbenannten Sachen drinn sind.

2 Antworten

Mit deinem neuen Code ist es direkt einfacher zu verstehen.

Meine Idee dafür:

  • Merken in einer Variable, wenn Wurzel gedrückt und sobald ein anderes Zeichen gedrückt wird, wird vor dem anderen Zeichen abgefragt: Wenn Wurzel Variable true, dann setze zuerst Klammer zu. Und später vorm Rechnen ein replace, um das Zeichen zur Funktion zu ändern.
  • Sollte es einen Löschen Knopf geben, um einzelne Zeichen zu löschen, ist das natürlich ein Problem, weil der Nutzer dann die Klammer entfernen kann. An dieser Stelle kann ich nur ein weiteres Plugin empfehlen (habe es selbst nie getestet, weil ich echte Programmiersprachen nutze): https://community.appinventor.mit.edu/t/free-extension-xreg-v1-2-pcre-regular-expressions-for-app-inventor/85818 . Das Plugin ermöglicht dir RegEx anzuwenden, um die Wurzelstellen vorm finalen Rechnen zu ermitteln und zu ersetzen, obwohl du nicht weißt, welche Zahlen verwendet wurden.

Ich habe vor Jahren mit AppInventor gearbeitet, bevor ich mit richtiger App Entwicklung begonnen habe. Zu dem Zeitpunkt war noch alles auf Englisch. War echt verwundert über die Screenshots in deutscher Sprache ^^

Alex950130 
Fragesteller
 11.07.2023, 19:48

Danke für deine Antwort, ich werde mal schauen, ich wollte sowas eingentlich umgehen, da ich bei deinem ersten Lösungsvorschlag alle Operator-Funktionen nochmal umändern muss...

Ich habe selbst auch mit Python gearbeitet, jedoch konnte ich mein Programm leider nicht in eine APK umwandeln, und da ich mir weitere -Jahre- Sucharbeit sparen wollte, bin ich zum App Inventor rübergewechselt.

Im App inventor gibt es mitlerweile übrigens sehr viele Sprachen.

0
FaTech  11.07.2023, 23:32
@Alex950130
ich wollte sowas eingentlich umgehen, da ich bei deinem ersten Lösungsvorschlag alle Operator-Funktionen nochmal umändern muss...

Inwiefern musst du alle noch mal umändern?

Und naja, trotzdem bleibt ja auch meine Option 2

Ich habe selbst auch mit Python gearbeitet, jedoch konnte ich mein Programm leider nicht in eine APK umwandeln,

Python ist auch nicht wirklich eine Sprache, für die ein solches Verhalten angedacht ist. Es gibt meist Frickellösungen, um so etwas doch zu schaffen, aber dafür nutzt man meist doch eher andere Sprachen. Ich selber bin Fan von C#, da es so ziemlich alles kann, einfach ist und doch so mächtig.

Im App inventor gibt es mitlerweile übrigens sehr viele Sprachen.

Interessant, aber einige Jahre zu spät, haha. Naja, egal. Richtig programmieren finde ich trotzdem interessanter :)

0

Hier ist mein "Code" einmal kommplett mit den umbenannten Sachen:

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

 - (programmieren, Wurzelziehen, App Inventor)  - (programmieren, Wurzelziehen, App Inventor)  - (programmieren, Wurzelziehen, App Inventor)