2016-08-21 6 views
0

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:

  1. 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.
  2. 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?
  3. Ist der Code in irgendeiner Weise fehlerhaft, sodass er überhaupt nicht funktioniert? Ich bin völlig neu in TI-Basic.

Antwort

0

habe es, ich bin dumm.

1., die Listenvariablen auf der Syntax Referenz in bestimmten verwendeten

2. ti-Verbindung, geht der Algorithmus in der zweiten Schleife für falsch war.

0
  1. Mit der 2ND-Taste Listenvariablen eingeben.

  2. eine Liste zurückzustellen, gibt es zwei Möglichkeiten: in DelVar L1 am Ende Ihres Programms Legen Sie die Variable löschen (DelVar wird im PRGM-Menü), oder, wenn Sie die Variable behalten wollen, aber immer noch löschen Der Inhalt, Sie können die Liste am Anfang Ihres Programms löschen, indem Sie die Größe auf 0 setzen mit 0→dim(L1) (dim( ist im Menü LIST gefunden). Es ist auch eine gute Übung, das Programm nach sich selbst aufzuräumen und unnötige Variablen nach dem Ausführen zu löschen.

  3. Sie scheinen den Algorithmus selbst herausgefunden zu haben.

Willkommen bei TI-BASIC!

Verwandte Themen