程序工作区的使用.doc_第1页
程序工作区的使用.doc_第2页
程序工作区的使用.doc_第3页
程序工作区的使用.doc_第4页
程序工作区的使用.doc_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“ 程序”工作区的使用 - 269 -第十章 “程序”工作区的使用如果你精通程序设计或接触过程序设计,想要使用工作区中的“程序”选项卡,那就不用吹灰之力;可也许你根本就没接触过程序设计,那也不用担心,因为现在我们就可以开始学习如何使用该选项卡,轻轻松松地你就会发现其实也可以“设计程序”的。不过无论你是否有程序设计的经验,通过这里的学习你总会有些收获的,只是你的目的可能不同。首先来认识一下“程序”选项卡,打开超级画板,然后单击工作区最下一行的“程序”;如图6-1,工作区的状态就是处于“程序”选项,一个空白的工作状态就由你去发挥,我们所要进行的“程序设计”就是在这里完成。大概你也发现,当鼠标在该选项卡的编辑框中单击(即在工作区空白处)时,在作图区左上角会出现一个圆角矩形,所有的输入及输出在这个圆角矩形中都将有显示,其实基本上就是工作区中的输入及输出,只不过字体的大小不同而已,当然这样还可以给你方便的观察。图6-1 “程序”选项卡超级画板程序编写中的几个基本规定:(1)在每个语句最后都必需加以英文逗号“;”,用来标示该语句结束;计算机就是把上一语句的结束到最近的“;”之间看作为一个语句,因此逗号“;”是每个语句所必须的,而且它规定写在语句的结束;(2)以“”开头,且以“#”结尾的是上一语句、分程序或函数经计算机计算后的返回值,用户不能对之进行编辑;(3)需要执行某个语句、分程序或函数,在语句、分程序或函数实体最后按“Ctrl+Enter”或按数字键盘的“Enter”键。(4)分程序或函数的返回值(即结果)将是该分程序或函数最后一次所计算所得的值。一、运算符图6-2 一个简单语句图6-3 语句结果如图6-2,就是一个简单的超级画板程序,当然其实它就只是一个语句而已,图6-3便是该语句执行(按“Ctrl+Enter”或小“Enter”键)后的结果,以及在作图区中的显示结果。很明显其作用就是用来计算表达式“2+33-2*4”(即)的值,其中“;”是用来标示该结束;而“”就是表示指数,是一个运算符,除此之外,超级画板中还有下列各种运算符:算术运算符+-*/加减 / 负乘除幂关系运算符=!=Cos (x)”的关系运算结果为1(即为真)。(3)逻辑运算符是用于进行逻辑值运算的操作符;我们知道逻辑值有且只有两个:真(True)与假(False),如果用数字来表示就是非0实数(表示True,一般地,选择数字1)与0(表示False)。逻辑与“&”,通俗地说就类似于算术运算符中的“*”,当且仅当左、右两数或表达式为True时,运算结果才为1(即True),否则运算结果为0(即False);逻辑或“|”,类似地就有点象算术运算符中的“+”,当且仅当左、右两数或表达式为0(即False)时,运算结果才为0(即False),否则运算结果为1(即True),不过这里可没有进位的概念;逻辑非“!”,这好象集合中的取反,逻辑值只有两个,所以“真”(1)的反就“假”(0),“假”的反就是“真”(1)。因此有下表的运算关系:逻辑与“&”1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0逻辑或“|”1 | 1 = 11 | 0 = 10 | 1 = 10 | 0 = 0逻辑非“!”! 1 = 0! 0 = 1注:上面各式“=”左边表达式中的“1”可以换成任何非0数字,当然右边的值式不会变的,要么是0,要么就是1。 (4)赋值运算符“=”,这可不是我们通常用作等号意思。所谓赋值就是一个值或表达式赋给另一个量;这个“量”就是程序设计当中相对常量而言的另一个基本重要的量,程序变量,简称变量。正是在程序中使用了变量,才模拟了数据的运动与变化,使得解题过程能有问题空间状态迈向解空间状态,因此学会正确使用变量被称为程序设计的“第一课”。不过不用害怕,只是要学会用的话并不难。两个简单的赋值:“x = 2”,这样在以后的计算过程中只要遇到“x”,计算机都将会用值2来代替,直到你再次改变它;“val = sin(t) + cos(t)”,赋值以后“val”将是“sin(t) + cos(t)”的代表,当然如果你喜欢把“val”代表“sin(t)*cos(t)”的话,那只要你对“val”再进行赋值“val = sin(x)*cos(x)”就可以了。图6-4,为上述各语句的结果。图6-4 各语句结果从上面知道,变量的值是可以改变的,也就是说可以对变量进行多次赋值,但变量的值将是你最后一次对它所赋的值;这就是变量的优点:需要的时候就可以改变;语句“i = i + 1;” 为典型的变数再赋值语句。变量可以分为:局部变数和全局变量。这两种变量用法是相同的,只是所用在地方是不同的,因此其用处也就跟着有不同了。局部变量,一般是用在函数体中的变量,它只在该函数体中起作用,一旦退出该函数它的值将会有所变化:若在此之前该变量已经被赋值,那么它的值将是在该函数中最后所赋的值;若在此之前该变量没有被赋值,那么它将继续没有任何值,与没有进行过的变量是一样的。全局变量,相对来说就是不在函数体中的变量,一般用在块语句,单个赋值语句当中,它的值将在整页面(该文檔中的该页)中的程序中起作用;当然如果它在某个函数中被再定义赋值的话,它的值同样是会被改变的,就像是被再赋值一样。为了更清楚些明白这种变数的不同,看看如图6-5的程序:图6-5 变数但不管是局部变量还是全局变量,在使用时都需要注意以下几点:1、在超级画板中变量的名称的长度是不能超过4个字符的,若超过4个字符计算机将把第4个字符后的所有字符忽略掉;2、在变量名称中第一个字符必需是英文字符。3、在变量名称中不可以包含任何标点符号,不过下划线“_”除外;因此变量的名称只能含有英文字母、数字或下划线“_”, 例如temp、temp1、temp2、temp_1、a等都是合法的变量名称,而1temp、a*1、a!、?temp等都是非法的变量名称。4、给变量取名字的时候,一般地,这个名称应该含有一定的意义,这样会方便你将来阅读你自己的程序。5、变数的名字是有大小写之分,如Temp与temp是不同的两个变数。正和我们平时进行算术运算一样,在超级画板中各种运算符之间同样也有优先级别,也就是说在相邻的两种运算符中,应先执行哪一种。超级画板中的各种运算符的优先级别如下表:优先级运算符结合性高 低单目算术运算符: -(负)双目算术运算符* /+ -(减)关系运算符 = !=逻辑运算符&|赋值:=注:1、+(加)、-(减)、*(乘)、/(除)等运算时要求两个操作数,这类运算符称为双目(二元)运算符;而-(负)只要求一个操作数,这类运算符成为单目(一元)运算符;2、所谓“结合性”就是两个同优先级的运算相邻时,应按从左到右的顺序运算,还是按从右到左的顺序运算;例如表达式“2+33-2*4”的运算顺序就是从左到右;而赋值表达式“a = 4”的顺序运算从右到左,即:a 4;一般地,单目算术运算符是从右到左结合的,而双目算术运算符是从左到右的;3、一般地,单目算术运算符的优先级别高于双目算术运算符是从左到右的优先级别。4、每个表达式都产生一个单一的值。当运算对象的类型相同时,运算结果的类型也相同;当运算对象的类型不相同时,要按一定的规则进行运算对象类型的转换。二、语句语句简单地说就是操作指令。在超级画板中有下面几种语句:1、表达式语句在一个表达式后加一个分号。例如我们前面说过的“2+33-2*4;”就是一个表达式语句。2、声明语句在超级画板中只有声明变量一种声明语句,这和其它编程语言是不同的。3、空语句只有一个分号的语句就构成一个空语句,一般来说空语句没有任何实际作用;主要出现在语法上要求必需有一条语句但没有任何实际操作的场合。4、块语句块语句也可称为复合语句、分程序;块语句它有若干条表达式语句、声明语句、空语句组成,必须要用一对花括号“”括起来,而且在花括号外不再需要写分号“;”。5、流程控制语句一般地,程序中的各个语句的执行顺序是按书写顺序,而流程控制语句可以改变这种执行顺序,使得程序中的语句的执行顺序多样化。按其呈现的控制结构分为:顺序语句、条件语句、循环语句。顺序、条件、循环并称为算法的三种基本流程控制结构,而算法是一个好程序所必需着中考虑的因素。6、注释语句在某一行“/”后的表达式、语句、符号等等任何程序都将被计算机忽略,相当于不存在,它不参加任何计算;其作用是对程序加以说明,使得程序容易读懂,它可以出现在程序的任何位置中。如下图为注释语句的用法:2.1 if else 条件语句1、if else的基本结构if else的基本结构形式如下:if (判断表达式) 判断表达式为True(非0)#“真”语句; else 判断表达式为False(0)#“假”语句;功能:进入该结构,首先测试if后的“判断表达式”,当该表达式的测试结果为“真”(即判断表达式结果不为0,True)时,则执行if语句:“真”语句,而else语句是不会执行的;若测试结果为“假”(即判断表达式结果为0,False)时,则执行else语句:“假”语句,而if语句是不会执行的;所以if else语句计算机会且仅会执行其中的某个。在“真”语句或“假”语句所处的一对括号中,你可以写多条语句,这就是我们前面讲过的块语句。例1,如图6-6:图6-6 例1分析:3显然是大于2,所以“3=2”的测试结果为真(True),所以计算机执行if语句,对val进行赋值32,而else语句被忽略而不执行,str在该条件语句执行结束后没有任何赋值;因此语句“str;”的结果(即返回值)为其本身,而“val;”语句的返回值为32。该if else条件语句的返回值为32是因为该条件语句最后一次的计算是对val进行赋值,因此返回的值为32。2、if else结构嵌套所谓结构嵌套是指一个结构中含有另一个同样的结构。if else同样可以进行结构嵌套。例2,实现功能:。程序如图6-7:图6-7 例2图6-8 不同的例2分析:首先给x 赋值为10,因为109,所以该条件语句执行了第一个if 语句里的else语句,最后x重新赋值为9;而其它语句在该条件下(x=10)不执行。如图6-8,同样符合本例的要求,当然也许你写的与这两种不同,但只要可以达到目的就可以。程序设计就是这样多样化,同样的内容可以有多种实现方法,但一般来说好的程序需要一种好的实现方法,也就是人们常说的算法。3、if 结构其实在if else结构中,else语句部分是可以省略的;其格式如下:if (判断表达式) 判断表达式为True(非0)#“真”语句; 判断表达式为False(0)时不执行其它语句#例3,实现功能:取x、y中较大的那个数。程序如图6-9:图6-10 不同的例3图6-9 例3分析:注意该例中块语句(最外一对化括号之间的语句)的返回值为0,这是因为该块语句最后一次进行计算的表达式为“x 循环体 #功能:进入该结构时,首先对控制表达式进行计算,若该控制表达式的测试结果不为0,即结果为“真”、True,则执行循环体里的语句;若控制表达式的测试结果不为0,即结果为“假”、False,则结束该循环语句,跳过while结构。每次执行完一次循环体都要再对表达式计算一次,以决定是进行该循环结构还是跳过该while结构。例4,实现功能 (从1一直加到500的值)。程序如图6-11:图6-11 例4分析:(1)首先执行两个赋值运算:i 是循环变量,而sum是用来记录从1到i相加的和。(2)进入while循环结构,因i开始赋值为1,所以首先计算控制表达式“i = 500”的值为“真”(非0),则进入循环体:“sum = sum + i;”,是一个赋值语句,把(sum + i)计算所得的值仍然赋给变量sum(变量可以进行多次赋值),由于sum初值为0,这样sum的值就为1了;接着执行语句“i = i + 1;”,同样一个赋值语句,执行完后i值则2。(3)循环体执行完后又对控制表达式“i = 500”进行计算,此时i的值为2,所以“i = 500”的值仍然为“真”(非0),这样又进入循环体,重复第(2)步操作直到i的值为501(此时sum的值为125250)时,控制表达式“i 循环体 #功能:(1)进入该结构后,先进行各项表达式初始化,而且这些表达式仅初始化一次。(2)然后进行控制表达式的计算,若该控制表达式的测试结果不为0,即结果为“真”、True,则执行循环体里的语句,接着进行上述各项表达式的重新初始化,然后再计算控制表达式的值,以决定是进行该循环结构还是跳过该循环结构。若控制表达式的测试结果为0,即结果为“假”、False,则结束该循环语句,进行该for语句后面的语句计算。若把for 语句中的“初始化表达式1,初始化表达式2,”称为初始化表达式,而“重新初始化表达式1,出现初始化表达式2,”称为修正表达式,那么for语句可以用图6-12来表示起循环控制的原理:循环体“真”“假”for (初始化表达式; 控制表达式; 修正表达式)图6-12 for语句的控制原理例5,用for语句实现例4功能()。程序如图6-13:图6-13 例5 分析:该循环类似于while循环,当然很明显for循环要比while循环要紧凑而清晰,只是在运用for循环结构是时候,一定要注意是先执行循环体,然后再执行修正表达式。其实对于for循环结构来说,for后的三个表达式语句只是语法上的要求,只要其后有且仅三个语句就可以,不管其内容为何,当然就可以是空语句了。因此上例可以写成下面几种形式:sum = 0, i = 1;for( ; i = 500 ; ) sum = sum + i;i = i + 1; 或:for (sum = 0, i = 1; i = 500; sum = sum + i, i = i + 1);或:sum = 0, i = 1;for( ; ; )if ( i 500时,执行语句“return sum;”,它可以用来强行跳出任何循环语句,而且可以是多重循环嵌套,因此同样也达到了相同的目的;语句“return sum;”可以换成语句“break;”,作用相同,一样可以跳出任何循环语句,不同是语句“return sum;”将会把sum的值作为该程序的返回值,而语句“break;”却把最近一次的计算结果当作该程序的返回值,即i的值。在超级画板中,如果你确认是因为死循环而导致死机或机器没响应等现象时,你可以通过按“Ctrl + C”组合键来强行中断正在运行的程序。例6,搬砖问题:36块砖,36人搬,男搬4、女搬3、2小孩抬1砖,要求一次搬完,给出一组各需男、女、小孩的数目。设男、女、小孩数各为m、w、c,依题意则有:4*m + 3 * w + c/2 = 36m + w + c = 36两个不定方程,但是很显然,m、w、c必需满足下列条件:0 m 80 w 120 c 1,函数返回n*fact(n-1)。fact(n-1)是函数自己的调用,因此求fact(n-1)的值,又要进行fact(n-2)的计算,这样一直循环到n=1时,函数返回1,而不再进行下去;然后在回过头来将fact(1)乘以2求出fact(2),再求出fact(3) = 3*fact(2),这样一次一次往上乘,直到计算出n*fact(n-1),程序结束得到fact(n)的值。递归过程不应无限制地进行下去,在有限次调用后,就达到递归调用的终点得到一个已知的值(如上例中的fact(1) = 1),然后回代。递归是一种非常有用的程序设计技术,当一个问题蕴涵递归形式且关系比较复杂时,采用递归算法往往简洁明了,容易理解。在数学中有一个重要的分支学科分形,就是一个非常典型的递归例子。下面就是通过本系统超级画板使用递归算法作出的图形,程序中的各函数可参见后面的库函数介绍;下面的两例中所涉及的背景可参见有关分形方面的书籍。例1树/ 程序代码Tree(p1, p2, n, max)L = Segment(p1, p2);n = n + 1;if (n max) return max;Hide(L);p3 = DivisionPoint(p1, p2, 1/2);p4 = DivisionPoint(p1, p2, 2);p5 = PointFlexRotate(p4,p3,1,60);p6 = PointFlexRotate(p2,p4,1,-60);Hide(p1, p2, p3, p4, p5, p6);i = n, j = n, k = n, u = n, v = n;Tree(p1, p3, i, max);n = i;Tree(p3, p5, j, max);n = j;Tree(p3, p4, k, max);n = k;Tree(p4, p6, u, max);n = u;Tree(p4, p2, v, max);n = v; Tree(p1, p2, n, max)覆盖先前定义的函数 # Tree(p1, p2, n, max) # Tree(p1, p2, n, max) #n = 0;p1 = Point(0, -6);p2 = Point(0, 6);图6-21 分形树Tree (p1, p2, n, 4); 5 #/ 图形如图6-21例2龙曲线/ 程序代码dragon(p1, p2, n, max)L = Segment(p1, p2);n = n + 1;if (n max) return max;p3 = PointFlexRotate(p2, p1,2(1/2)/2,45);Hide(p1, p2, p3, L);k = n, m = n;dragon(p2, p3, m, max);n = m;dragon(p1, p3, k, max);n = k; dragon(p1, p2, n, max) #n = 0;p1 = Point(1, -4);p2 = Point(1 , 4);dragon(p1, p2, n, 10); 11 #/ 图形如图6-22图6-21 分形树四、库函数在超级画板中,库函数包括:标准数学函数、一般运算函数、三角等式化简函数、图形函数及其它系统函数等五种。4.1、标准数学函数标准数学函数包括下列函数:函数名称格式备注1sin正弦sin (a)2cos余弦cos(a)3tg / tan正切tg(a) / tan(a)4ctg / cot余切ctg(a) / cot(a)5sec正割sec(a)6csc余割csc(a)7arcsin反正弦arcsin(a)8arccos反余弦arccos(a)9arctg / arctan反正切arctg(a) / arccot(a)10arcctg / arccot反余切arcctg(a)11abs绝对值abs(a)12lg常用对数lg(a)13ln自然对数ln(a)14floor取整floor(a),即值为比a小的最大整数15ceiling取整ceiling(a)比a大的最小整数16Mod取模Mod(a, b)Mod(a, b)的值为a整除b的余数,如Mod(9, 2) = 117log对数log(a, b)18pow指数pow(a, b)19sign符号函数sign(a, b)注:(1)上述函数的参数a或b为实数或数学表达式,有“/”表示该函数可有多种形式(2)所有函数的函数名都区分大小写4.2、一般运算函数在这类函数中:Expr表示一个代数表达式,n为整数,Poly为多项式,x为多项式或代数表达式中的变量(字母)。pow(Expr, n)返回值:代数表达式作用:对表达式Expr进行n次乘方例:Pow( x2+1, 2); (x2 + 1)2 #Sqrt(Expr, n)返回值:代数表达式作用:对表达式Expr开n次方例:Sqrt(x2 + 1)2, 2); | x2+1 | #Factor(Expr)返回值:代数表达式作用:对表达式Expr进行因式分解,结果为乘积形式例:Factor( x4 + 2*x2 +1); (x2 + 1)2 #Expand(Expr)返回值:代数表达式作用:展开表达式Expr,结果为多项式的形式例:Expand( (x2 + 1)2 ); x4 + 2*x2 +1 #Degree(Poly, x)返回值:实数作用:计算出多项式Poly中x的最高指数例:Degree( x4 + 2*x2 + 1 ); 4 #Coeff(Poly, x , n)返回值:代数式作用:计算出多项式Poly中x的次数为n项的系数例:Coeff( x4 + 2*x2 + 1, x , 2 ); 2 #Subst(Expr, x, Expr1)返回值:代数式作用:把表达式Expr中的变数x 用表达式Expr1来代替例:Subst(x4 + 2*x2 +1, x , y+1); y4+4*y3+8*y2+8*y+4 #ReducGcd( )返回值:0作用:以后运算时分之和分母约分,直到下次改变分之和分母的状态例:ReducGcd(); 0 #sin(x)*cos(x) / sin(x); cos(x) #NoReducGcd( )返回值:0作用:以后运算时分之和分母不约分,直到下次改变分之和分母的状态例:NoReducGcd(); 0 #sin(x)*cos(x) / sin(x); (sin(x)*coss(x) / (cos(x) #注:运算时分之和分母约分或不约分的状态可以随时通过ReducGcd( )与NoReducGcd( )两函数来改变,但系统默认状态(即原始状态)为运算时分之和分母约分。DeleteAbs(Expr, nSign, abs )返回值:代数式作用:去掉表达式Expr中的绝对值abs;nSign为 + 或 -(正或负)为指定去绝对值时所取的符号;abs意思是多个绝对值表达式,以逗号“,”分开,当然你可以只写一个,即指定要去绝对值的表达式。例:DeleteAbs(abs(x+1)+abs(y+2)+abs(x), -, x+1, x); -2*x+abs(y+2)-1 #DeleteGcd(Expr)返回值:代数式作用:约去分子和分母的公因子。也许你在上面的用了函数NoReducGcd(),那么你所得计算结果都将不会化简,但使用该函数可以强行分子与分母约分成最简化。例:NoReducGcd(); 0 #expr = sin(x)*cos(x)/sin(x); (sin(x)*cos(x)/(sin(x) #DeleteGcd(expr); cos(x) #Timer( )返回值:整数作用:返回的整数为从1980年01月01日00:00时到当前时刻的秒数例:Timer(); 1017287872 #t1 = Timer( );1234567890;t2 = Timer( );t = t2 -t1; 1 #注:上块语句表明计算机计算1234567890所花的时间为1秒。Factorial( n )返回值:整数作用:计算n的阶层例:Factorial( 10 ); 3628800 #4.3、三角等式化简函数在下列函数中,nTf表示三角函数表达式,a、b 是角;角a、b用来表明该函数只对角a、b进行化简,即指明所需要进行化简的对象。如:SinToCos(sin2(x) + sin2(y) + sin2(z), x, y),则该函数只对那些含有角x, y的正弦(即对sin2(x)及sin2(y))进行同角三角函数的转化,而sin2(z)是不进行化简的;如果是角为2*x,4*a等形式时,则指定角时要以同样的形式2*x,4*a,而不是x,a的形式。要下列函数对你的三角函数表达式起作用,则表达式中对应的三角函数一定要完全符合该函数的条件。SinToCos(nTf, a, b )是用1 cos2(a)来替换sin2(a),因此在表达式nTf中只对次数大于2的正弦(即sinn(x),n=2)进行化简,而sin(x)不进行化简。如“SinToCos(sin3(x) + sin(x), x)”的结果为 “-sin(x)*cos2(x)+2*sin(x) ”。SystemIni( )返回值:0作用:取消所有三角函数的值和角的范围计算过程中我们可以对三角函数进行赋值,以及设置角的范围,因此通过该函数就可以取消这些约束,从而使得其为初始值。例:SetTfValue(sin(x), 1/2); / sin(x) = 1/2, 设置三角函数的值 (1)/(2) #TfEvaluate( sin2(x) ); /三角函数求值 (1)/(4) #SystemIni(); 0 #TfEvaluate( sin2(x) ); 函数TfEvaluate求值不能成功 #注:上例部分函数可参见后面解释。ReasoningNum()返回值:0作用:三角函数的化简仅对分子,分母不进行化简例:ReasoningNum(); 0 #SinToCos(sin2(x)+cos(x)/sin2(x), x); (-cos2(x)+cos(x)+1)/(sin2(x) #ReasoningDen()返回值:0作用:三角函数的化简仅对分母,分子不进行化简例:ReasoningDen(); 0 #SinToCos(sin2(x)+cos(x) / sin2(x), x); (sin2(x)+cos(x) / (-cos2(x)+1) #ReasoningAll()返回值:0作用:三角函数的化简对分子和分母例:ReasoningAll(); 0 #SinToCos(sin2(x)+cos(x) / sin2(x), x); (-cos2(x)+cos(x)+1)/(-cos2(x)+1) #SetAngleRange(sRange)返回值:0作用:设置角的范围。sRange为一个不等式,如:0 a 90。例:SetAngleRange(0a 0 #同角三角函数之间的关系ConstToSinCos(nTf , a)返回值:三角函数表达式作用:n = n*(sin2(a) + cos2(x)例:ConstToSinCos(2, x); -sin(x)*cos2(x)+sin(x)+cos(x) #SinToCos(nTf , a, b )返回值:三角函数表达式作用:sin2 (a) = 1 cos2 (a)例:SinToCos(sin3 (x) + sin(x), x); -sin(x)*cos2(x)+sin(x)+cos(x) #CosToSin(nTf , a, b )返回值:三角函数表达式作用:cos2 (a) = 1 sin2 (a)例:CosToSin(cos4(x) + cos(x) + cos2(y), x); sin4(x)-2*sin2(x)+cos(x)+cos2(y)+1 #CotToTan(nTf , a, b )返回值:三角函数表达式作用:cot(a) = 1/tan(a)例:CotToTan(cot(x)+cot2(x), x); (tan(x)+1)/(tan2(x) #TanToCot(nTf , a, b )返回值:三角函数表达式作用:tan(a) = 1/cot(a)例:TanToCot(tan(x)+tan2(x), x); (cot(x)+1)/(cot2(x) #SecToCos(nTf , a, b )返回值:三角函数表达式作用:sec(a) = 1/cos(a)例:SecToCos(sec(x)+sec2(x), x); (cos(x)+1)/(cos2(x) #CscToSin(nTf , a, b )返回值:三角函数表达式作用:csc(a) = 1/sin(a)例:CscToSin(csc(x)+csc2(x), x); (sin(x)+1)/(sin2(x) #TanToCosSin(nTf , a, b )返回值:三角函数表达式作用:tan(a) = sin(a)/cos(a)例:TanToCosSin(tan(x)+tan2(x), x); (sin2(x)+sin(x)*cos(x)/(cos2(x) #CotToCosSin(nTf , a, b )返回值:三角函数表达式作用:cot(a) = cos(a)/sin(a)例:CotToCosSin(cot(x)+cot2(x), x); (sin(x)*cos(x)+cos2(x)/(sin2(x) #SinToCosTan(nTf , a, b )返回值:三角函数表达式作用:sin(a) = cos(a)*tan(a)例:SinToCosTan(sin(x)+sin2(x), x); cos2(x)*tan2(x)+cos(x)*tan(x) #CosToSinCot(nTf , a, b )返回值:三角函数表达式作用:cos(a) = sin(a)*cot(a)例:CosToSinCot(cos(x)+cos2(x), x); sin2(x)*cot2(x)+sin(x)*cot(x) #SecToTan(nTf , a, b )返回值:三角函数表达式作用:sec2(a) = 1 + tan2(a)例:SecToTan(sec(x)+sec2(x),x); tan2(x)+sec(x)+1 #TanToSec(nTf , a, b )返回值:三角函数表达式作用:tan2(a) = sec2(a) - 1例:TanToSec(tan(x)+tan2(x),x); tan(x)+sec2(x)-1 #CscToCot(nTf , a, b )返回值:三角函数表达式作用:csc(a) = 1 + cot2(a)例:CscToCot(csc(x)+csc2(x),x); cot2(x)+csc(x)+1 #CotToCsc(nTf , a, b )返回值:三角函数表达式作用:cot2(a) = csc(a) - 1例:CotToCsc(cot(x)+cot2(x),x); cot(x)+csc2(x)-1 #SinToCosCot(nTf , a, b )返回值:三角函数表达式作用:sin(a) = cos(a)/cot(a)例:SinToCosCot(sin(x)+sin2(x),x); (cos2(x)+cos(x)*cot(x)/(cot2(x) #CosToSinTan(nTf , a, b )返回值:三角函数表达式作用:cos(a) = sin(a)/tan(a)例:CosToSinTan(cos(x)+cos2(x),x); (sin2(x)+sin(x)*tan(x)/(tan2(x) #SinToCsc(nTf , a, b )返回值:三角函数表达式作用:sin (a) = 1/csc(a)例:SinToCsc(sin(x)+sin2(x),x); (csc(x)+1)/(csc2(x) #CosToSec(nTf , a, b )返回值:三角函数表达式作用:cos(a) = 1/sec(a)例:CosToSec(cos(x)+cos2(x),x); (sec(x)+1)/(sec2(x) #降序公式CosTo2Cos(nTf , a, b )返回值:三角函数表达式作用:cos2 (a) = (1 + cos(2*a)/2例:CosTo2Cos(cos(x)+cos2(x), x); (2*cos(x)+cos(2*x)+1)/(2) #SinTo2Cos(nTf , a, b )返回值:三角函数表达式作用:sin2 (a) = (1 - cos(2*a)/2例:SinTo2Cos(sin(x)+sin2(x), x); (-cos(2*x)+2*sin(x)+1)/(2) #SinCosTo2Sin(nTf , a, b )返回值:三角函数表达式作用:sin(a)*cos(x) = sin(2*a)/2例:SinCosTo2Sin(2*cos(x)*sin(x),x); sin(2*x) #CosTo3Cos(nTf , a, b )返回值:三角函数表达式作用:cos3(a) = (3*cos(a) + cos(3*a)/4例:CosTo3Cos(4*cos3(x) - 3*cos(x), x); cos(3*x) #SinTo3Sin(nTf , a, b )返回值:三角函数表达式作用:sin3(a) = (3*sin(a) sin(3*a)/4例:SinTo3Sin(4*sin3(x) - 3*sin(x), x); -sin(3*x) #倍角公式Sin2ToSinCos(nTf , a, b )返回值:三角函数表达式作用:sin(2*a) = 2*sin(a)*cos(a)例:Sin2ToSinCos(sin(2*x),2* x) 2*sin(x)*cos(x) #Cos2ToCosSin(nTf , a, b )返回值:三角函数表达式作用:cos(2*a) = cos2(a) sin2(a)例:Cos2ToCosSin(cos(x), x); -sin2(x)/(2)+cos2(x)/(2) #C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论