TI BASIC Tutorial 3

Hier das dritte Tutorial, in dem wir ein erstes relativ sinnvolles Programm coden ;)

Bisher können wir zwar Texte ausgeben, aber mehr auch nicht.

Nun kommen wir zu den Variablen.

Die kennst du ja wahrscheinlich schon aus dem Matheunterricht (wenn du nicht die ganze Zeit mit deinem TR rumspielst ;) ): Variablen sind eine Art Minispeicherplätze für Zahlen.

Zuerst müssen wir der Variable einen Namen geben. Leider kann man nicht mehrere Buchstaben aneinanderreihen, sondern muss Namen wie x,y oder a und b nehmen.

ACHTUNG: Wenn man größere Projekte programmiert, sollte man sich unbedingt die Bedeutungen der Variablen aufschreiben, da man sonst nach einem Wochenende nix mehr versteht!

Wie kann man denn nun den Variablen Zahlen zuweisen?

5->X
3->Y
X+Y->A

A wäre in diesem Fall 8.

(Den Pfeil kann man schreiben, indem man die Taste STO-> drückt)

Eine Variable ausgeben, ist auch nicht weiter schwer:

8->A
Output(1,1,A)
Disp A

Zu beachten ist, dass Disp das Ergebnis am rechten Bildschirmrand anzeigt.

Doch wie kann man Variablen vom User einlesen lassen?

Input "Variable:",A
Disp A

Nun kann man jede Zahl eingeben und wieder auslesen lassen.

Zeit für ein kleines Experiment:

Rufe dieses Programm auf, und gebe dort z.B. 19 ein, und lass die Variable auslesen.

Schalte dann den TR aus.

Starte ihn erneut, ruf das Programm auf, und gebe jetzt A ein. Der Taschenrechner gibt wieder 19 aus. Er hat sich also die Zahl gemerkt, und behält sie auch ausgeschaltet.

Die if-Verzweigung

Zeit für ein kleines “Spiel” ^^:

Lbl A   (Der Sprungpunkt)
ClrHome       (Löscht alles auf dem Display)
randInt(1,9)->A  (A ist nun eine Zufallszahl zwischen 1 und 9)
randInt(1,9)->B
A+B->C       ( C ist nun die Summe von A und B)
Output(1,1,A)
Output(1,2,"+")
Output(1,3,B)
Disp""           (Muss ausgegeben werden, damit Input nicht die Rechnung überschreibt)
Input "Ergebnis:",D  (D ist die Eingabe des Users)
IF (D=C)    (Wenn D den gleichen Wert wie C hat)
THEN    (Dann mache)
Disp "Richtig!"   (Richtig ausgeben)
END  (Wenn das nicht so ist (D nicht gleich C ist))
IF (C	≠ D) (Wenn C nicht gleich D ist)
THEN
Disp "Falsch!"  (Falsch ausgeben)
END   (Die if Schleife beenden)
PAUSE   (aus ENTER warten)
Goto A  (Wieder zum Anfang (Sprungpunkt A) gehen

In diesem Code sind zwei neue Sachen:

- randInt

Zu finden mit 2nd + 0 und dann x bzw. R drücken. Dies ist der Katalog. Hier findet man alles, was der TR kann. Wenn man den Anfangsbuchstaben des benötigten Befehls drückt, gelangt man direkt zu ihm.

-  GOTO A:

Wenn man dieses Goto z.B. in Zeile 3 einbaut, und Lbl A: in Zeile 1 stehen hat, würde er den Befehl in Zeile 2 ewig wiederholen. Anstatt a kann man natürlich auch jeden anderen Buchstaben nehmen, und auch mehrere Gotos in ein Programm einbauen.

- IF (Bedingung):THEN:Tu dies und das:END

Wenn die Bedingung in den Klammern stimmt (das = Zeichen findet man bei 2nd + Math), wird die Aktion, die zwischen Then und End steht ausgeführt.

Wenn sie nicht wahr ist, passiert nix.

Wenn doch etwas passieren soll, wenn die Bedingung unwahr ist, dann hilft:

ELSE

Die Syntax sieht dann so aus:

: IF (Bedingung)
: THEN
: Tu irgendwas
: Else
: Tu irgendwas anderes
: END
Kommentar schreiben

30 Kommentare.

  1. Warum funktioniert das “Spiel” bei meinem TI voyage 200 nicht?

  2. Vielleicht musst du bei “input” das “Ergebniss:” wegmachen
    hilft bei TI 82 stats

    und nur so als tipp nehmt statt lbl und goto
    am anfang “while (1)” und am Ende End
    while is ne unendlichschleife

    aber sonst tolles pogramm hat die mathe und Physikstunden spaßiger gemacht

  3. Wie funktioniert das mit Listen? Wenn ich z.B. If L1=L2 eingebe kommt Err:Data Type

  4. Warum geht es auf dem TI 84 Plus nicht

  5. Da kommt immer err:SYNTAX

  6. Woitoxx:
    http://en.wikipedia.org/wiki/TI-BASIC#Lists – mehr kann ich dir da auch nicht weiterhelfen, hab mich nicht mit Listen beschäftigt und z.Z. keine Zeit ^^

    Micromen:
    Poste hier mal, was du geschrieben hast (ganz genau abtippen). Also um die Stelle herum, die als Fehler angegeben wurde. Sonst kann ich dir nicht helfen :/

  7. Dies ist Ti Basic.Die funktioniert auf nem voyage 200 nicht (der benutzt nähmlich “c” als grund programmiersprache

  8. @micromen: das was er als -> dargestellt hat musst du als 2nd + Y
    Machen

    HILFE ich habe folgendes problem der sagt mir immer “ERROR missing )”
    Ich habe jetzt schon 10 mal durchgeguckt aber es fehlt halt keine klammer woran könnte das liegen?

  9. hi

    für alle mit nem 82 stats:

    http://education.ti.com/downloads/guidebooks/graphing/83/83book-deu.pdf

    ist ausführlicher, genauer und hat mir sehr geholfen.

    Ich würde auch gerne den ein oder anderen Quelltext angeben, da meine
    (guten) Programme aber recht groß sind werde ich sie nicht abtippen.
    Wenn also jemand weis wo ich billig ein verbindungskabel (TI 82 STATS) bekomme bitte melden.

    Im moment hab ich eins aus der “vor-usb-zeit”, aber am pc keinen anschluss dazu :/

  10. Hi, echt cool was man sich im Matheunterricht alles so aneignen kann^^
    Ich hätte da noch ein paar klitze kleine Verbesserungsvorschläge:
    1. wenn du keine ELSE Bedingung in deiner If-Schleife verwendet
    kannst du THEN und END weglassen, das sieht dann so aus:

    If (C = D)
    Disp "RICHTIG"
    If (C [ungleichzeichen] D)
    Disp "Falsch"
    Pause
    

    2. kann man an das Ende noch die Frage basteln, ob der Vorgang
    wiederholt werden soll, oder nicht. das geht auf verschiedene
    weisen:
    1) (kompliziertere Variante, sieht dafür besser aus)

         :Output(6,1"WIEDERHOLEN?")
         :Lbl AQ
         :Input "Antwort: ",A
         :If A = JA
         :Goto A
         :If A = NEIN
         :THEN     [[hier muss ich then verwenden, da ich 1. mehrere zeilen
                       dahinter habe und 2. else folgt.]]
         :ClrHome
         :Stop
         :Else
         :Goto AQ
         :Output(4,1,"UNGUELTIGE ANGABE")
         :End
    

    2)

         :Menu("WAS NUN?","WIEDERHOLEN",A,"BEENDEN",EX)
         :Lbl EX
         :ClrHome
         :Stop
    
  11. Du hast natürlich Recht, aber da sich dieses Tutorial gerade an Anfänger richtet, wollte ich die nicht damit verwirren ^^

    Ich hab deine Code Stücke in [ Code ] gepackt, damit andere Besucher sie besser lesen können und ihr Spiel mit deinen Tipps erweitern ;)

    Vielen Dank für deine Mühe! :D

  12. hallo alle,

    bin ich zu doof oder ihr zu schlau? :(
    ich hab nen TI 84+ und finde KEINEN weg “” zu schreiben!!!
    HILFE :(

  13. sorry,

    der comp. zeigt´s nict an…
    ich meine
    wenns immer noch nicht geht:
    klammern, wie man sie bei html braucht, so 3-eckige… :P
    zu hilfe…

  14. man kann die teile hier echt nicht pßosten!!!

  15. Alles, was man hier nicht posten kann, einfach in [ code ] setzen, ohne die Leerzeichen.

    Du meint das “Größer als”, “Kleiner als”-Zeichen?

    Beim TI83+ findet man die mit 2nd+Math (also “Test”)…

  16. Danke

    1. für den tipp, wie man hier sowas [ ] posten kann,

    2. für den tipp, wieich sie auf dem TI schreiben kann…

    mathekann kommen, ich bin bereit!!!

  17. oops, “ohne leerzeichen”… :O

    ach, egal

  18. @Babadoom: Das funktioniert aber nur dann uneingeschränkt, wenn du nicht mehr als eine Reaktion hast. Wenn du etwa

    If X=1
    LöscheBSchirm
    Anz. "Richtig!"

    Funktioniert der Code nicht, dann kanns sein, dass er “Richtig!” auch anzeigt, wenn du gar nicht 1 als X eingegeben hast, weil er nur einen Schritt nach der If Zeile noch auf das If bezieht und die danach nicht mehr!

  19. Ooops, ich dachte man muss jede Zeile neu “Eincoden” ^^

  20. inhaltlich hab ich alles verstanden, nur weiß ich nicht wie man ein
    ,
    oder ein
    =
    macht,
    geht auf meinem TI-84 plus nicht

  21. geh auf 2nd und dann auf 0 , bzw. catalog da sind alle zeichen die es in deinem taschenrechner gibt

  22. Hey
    Ich kann ja mit or ein oder in der If-Abfrage machen, aber wie geht dass, wenn ich mehrere or’s habe?

    If (A=1) or (B=1) or (C=1)
    Then

    Geht nicht
    Und

    If >((A=1) or (B=1) or (C=1))
    Then

    geht auch net

  23. statt des ersten “END” müsste “ELSE” stehen, oder?!

  24. ok, doch nicht, sry

  25. Zeichen finden

    Auch wenns schon etwas länger her ist, vllt für andere, die noch kommen:
    Die Zeichen, die hier verwendet werden sind alle auf eurem TI84+ vorhanden, ihr seid wahrscheinlich einfach nur blind :)
    Das “,” findet man ganz einfach über der “7″
    Die ” Zeichen findet man bei Alpha->”+”
    Die eckigen Klammern bei 2ND->”x”/”-”
    Das = Zeichen ist eine “Test”-Funktion, diese findet man unter 2ND->Math

Kommentar schreiben

Hinweis - Du kannst dies benutzenHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>