LINGO基本语法和编程
lingo if语句

lingo if语句摘要:1.Lingo简介2.IF语句的基本语法3.条件判断与逻辑运算4.实例与应用5.总结与建议正文:【1.Lingo简介】Lingo,全称Lingua Interactiva,是一款强大的编程语言,特别适用于Macromedia Authorware、Adobe Captivate等软件的课件制作。
它以其简洁易懂的语法和丰富的功能而受到众多开发者和教育工作者的喜爱。
在Lingo 中,IF语句是一种常用的控制结构,可以实现条件判断和逻辑运算,从而满足各种复杂场景的需求。
【2.IF语句的基本语法】在Lingo中,IF语句的基本语法如下:```IF <条件表达式> THEN <语句块>ELSE <语句块>END IF```其中,条件表达式用于判断某个条件是否成立,语句块则是根据条件判断结果执行的代码段。
IF语句可以嵌套使用,以实现更复杂的逻辑判断。
【3.条件判断与逻辑运算】在Lingo中,条件判断和逻辑运算符包括:- 比较运算符:等于(=)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)- 逻辑运算符:AND、OR、NOT例如,以下代码判断变量a和b的关系:```IF a = b THENMsgBox "a等于b"ELSEIF a <> b THENMsgBox "a不等于b"ELSEMsgBox "a大于b"END IF```【4.实例与应用】下面通过一个实例介绍如何在Lingo中使用IF语句:假设我们有一个课件,需要根据用户的答案判断其正确性。
我们可以使用IF语句来实现这个功能:```Dim answer, correctAnswerSet correctAnswer = {1, 2, 3, 4, 5} " 设定正确答案列表answer = Input("请输入你的答案:", "数字")IF correctAnswer contains answer THENMsgBox "恭喜你,回答正确!"ELSEMsgBox "很遗憾,回答错误,正确答案是:" & correctAnswer END IF```【5.总结与建议】Lingo中的IF语句及其相关语法,为我们提供了强大的条件判断和逻辑运算功能。
lingo软件使用

一、基本语法--- Lingo的内部函数
◆ 关系运算符 “=” 表示等于关系 “<=” 表示小于等于关系 “>=” 表示大于等于关系
◆ 数学函数 @abs(x) 返回x的绝对值
@sin(x) 返回x的正弦值,x采用弧度制
7 i 1
7
5
154 x ij s ij x ij q j j 1, 2 , , 5 i 1, 2 , , 7 i 1, 2 , , 7 j 1, 2 , , 5 j 1, 2 , , 5
i 1 j 1
Hale Waihona Puke x i 1 x i 2 x i 5 ks i x i 3 x i 4 ys i
一、基本语法---程序结构的三个部分
◆ 目标函数与约束条件部分 按模型中的目标函数及约束条件逐句写入 格式:max = …… 或 min =……
利用lingo中的内部函数组织目标函数及约束
条件的具体内容
例 sets: factory/1..60/:cost, volume; endsets min=@sum(factory(i): cost(i)*volume(i));
返回x1,x2,…,xn中的最大值
@smin(x1,x2,…,xn)
返回x1,x2,…,xn中的最小值
一、基本语法--- Lingo的内部函数
◆ 集循环函数 集循环函数遍历整个集进行操作。其语法为 @function(setname[(set_index_list)
集循环函数名 集合名 循环控制变量
◆ 输入和输出函数 输入和输出函数可以把程序和外部数据文件, 如文本文件、电子表格等连接起来。 @file 格式:@file(’文件名’) 功能:从指定的外部文本文件中输入数据 在数据文件中,以”~”作为一批数据结束的标 记,同一文件中,可以含多批数据,系统依次 打开数据文件时,依次读取各批数据
熟练掌握Lingo基本操作和编程技巧(1)

1、实验目的和任务1.1熟练掌握Lingo基本操作;1.2.掌握Lingo编程技巧;1.3通过实验进一步掌握运筹学有关方法原理、求解过程,提高学生分析问题和解决问题能力。
2、实验仪器、设备及材料计算机、Lingo3、实验内容3.1 Lingo软件的安装与运行Lingo软件的安装程序一般可以通过网络免费获得,文件大小通常是20M多一点,安装完成前,会出现询问你希望采纳的默认的建模语言对话框,推荐采用LINGO语法。
第一次运行LINGO软件时,系统需要你输入密码,如果你未购买该软件,你可以选择演示版(Demo)。
3.2 Lingo界面启动Lingo软件,屏幕上显示如下图窗口。
最外层的窗口是LINGO软件的主窗口,所有其他窗口都在这个窗口之内。
当前光标所在的窗口上标有“LINGO Model-LINGO1”,这就是模型窗口,也就是输入LINGO优化模型的窗口。
(介绍菜单栏,工具栏,状态行)3.3 编写一个简单的Lingo程序例1. 直接用LINGO来解1.1节的线性规划问题:1、实验目的和任务1.1熟练掌握Lingo基本操作;1.2.掌握Lingo编程技巧;1.3通过实验进一步掌握运筹学有关方法原理、求解过程,提高学生分析问题和解决问题能力。
2、实验仪器、设备及材料计算机、Lingo3、实验内容3.1 Lingo软件的安装与运行Lingo软件的安装程序一般可以通过网络免费获得,文件大小通常是20M多一点,安装完成前,会出现询问你希望采纳的默认的建模语言对话框,推荐采用LINGO语法。
第一次运行LINGO软件时,系统需要你输入密码,如果你未购买该软件,你可以选择演示版(Demo)。
3.2 Lingo界面启动Lingo软件,屏幕上显示如下图窗口。
最外层的窗口是LINGO软件的主窗口,所有其他窗口都在这个窗口之内。
当前光标所在的窗口上标有“LINGO Model-LINGO1”,这就是模型窗口,也就是输入LINGO优化模型的窗口。
Lingo基本用法总结

Lingo基本用法总结(除集函数部分)LINGO是用来求解线性和非线性优化问题的简易工具。
Lingo免费版可以支持30个未知数,lingo破解版可以支持几万个未知数、几万个约束条件。
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。
下面举两个例子。
例1.1 如何在LINGO中求解如下的LP问题:在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;然后点击工具条上的按钮即可。
得到如下结果:所以当x1为250,x2为100时目标函数得到最大值。
算术运算符Lingo 中变量不区分大小写,以字母开头不超过32个字符算术运算符是针对数值进行操作的。
LINGO 提供了5种二元运算符: ^ 乘方 ﹡ 乘 / 除 ﹢ 加 ﹣ 减 LINGO 唯一的一元算术运算符是取反函数“﹣”。
这些运算符的优先级由高到底为:高 ﹣(取反) ^ ﹡/ 低 ﹢﹣运算符的运算次序为从左到右按优先级高低来执行。
运算的次序可以用圆括号“()”来改变。
例:在x1+x2>=350,x1>=100,2*x1+x2<=600的条件下求2*x1+3*x2的最小值 在代码窗口中编写 min =2*x1+3*x2; x1+x2>=350; x1>=100;2*x1+x2<=600;然后单击上面菜单lingo 菜单下solve 键即可。
数学函数标准数学函数:@abs(x) 返回x 的绝对值@sin(x) 返回x 的正弦值,x 采用弧度制 @cos(x) 返回x 的余弦值 @tan(x) 返回x 的正切值 @exp(x) 返回常数e 的x 次方 @log(x) 返回x 的自然对数@lgm(x) 返回x 的gamma 函数的自然对数 @sign(x) 如果x<0返回-1;否则,返回1@floor(x) 返回x 的整数部分。
第1讲Lingo软件基础学习(2014)

第1讲Lingo软件入门司守奎烟台市,海军航空工程学院数学教研室Email:sishoukui@1 Lingo软件的基本语法1.1 集合集合部分的语法为sets:集合名称1/成员列表1/:属性1_1,属性1_2,…,属性1_n1;集合名称2/成员列表2/:属性2_1,属性2_2,…,属性2_n2;派生集合名称(集合名称1,集合名称2):属性3_1,…,属性3_n3;endsets例26sets:product/A B/;machine/M N/;week/1..2/;allowed(product,machine,week):x;endsets1.2 数据数据部分的语法为data:属性1=数据列表;属性2=数据列表;enddata1.3 计算计算段部分不能含有变量,必须是已知数据的运算。
calc:b=0;a=a+1;endcalc1.4 模型的目标函数和约束条件这里就不具体给出了,下面通过具体例子给出。
1.5 子模型在LINGO 9.0 及更早的版本中,在每个LINGO 模型窗口中只允许有一个优化模型,可以称为主模型(MAIN MODEL)。
在LINGO 10.0 中,每个LINGO 模型窗口中除了主模型外,用户还可以定义子模型(SUBMODEL)。
子模型可以在主模型的计算段中被调用,这就进一步增强了LINGO 的编程能力。
子模型必须包含在主模型之内,即必须位于以“MODEL:”开头、以“END”结束的模块内。
同一个主模型中,允许定义多个子模型,所以每个子模型本身必须命名,其基本语法是:SUBMODEL mymodel:可执行语句(约束+目标函数);ENDSUBMODEL其中mymodel 是该子模型的名字,可执行语句一般是一些约束语句,也可能包含目标函数,但不可以有自身单独的集合段、数据段、初始段和计算段。
也就是说,同一个主模型内的变量都是全局变量,这些变量对主模型和所有子模型同样有效。
如果已经定义了子模型mymodel,则在计算段中可以用语句“@SOLVE( mymodel);”求解这个子模型。
LINGO基本用法

LINGO基本用法1、概况 (1)2、LINGO的基本用法 (1)3、用LINGO编程语言建立模型 (2)4、建立LINGO/LINDO优化模型需要注意的几个基本问题 (3)5、对求解结果的分析 (3)LINGO基本用法LINGO是专门用来求解各种规划问题的软件包,其功能十分强大,是求解优化模型的最佳选择。
1、概况LINGO是美国LINDO系统公司开发的求解数学规划系列软件中的一个,它的主要功能是求解大型线性、非线性和整数规划问题,LINGO分为Demo、Solve Suite、Super、Hyper、Industrial、Extended等六种不同版本。
只有Demo版是免费的。
LINGO的不同版本对模型的变量总数,非线性变量的数目,整形变量数目和约束条件的数量作出了不同的限制。
LINGO的主要功能:(1) 既能求解线性规划问题,也有较强的求解非线性规划问题的能力;(2) 输入模型简练直观(3) 运行速度快,计算能力强(4) 内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型(5) 将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型(6) 能方便地与Excel,数据库等其他软件交换数据2、LINGO的基本用法通常一个优化模型由下列三部分所组成:(1) 目标函数:一般表示成求某个数学表达式的最大值或最小值。
(2) 决策变量:目标函数值取决于哪些变量(3) 约束条件:对变量附加一些条件限制(通常用等式或不等式表示)注:LINGO默认所有决策变量都非负,因而变量非负条件可以不必输入。
LINGO的语法规定:(1) 求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2) 每个语句必须以分号";"结束,每行可以有多个语句,语句可以跨行;(3) 变量名称必须以字母(A~Z)开头,由字母,数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;(4) 可以给语句加上标号,例如[OBJ] MAX= 20*X1+300*X2;(5) 以!开头,以;号结束的语句是注释语句;(6) 如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负;(7) LINGO模型以语句“MODEL:”开头,以“END”结束,对于比较简单的模型,这两个语句可以省略。
lingo的格式

lingo的格式
5. 条件语句:使用else语句来进行条件判断,例如:
if (condition) { // do something
} else { // do something else
}
lingo的格式
6. 循环语句:使用for循环或者while循环来进行循环操作,例如:
for (var i = 0; i < 10; i++) { // do something
}
while (condition) { // do something
}
lingo的格式
7. 函数定义:使用function关键字来定义函数,例如: function myFunction(param1, param2) { // do something }
8. 对象和属性:可以使用对象和属性来组织和访问数据,例如: var myObject = { property1: value1, property2: value2 }; var myValue = myObject.property1;
lingo的格式
Lingo是一种计算机编程语言,其格式可以根据具体的上下文和使用环境而有所不同。以 下是一般情况下Lingo的基本格式:
1. 语句分隔符:每个语句以分号(;)作为结束符号。 2. 注释:可以使用双斜杠(//)或者斜杠星号(/*...*/)来添加注释。 3. 变量声明:使用var关键字来声明变量,例如:var myVariable。 4. 数据类型:Lingo支持多种数据类型,包括整数(integer)、浮点数(float)、布尔 值(boolean)、字符串(string)等。
lingo的格式
以上是Lingo的一般格式,具体的语法和规则可能会根据不同的版本和应用程序而有所变 化。在实际编写Lingo代码时,建议参考相关的文档和教程,以确保正确使用语言的特性和 语法。
lindo常用的基本语法

2、 min Z x1 3 x2 x1 2 x2 6 s.t. 3 x1 x2 15 x , x 0 1 2
2、lingo的优点 (1)可以用于求线性规划及非线性规划问 题,包括非线性整数规划问题。
(2)lingo包含内置的建模语言(常称矩阵 生成器),允许以简练、直观的方式描述 较大规模的优化模型(成千万个约束条件 和变量), 模型中所需的数据可以用一定格 式保存在独立的文件中,需要时再读取数据。
在Lingo中,所有的系统函数都必须是以“@”开头。
2、集合循环函数
集合循环函数是指对集合中的所有元素(下标) 进行循环操作的函数,如@sum,@for等。
具体的使用格式:
@循环函数名(循环变量所在的集 (循环变量)│ 过滤条件:循环表达式) 其中,如果在操作过程中没有过滤条件,可 以省略过滤条件;如果表达式是对集合的所有循 环变量进行操作,循环变量也可以省略。
LINGO软件的使用规则(3)
(6) 约束条件中的符号“≥”用 “> = ”或“>”表示, “≤”用“<=”或 “<”表示。
(7) 计算机把输入程序中的第一行默认为目标函数, 其它各约束条件可以用[_1],[_2]标明它的行号。 (8) 虽然决策变量可以放在约束条件的右端,但为 了提高Lingo的求解效率,应尽可能采用线性表达 式定义目标函数和约束条件。 (9) 在lingo中以感叹号“!”开始的是说明语句, 并且说明语句也需要以分号“;”结束,并且除 了“!”和“;”之外,说明语句中的其它字符 可以是任何字符。
3、 lingo中的灵敏度分析
在lindo中的目标函数最优值、最优解与灵敏度 而在lingo中,最优解、最 分析是一起显示出来, 优值与灵敏度分析是分别用不同的命令显示出来。 lingo中的灵敏度分析的数据输出结果与lindo 中的灵敏性分析中输出结果是相同的。 因为lingo的求解结果中是没有灵敏度分析的, 所以如果需要灵敏度分析的数据,可以通过修改 选项来实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个复杂一些的LINGO程序
例 直接用LINGO来解如下线性规划问题:
程序如下:Leabharlann 集合段数据段 初始段 计算段
目标函数 约束条件
输出结果 LINGO是将它作为ILP(整数线性规划)来求解,找到全 局最优解。
LINGO程序注意的几个问题
LINGO的基本用法的几点注意事项
•LINGO中不区分大小写字母;变量和行名可以超过8个字符,但 不能超过32个字符,且必须以字母开头。 •用LINGO解优化模型时已假定所有变量非负(除非用限定变量取 值范围的函数@free或@sub或@slb另行说明)。 •变量可以放在约束条件的右端(同时数字也可放在约束条件的左 端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达 式定义目标和约束(如果可能的话)。 •语句是组成LINGO模型的基本单位,每个语句都以分号结尾,编 写程序时应注意模型的可读性。例如:一行只写一个语句,按照 语句之间的嵌套关系对语句安排适当的缩进,增强层次感。 •以感叹号开始的是说明语句(说明语句也需要以分号结束))。
j j
本例中集合的概念 利用集合的概念,可以定义需求点DEMAND和供应点 SUPPLY两个集合,分别有6个和2个元素(下标)。但决 c 策变量(运送量) 与集合 DEMAND和集合SUPPLY都 有关系的。该如何定义这样的属性?
ij
集合的属性相当于以集合的元素为下标的数组。这里的 c 相当于二维数组。它的两个下标分别来自集合 DEMAND和SUPPLY,因此可以定义一个由二元对组 成的新的集合,然后将 c 定义成这个新集合的属性。
(2)数据段(DATA):以 “DATA:” 开始, “ENDDATA” 结束,对集合的属性(数组)输入必要的常数数据。 格式为:“attribute(属性) = value_list(常数列表);” 常数列表(value_list)中数据之间可以用逗号“,”分开,也 可以用空格分开(回车等价于一个空格),如:
集合及其属性
• QUARTERS集合的属性 • DEM • RP
• OP
•
INV
• 1
• 2
• 3
• 4
• QUARTERS集合
集合元素及集合的属性确定的所有变量
1 2 3 4 集合QUARTERS 的元素 定义在集 DEM DEM(1) DEM(2) DEM(3) DEM(4) 合 RP RP(1) RP(2) RP(3) RP(4) QUARTE OP OP(1) OP(2) OP(3) OP(4) RS 上的属性 INV INV(1) INV(2) INV(3) INV(4)
a b d
建立模型 记工地的位置为 (a , b ) ,水泥日用量为 d , i 1,6 ;料场 位置为( x , y ) ,日储量为 e , j 1,2 ;从料场 j 向工地 i 的 运送量为 c 。
i i
i
j
j
j
ij
MIN s.t.
f cij
j 1 i 1
2
6
x
j
ai y j bi
•数学建模课程综合设计
王 丹
理学院数学与系统科学系 2016年夏季
• • • •
LINGO程序的基本结构 LINGO中的集合 LINGO中的简化函数 LINGO中的运算符
LINGO程序基本结构
1:模型以Model以END结束 Model: Title “Example” … … END 注:在程序中若没有Model和End也能执行,但建 议写完整标准的程序
(4)计算段(CALC):以“CALC: ”开始, “ENDCALC”结束,对一些原始数据进行计算处理。 在实际问题中,输入的数据通常是原始数据,不一定 能在模型中直接使用,可以在这个段对这些原始数据进 行一定的“预处理”,得到模型中真正需要的数据。
例如
Calc: TotalWeight = @sum(Box(i): zl(i)*js(i)); EndCalc 注意计算段只能对常量进行计算,不能对需要 通过解优化程序求解出来的变量进行计算。
INV ( I ) INV ( I 1) RP( I ) OP( I ) DEM ( I ), I 1,2,3,4
INV (0) 10
MIN
I 1, 2,3, 4
{400RP(I ) 450OP(I ) 20INV (I )}
3)变量的非负约束
由于LINGO中没有数组,只能对每个季度分别定义变量, 如正常产量就要有RP1,RP2,RP3,RP4 4个变量等。 写起来就比较麻烦,尤其是更多(如1000个季度)的时候。 记四个季度组成的集合QUARTERS={1,2,3,4}, 它们就是上面数组的下标集合,而数组DEM,RP,OP, INV 对集合QUARTERS中的每个元素1,2,3,4分别对应于 一个值。LINGO正是充分利用了这种数组及其下标的关 系,引入了“集合”及其“属性”的概念,把 QUARTERS={1,2,3,4}称为集合,把DEM,RP,OP, INV称为该集合的属性(即定义在该集合上的属性)。
ij
ij
输入程序
定义了三个集合,其中LINK在前 两个集合DEMAND 和SUPPLY的 基础上定义 表示集合LINK中的元素就是集合DEMAND 和SUPPLY的元素组合成的有序二元组, 从数学上看LINK是DEMAND 和SUPPLY的笛 卡儿积,也就是说 LINK={(S,T)|SDEMAND,TSUPPLY} 因此,其属性C也就是一个6*2的矩阵(或者 说是含有12个元素的二维数组)。
一个简单的LINGO程序 输入窗口如下:
例 直接用LINGO来解如下二次规划问题:
2 Max 98x1 277x2 x12 0.3x1 x2 2 x2 s.t. x1 x2 100 x1 2 x2 x1 , x2 0
1 2 3 4
输出结果: 运行菜单命令“LINGO|Solve”
集合的基本用法
例 SAILCO 公司需要决定下四个季度的帆船生产量。下 理解 LINGO 建模语言最重要的是理解集合(Set)及其 四个季度的帆船需求量分别是 属性(Attribute)的概念。 40条,60条,75条,25条, 这些需求必须按时满足。每个季度正常的生产能力是40 条帆船,每条船的生产费用为400美元。如果加班生产, 每条船的生产费用为450美元。每个季度末,每条船的 库存费用为20美元。假定生产提前期为0,初始库存为 10条船。如何安排生产可使总费用最小?
LINGO程序基本结构
2:五段(Section)结构
Model: Title “Example” 集合段 数据段 初始段 计算段 目标和约束段 END
五段结构中目标和约束段一般 是不可少的,集合段用得比较 多,数据段次之,初始段和计 算段不一定有。这些段的顺序 可调换。
LINGO模型的基本结构
(1)集合段(SETS):以“ SETS:” 开始, “ENDSETS”结束,定义必要的集合变量(SET)及 其元素(MEMBER,含义类似于数组的下标)和属 性(ATTRIBUTE,含义类似于数组)。 Sets: Car/1 2/: lcar; Box/1..7/: hd,zl,js; SL(Car,Box): x; TRI(Car,SL): trx; ENDSETS
LINGO建模语言也称为矩阵生成器(MATRIX GENERATOR)。类似DEMAND 和SUPPLY直接把元素列举出 来的集合,称为基本集合(primary set),而把LINK这种基于其它 集合而派生出来的二维或多维集合称为派生集合(derived set)。 由于是DEMAND 和SUPPLY生成了派生集合LINK,所以 DEMAND 和SUPPLY 称为LINK的父集合。
用DEM,RP,OP,INV分别表示需求量、正常生产的产量、 加班生产的产量、库存量,则DEM,RP,OP,INV对每个 季度都应该有一个对应的值,也就说他们都应该是一 个由4个元素组成的数组,其中DEM是已知的,而 RP,OP,INV是未知数。
问题的模型(可以看出是LP模型 ) 目标函数是所有费用的和 约束条件主要有三个: 1)能力限制: RP( I ) 40, I 1,2,3,4 2)产品数量的平衡方程:
Data: hd = 48.7 52 61.3 72 48.7 52 64; zl = 2000 3000 1000 500 4000 2000 1000; js = 8 7 9 6 6 4 8; ENDDATA
(3)初始段(INIT):以“INIT: ”开始, “ENDINIT” 结束,对集合的属性(数组)定义初值(因为求解算法一般 是迭代算法,所以用户如果能给出一个比较好的迭代初 值,对提高算法的计算效果是有益的)。 如果有一个接近最优解的初值,对LINGO求解模型是 有帮助的。定义初值的格式为: “attribute(属性) = value_list(常数列表);” 这与数据段中的用法是类似的。 Init: x=1111111 1 1 1 1 1 1 1; Endinit
最大利润=11077.87
最优整数解 X=(35.37,64.63)
输出结果备注: LINGO是将它作为NLP(非线性规划)来求解,找到的是 全局最优解。
通过菜单 “WINDOW| Status Window”看到状态窗 口,可看到最佳目标值 “Best Obj”与问题的上界 “Obj Bound”已经是一样的, 当前解的最大利润与这两个 值非常接近,是计算误差引 起的。
输入程序
同理,数据段中对常数数组A,B的赋值语句也可以写成 A, B=1.25 1.25 8.75 0.75 0.5 4.75 5.75 5 3 6.5 7.25 7.75;
初始段
INGO对数据是按列赋值的 语句的实际赋值顺序是 X=(5,2), Y=(1,7), 而不是 X=(5,1), Y=(2,7) 等价写法: “X=5,2; Y=1,7;”