Ich versuche, ein grundlegendes Programm für meinen TI-84 zu schreiben, das die Fläche von Polygonen auf einer 2d-Ebene findet. Als Referenz habe ich geschrieben dies oft Python, hier ist das, was sie tut:Wie hängen Sie Werte an Listen an und durchlaufen Listen?
x_list,y_list,verts,tot_1,tot_2=[],[],int(input("How many vertices are on the polygon: ")),0,0 //sets vars to defaults and gets num of vertices
for i in range(verts): //gets X and Y values of each point for num. of vertices
x_list.append(float(input("X value of point %s: " % str(i+1)))) //appends x value given to x list
y_list.append(float(input("Y value of point %s: " % str(i+1)))) //appends y value given to y list
for ind in range(verts-1):
tot_1 += (x_list[ind]*y_list[ind+1])-(y_list[ind]*x_list[ind+1])
print(str(abs((tot_1)/2))) //prints area: abs value of total over two
dies nur den sehr einfachen Algorithmus funktioniert auch hier in regelmäßiger Mathematik gezeigt: http://www.mathopenref.com/coordpolygonarea.html
jetzt, wenn ich versuche zu schreiben Dasselbe gilt für TI-Basic (mit der TI Connect-Anwendung und dem Senden an den Taschenrechner). Bei der ersten Referenz auf eine der Listen wird ein Syntaxfehler zurückgegeben. "Überprüfen Sie alle eingegebenen Argumente". Die Linie ist in Sternchen umgeben. Kommentare sind in den eigentlichen Code nicht
ClrHome //clears screen
Prompt V //gets number of vertices
0→T //sets total to 0
Disp V //displays vertices, was used for testing
For(N,1,V,1) //runs code for number of vertices
Input "x val: ",X //gets latest x val
Input "y val: ",Y //gets latest y val
**X→L1(1+dim(L1))** //appends x to listand
Y→L2(1+dim(L2)) //y to list
End //end for
For(I,1,P,1)
T+((L1(I)*L2(I+1))-(L2(I)*L1(I+1))→T //adds up total
End
Disp abs(T/2)
wenn durch Änderung der L1 auf dem list1 Charakter und L2 zum list2 Zeichen auf dem Rechner Änderung des Codes, die alle den Wert 12.5 * Anzahl der Ecken-2 zurückgekommen war . Meine Fragen sind:
- Wie kann ich Listen im Code auf dem Computer darstellen? Wenn ich L1 in den Code schreibe, ist es nicht wirklich die eingebaute Listenvariable, die ich denke, und das verursacht den Syntaxfehler. Ich denke.
- Muss ich Listenvariablen zurücksetzen? Das erste Mal, als ich das getestet habe, funktionierten die 12.5 * Vertices-2, also hat es die Listenvariablen nur permanent auf diese gesetzt, und wenn es in späteren Läufen des Programms Dinge zur Liste hinzufügt, erreicht es nie diese Indizes?
- Ist der Code in irgendeiner Weise fehlerhaft, sodass er überhaupt nicht funktioniert? Ich bin völlig neu in TI-Basic.