10-第十章-ILOG脚本.ppt
《10-第十章-ILOG脚本.ppt》由会员分享,可在线阅读,更多相关《10-第十章-ILOG脚本.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲人:雒兴刚东北大学系统工程研究所Email: Tel:83682292优化软件与应用优化软件与应用第十章 ILOG脚本ILOG 脚本:基本语法结构 1、大括号表示复合语句,如、大括号表示复合语句,如if(ab)varc=a;a=b;b=c2、注释与、注释与C语言相同;语言相同;3、代码支持的常量:、代码支持的常量:Numbers,forexample:1214.51.7e-100Strings,forexample,FordHelloworldnBooleans,eithertrueorfalseThenullvalue:null.4、支持的运算符见下页;、支持的运算符见下页;第十章 IL
2、OG脚本CategoryOperatorsSequence,Assignment=+=-=*=/=%=&=|=Conditional?:Logical-or|Logical-and&Bitwise-or|Bitwise-xorBitwise-and&Equality=!=Relational =Bitwiseshift Addition,subtraction+-Multiply,divide*/%Negation,increment,typeof!-+-typeofCall()NewnewProperty.第十章 ILOG脚本SyntaxShorthandfor+XX=X+1X+Sameas
3、+X,butreturnstheinitialvalueofXinsteadofitsnewvalue.-XX=X-1X-Sameas-X,butreturnstheinitialvalueofXinsteadofitsnewvalue.X+=YX=X+YX-=YX=X-YX*=YX=X*YX/=YX=X/YX%=YX=X%YX=YX=X=YX=X YX=YX=X YX&=YX=X&YX=YX=X YX|=YX=X|Y快捷运算符快捷运算符第十章 ILOG脚本ILOG 脚本的基本语法结构 5、存取属性、存取属性格式格式1:value.name,如,如str.length;getCar().nam
4、e;格式格式2:valuename,如,如strlength;/Sameasstr.lengthgetCar()getPropertyName();myArray10;myArrayi+1;6、函数调用:、函数调用:可带参数可带参数parseInt(field)writeln(Hello,name);doAction();str.substring(start,start+length);第十章 ILOG脚本ILOG 脚本的基本语法结构 7、特殊关键字、特殊关键字this:当前对象,同:当前对象,同C语法;语法;arguments:实参数组;例如:实参数组;例如functionsum()var
5、res=0;for(vari=0;iarguments.length;i+)res=res+argumentsi;returnres;调用调用sum(1,3,5)返回返回9.第十章 ILOG脚本ILOG 脚本的基本语法结构 8、特殊操作符、特殊操作符new、delete、typeof:用法同:用法同Cexpression1,expression2:顺序执行:顺序执行expression1和和expression2,例,例for(vari=0,j=0;i10;i+,j+=2)writeln(j,istwiceasbigas,i);第十章 ILOG脚本ILOG 脚本的控制语句 1、条件语句条件语句
6、语法:语法:if(expression)statement1elsestatement2if(a=b)writeln(Theyareequal);elsewriteln(Theyarenotequal);if(s.indexOf(a)0)write(Thestring,s);writeln(doesntcontainsthelettera);2、循环语句循环语句while语句:语句:while(expression)statementwhile(a*ab)a=a+1;第十章 ILOG脚本ILOG 脚本的控制语句 For语句语句:for(initialize;condition;update)s
7、tatementfor(vari=0;i,vp);第十章 ILOG脚本ILOG 脚本的控制语句 break语句:语句:while(ia.length)if(ai=foo)foundFoo=true;break;i=i+1;continue语句:语句:for(vari=0;ia.length;i+)if(ai0)continue;writeln(Apositivenumber:,ai);第十章 ILOG脚本ILOG 脚本的控制语句 3、变量定义语句、变量定义语句语法:语法:vardecl1,.,declnvarx;varname=Joe;varaverage=(a+b)/2,sum,messag
8、e=Hello;在函数体内定义的变量是在函数体内定义的变量是局部变量局部变量,在外部定义的是,在外部定义的是全局变量全局变量;varcount=0;functionNextNumber()vari,j=0;count=count+1;returncount;第十章 ILOG脚本ILOG 脚本的控制语句 4、函数定义语句、函数定义语句语法:语法:staticfunctionname(v1,.,vn)statementsreturnexpression;比较特别的是,这里的形式参数和实际参数数量(例如表示为比较特别的是,这里的形式参数和实际参数数量(例如表示为m和和n)可可不等不等。如果前者多,则
9、前。如果前者多,则前n个按照实际参数初始化,后个按照实际参数初始化,后mn个为未初始化个为未初始化状态;如果后者多,则只有前状态;如果后者多,则只有前m个实际参数有效。函数里个实际参数有效。函数里可以没有可以没有return,这种情况下返回一个初始化的不确定值。,这种情况下返回一个初始化的不确定值。例如例如functionadd(a,b)returna+b;第十章 ILOG脚本ILOG 脚本的控制语句 5、块语句块语句语法:语法:with(expression)statement例如例如with(abc)writeln(Thelengthis,length);相当于输出相当于输出“abc”.l
10、ength第十章 ILOG脚本ILOG 脚本中的数字 1、n进制数字进制数字10进制进制数字:数字:153.144e100.255.25e-1016进制进制数字:数字:0 x前缀前缀0 x3ff0 x08进制进制数字:数字:0前缀前缀01230777第十章 ILOG脚本ILOG 脚本中的数字 2、特殊数字特殊数字NaN(Not-A-Number),例如,例如Math.sqrt(-1)NaNMath.sqrt(NaN)NaNNaN+3NaNNaN=NaNfalseNaN=3falseInfinity(positiveinfinity)和和-Infinity(negativeinfinity),例
11、如,例如1/0Infinity-1/0-Infinity1/Infinity0Infinity=Infinitytrue第十章 ILOG脚本ILOG 脚本中的数字 3、数字转换数字转换脚本会在表达式中自动脚本会在表达式中自动转换数字,基本规则是转换数字,基本规则是字符串字符串转换成数字转换成数字。如果不是一个数字则为。如果不是一个数字则为NaN.true转换成转换成1,false转换成转换成0.null转换成转换成0.日期转换成毫秒(从日期转换成毫秒(从00:00:00UTC,January1,1970开始)开始)例如,可以这么写例如,可以这么写math.sqrt(“25”)结果是结果是53*
12、4结果是结果是12有些操作符(如)可以对字符串和数字操作,那么有些操作符(如)可以对字符串和数字操作,那么只要有一个元素是字只要有一个元素是字符就转换成字符符就转换成字符;如果;如果没有字符,就转换成数字没有字符,就转换成数字。如。如“3”+true结果是结果是3true3+true结果是结果是4第十章 ILOG脚本ILOG 脚本中的数字 对于比较操作符(如对于比较操作符(如=、=),),只要有一个元素是数字就转换成数字只要有一个元素是数字就转换成数字;如果没有数字,就按照如果没有数字,就按照字符比较字符比较。如。如“10”“2”结果是结果是false102结果是结果是true反之,反之,如果
13、将数字转换成字符,需要一个函数如果将数字转换成字符,需要一个函数,格式为,格式为number.toString()例如例如(14.3e2).toString()结果是结果是1430第十章 ILOG脚本ILOG 脚本中的数字 4、数字函数:见表、数字函数:见表SyntaxEffectMath.abs(x)Returnstheabsolutevalueofx.Math.max(x,y)Math.min(x,y)Math.max(x,y)returnsthelargerofxandy,andMath.min(x,y)returnsthesmallerofthetwo.Math.random()Ret
14、urnsapseudo-randomnumberbetween0,inclusive,and1,exclusive.Math.ceil(x)Math.floor(x)Math.round(x)Math.ceil(x)returnsthesmallestintegervaluegreaterthanorequaltox.Math.floor(x)returnsthegreatestintegervaluelessthanorequaltox.Math.round(x)returnsthenearestintegervaluetox.Math.sqrt(x)Returnsthesquareroot
15、ofx.Math.sin(x)Math.cos(x)Math.tan(x)Math.asin(x)Math.acos(x)Math.atan(x)Math.atan2(y,x)Math.sin(x),Math.cos(x)andMath.tan(x)returnthetrigonometricfunctionssine,cosineandtangentrespectivelyofaradianargument.Math.asin(x)returnsthearcsineofxintherange-pi/2topi/2.Math.acos(x)returnsthearccosineofxinthe
16、range 0 topi.Math.atan(x)returnsthearctangentofxintherange-pi/2topi/2.Math.atan2(y,x)convertsrectangularcoordinates(x,y)topolarcoordinates(r,a)bycomputingaasanarctangentof y/x intherange-pi topi.Math.exp(x)Math.log(x)Math.pow(x,y)Math.exp(x)computestheexponentialfunction.Math.log(x)computesthenatura
17、llogarithmofx.Math.pow(x,y)computesxraisedtothepowery.第十章 ILOG脚本ILOG 脚本中的数字 5、数字常量:见表、数字常量:见表SyntaxValueNaNContainstheNaNvalue.InfinityContainstheInfinityvalue.Number.NaNSameasNaN.Number.MAX_VALUEThemaximumrepresentablenumber,approximately1.79E+308.Number.MIN_VALUEThesmallestrepresentablepositivenum
18、ber,approximately2.22E-308.Math.EEulersconstant,e,andthebaseofnaturallogarithms,approximately2.718.Math.LN10Thenaturallogarithmof10,approximately2.302.Math.LN2Thenaturallogarithmof2,approximately0.693.Math.LOG2EThebase2logarithmofe,approximately1.442.Math.LOG10EThebase10logarithmofe,approximately0.4
19、34.Math.PITheratioofthecircumferenceofacircletoitsdiameter,approximately3.142.Math.SQRT1_2Thesquarerootofone-half,approximately0.707.Math.SQRT2Thesquarerootof2,approximately1.414.第十章 ILOG脚本ILOG 脚本中的数字 6、数学操作符、数学操作符x+y、x-y、x*y、x/y、-x:加减乘除、负;:加减乘除、负;x%y;取余数;取余数;x=y、x!=y:是否相等的比较,返回:是否相等的比较,返回true或者或者fa
20、lse;xy、xy、x=y:大小比较,返回:大小比较,返回true或者或者false;x&y、x|y、xy、x:AND,OR,XOR,NOT位运算位运算例如例如14&98(1110&10011000)14|915(1110|10011111)1497(11101001111)141(11100001)第十章 ILOG脚本ILOG 脚本的数字 6、数学操作符、数学操作符xy、xy:位位移。:位位移。右移右移(保留符号位保留符号位),右移并左面补右移并左面补0,例如,例如9236(100122(1001210)-92-2(1.1100121.11110)-921073741821(1.110012
21、01.11110)第十章 ILOG脚本ILOG 脚本的字符串 1、字符串自动转换、字符串自动转换函数实参或表达式需要转换成字符串格式时,系统自动转换,如函数实参或表达式需要转换成字符串格式时,系统自动转换,如The+10+commandments-The10commandments2、字符串属性字符串属性:只有一个取长度的属性:只有一个取长度的属性格式:格式:string.length“abc”.length结果是结果是3.length结果是结果是0第十章 ILOG脚本ILOG 脚本的字符串 3、字符串方法、字符串方法string.substring(start,end):取子串:取子串012
22、3456.substring(0,3)0120123456.substring(2,4)230123456.substring(2)23456string.charAt(index):取字符串指定位置的字符:取字符串指定位置的字符abcdef.charAt(0)aabcdef.charAt(3)dabcdef.charAt(100)第十章 ILOG脚本ILOG 脚本的字符串 string.charCodeAt(index):取字符串指定位置的字符的:取字符串指定位置的字符的ASCII码码abcdef.charCodeAt(0)97abcdef.charCodeAt(3)100abcdef.ch
23、arCodeAt(100)NaNstring.indexOf(substring,index):子串在什么位置?找到返回索引,:子串在什么位置?找到返回索引,没有返回没有返回1abcdabcd.indexOf(bc)1abcdabcd.indexOf(bc,1)1abcdabcd.indexOf(bc,2)5abcdabcd.indexOf(bc,10)-1abcdabcd.indexOf(foo)-1abcdabcd.indexOf(BC)-1第十章 ILOG脚本ILOG 脚本的字符串 string.lastIndexOf(substring,index):子串最后一次出现的位置:子串最后一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 第十 ILOG 脚本
限制150内