Wie kann ich eine Tabelle sukzessive entstehen lassen?

MatheSchmidt shared this question 7 years ago
Answered

Liebe GeoGebra-Gemeinde,


ich habe mal wieder ein kniffliges Problem:

In der angehängten Datei habe ich eine Möglichkeit realisiert, wie man quadratische Funktionen einführen kann. Durch Bewegen von A längs der x-Achse variiert man ein achsenparalleles Rechteck, dessen rechter oberer Eckpunkt auf einer vorgegebenen Gerade liegt.

Ich möchte, dass beim Bewegen von A sukzessive die Tabelle ausgefüllt wird (aber nicht blind über "Werte in die Tabelle eintragen", sondern in fester Schrittweite und in die von mir dafür vorgesehenen Zellen). Momentan ist das Ausfüllen der Tabelle - etwas hölzern - über Wenn-Befehle in der Tabelle realisiert, aber dann findet man in den Zellen, in denen eigentlich nichts sein sollte, Fragezeichen. Kann man dies vermeiden?


Zugleich bietet die Datei nach ein ästetisches Problem:

Im Fenster Grafik2 hat der Punkt, der den Flächeninhalt in Abhängigkeit vom x-Wert von A anzeigt, einen Schweif - aber nur wenn man A von links nach rechts bewegt. Kann man irgendwie abfragen, in welcher Richtung sich Punkt A gerade bewegt (also ein Vergleich des aktuellen Wertes von x(A) mit einem vorangegangenen)?


Das zweite Problem ist eher ein Luxusproblem, aber das erste ist eines, das ich immer wieder hatte - wer kann's lösen?


Vielen Dank im Voraus von

Reinhard

https://ggbm.at/561627

Comments (7)

photo
1

Hallo Reinhard,


für dein erstes Problem hätte ich zwei Lösungen:

1.) Du stellst den Punktefang an, dann wird auf die Gitterpunkte gehüpft

2.) Du legst den Punkt A nicht auf die x-Achse sondern auf eine Liste von Punkten auf der x-Achse, die du per Folgenbefehl erzeugt.


Was den Schweif betrifft, so verstehe ich es nicht ganz!? Soll der Schweif weg oder soll er immer hinterhergeschleppt werden, also wenn man den Punkt nach rechts bewegt hängt der Schweif links hinten dran und umgekehrt?

Vermutlich kann man mit Scripting regeln.


Grüße, Birgit

photo
1

Hallo Reinhard


Zur Problemstellung 1 (Tabelle)

Die Werte werden in Listen mit einer dynamischen Länge erzeugt (Liste_f, Liste_g). Die Länge ist abhängig vom aktuellen Punkt auf der xAchse.

Variante a): anzeigen der Tabelle mit Tabellentext[]

Variante b): Die Zellen in der Tabellen holen sich den Wert aus der entsprechenden Liste. Der dazu benötigte Index ist in einer (versteckten) Spalte hinterlegt. Er gilt für die Werte der entsprechenden Zeile.


Problemstellung 2 (Schweif)

Variante a) Schweif mit fixem x-Intervall wie in Deiner Vorlage, ergänzt mit Schript, der:

- den alten Zustand von x(C) wegspeichert (um die Bewegungsrichtung in "Vorwärts" festhalten zu können)

- die Animation eines Schiebereglers anstöss, der für das "verglühen" des Schweifes zuständig ist

Variante b) verglühender Schweif mit Längenabhängigkeit von der Bewegungsgeschwindigkeit. Ein genialer Vorschlag von "kondr" http://www.geogebra.org/forum/viewtopic.php?f=13&t=28549


Raymond

https://ggbm.at/561631

photo
1

Liebe Birgit, lieber Raymond,


vielen Dank für eure Antworten!

Das "Schweif-Problem" ist damit vollständig und kongenial gelöst.

Eure Hinweise zum Tabellen-Problem sind ebenfalls sehr überzeugend.

Die Lösung mit Tabellentext[] ist grundsätzlich genau so, wie ich das vorgestellt habe, allerdings möchte ich die SuS unbedingt in der Tabellenansicht arbeiten lassen. Die dort realisierte Lösung passt also für mich besser - aber das Anzeigen der Fragezeichen lässt sich wohl nicht vermeiden? :(

Wenn ich Birgits Hinweise richtig verstehe, bliebe dort das Problem, dass in der Tabelle Fragezeichen statt leerer Zellen angezeigt werden, auch bestehen.


In jedem Fall sind eure Hinweise eine Fraude, nochmals besten Dank!!!


Viele Grüße von

Reinhard

photo
1

Ich meinte es anders als du es wohl verstanden hast.


Habe nun nur die ersten beiden Spalten zum füllen.


Allerdings muss man A anwählen und dann per Maustaste rechts und links bewegen, damit man nur einzelne Werte hat.

Mit der Maus hat man trotzdem zu viele Eingaben. Eventuell könnte man auch ein Skript nutzen und nur bei Update von A, den neuen Wert an A2 übergeben und somit hat man vielleicht weniger Eingaben.


Vielleicht könnte man statt der Liste (hier Liste1) auch den Befehl DynamischeKoordinaten verwenden?


Birgit

photo
1

    = Wenn[ IstDefiniert[ Element[ <Liste> , $<Spalte><Zeile> ] ],"" <Koordinate>(Element[ <Liste> , $<Spalte><Zeile> ]) ""," "]

Gruß

Loco

photo
1

Der Vorschlag von Loco sinngemäss umgesetzt.

Raymond

https://ggbm.at/561645

photo
1

Liebe Leute,


ihr seid großartig!

Vielen Dank!


Beste Grüße von

Reinhard

© 2020 International GeoGebra Institute