TI-Basic: Programme und Tutorials: Stoppuhr

Erstellt von: Lehmkuehler
Schwierigkeitsgrad: Anfänger
Modell: TI-84 Plus

Diese für den Grafiktaschenrechner von Texas Instruments geschriebene Applikation stoppt die Zeit zwischen dem Drücken der ENTER-Taste und dem Drücken einer beliebigen Taste. Die seit dem Drücken der ENTER-Taste vergangene Zeit wird 27-mal pro Sekunde aktualisiert. Die Zeit wird in Stunden, Minuten und Sekunden angezeigt.

Erstellen des Programms Bearbeiten

Erstellen Sie ein Programm mit dem Namen STOP, indem Sie auf die Taste Prgm drücken. Anschließend wählen Sie NEW und geben nach Bestätigen mit ENTER den Namen des Programms (STOP) ein.

Benötigte Befehle Bearbeiten

  • ClrHome [I/O Position 8]
  • Pause [CTL Position 8]
  • Output( [I/O Position 6]
  • startTmr [2nd CATALOG "S"]
  • While [CTL Position 5]
  • getKey [I/O Position 7]
  • checkTmr( [2nd CATALOG "C"]
  • If [CTL Position 1]
  • Then [CTL Position 2]
  • Else [CTL Position 3]
  • End [CTL Position 7]
  • Disp [I/O Position 3]

Programmcode Bearbeiten

Dies ist der Programmcode für Taschenrechner, welche die Befehle "startTmr" und "checkTmr(" unterstützen (z.B. TI-84 Plus/ TI 84 Plus SE).

ClrHome
Pause "STARTEN"
Output(1,1,"STOPPUHR")
startTmr→A
1→X
0→C
0→K
1→M
While getKey=0
checkTmr(A)→B
If B≥X×60
Then
X+1→X
End
If B≥60
Then
(X-1)×60→C
Output(5,2," ") [zwischen Anführungszeichen ein Leerzeichen]
End
If B≥M×3600
Then
M+1→M
End
If B≥3600
Then
(M-1)×60→K
Output(4,2," ") [zwischen Anführungszeichen ein Leerzeichen]
End
If B≥3600
Then
Output(3,1,M-1)
Output(3,5,"STUNDEN")
End
If B≥60
Then
Output(4,1,X-1-K)
Output(4,5,"MINUTEN")
End
Output(5,1,B-C)
Output(5,5,"SEKUNDEN")
End
Disp "" [kein Leerzeichen zwischen Anführungszeichen]
Disp "" [kein Leerzeichen zwischen Anführungszeichen]
Disp "" [kein Leerzeichen zwischen Anführungszeichen]
"" [kein Leerzeichen zwischen Anführungszeichen]

Dies ist der Code ohne die Unterstützung der oben genannten Befehle (z. B. TI 83 Plus).

ClrHome
Pause "STARTEN"
Output(1,1,"STOPPUHR")
1→X
0→C
0→K
1→M
0→Y
1→A
0→B
While getKey=0
Y+1→Y
If Y=11×A
Then
A+1→A
B+1→B
End
If B≥X×60
Then
X+1→X
End
If B≥60
Then
(X-1)×60→C
Output(5,2," ") [zwischen Anführungszeichen ein Leerzeichen]
End
If B≥M×3600
Then
M+1→M
End
If B≥3600
Then
(M-1)×60→K
Output(4,2," ") [zwischen Anführungszeichen ein Leerzeichen]
End
If B≥3600
Then
Output(3,1,M-1)
Output(3,5,"STUNDEN")
End
If B≥60
Then
Output(4,1,X-1-K)
Output(4,5,"MINUTEN")
End
Output(5,1,B-C)
Output(5,5,"SEKUNDEN")
End
Disp "","","","" [kein Leerzeichen zwischen Anführungszeichen]

*