我正在尝试为TI-84编写一个基本程序,在2d平面上找到多边形区域。作为参考,我已经多次在python中写过这个,这就是它的作用:
GlobalFilters.Filters.Add(new MyCustom());
这只是常规数学中显示的非常基本的算法:http://www.mathopenref.com/coordpolygonarea.html
现在当我尝试在TI-Basic中编写相同的东西(使用TI Connect应用程序并发送到计算器)时,它会在对其中一个列表的第一次引用时返回语法错误; "检查输入的所有参数"。这条线被星号包围着。评论不在实际代码中
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
当通过将L1更改为list1字符而L2更改为list2字符来更改计算器上的代码时,它所做的只是返回值12.5 *顶点数-2。我的问题是:
答案 0 :(得分:0)
1st,使用ti-connect
中语法参考给出的列表变量第二,第二个for循环中的算法是错误的。
答案 1 :(得分:0)
使用2ND键输入列表变量。
要重置列表,有两种方法:在程序结束时放入DelVar L1
以删除变量(在PRGM菜单中找到DelVar
),或者,如果如果要保留变量但仍然删除内容,可以使用0→dim(L1)
将其大小设置为零来清除程序开头的列表(在“列表”菜单中找到dim(
)。最好让程序自行清理并在运行后删除不必要的变量。
您似乎已经自己想出了算法。
欢迎使用TI-BASIC!