LINGO基本语法和编程
- 格式:ppt
- 大小:1.74 MB
- 文档页数:63
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语句及其相关语法,为我们提供了强大的条件判断和逻辑运算功能。
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免费版可以支持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软件入门司守奎烟台市,海军航空工程学院数学教研室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基本用法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是一个强大且易于学习的编程语言,用于Adobe Director,一个用于创建互动式多媒体应用程序的软件。
在这个Lingo教程中,我们将介绍一些基本的Lingo语法和使用方法。
首先,让我们从Lingo的变量和数据类型开始。
Lingo支持许多数据类型,包括数字,字符串,布尔值和列表。
要声明一个变量,可以使用“variableName = value”的语法。
例如,要声明一个名为“score”的变量,并将其设置为10,可以使用以下代码:```score = 10```要输出变量的值,可以使用“put”命令。
例如:```put score```这将在屏幕上显示变量的值。
Lingo还支持条件语句和循环。
条件语句用于根据条件执行不同的操作。
例如,以下代码将检查“score”变量的值,并根据其值执行不同的操作:if score > 10 thenput "High score!"elseput "Low score."end if```循环用于重复执行一组操作。
例如,以下代码将显示从1到10的所有数字:```repeat with i = 1 to 10put iend repeat```Lingo还支持函数和自定义命令。
函数用于执行特定的操作并返回一个值。
例如,以下代码定义了一个名为“addNumbers”的函数,它将两个数字相加并返回结果:```function addNumbers(num1, num2)return num1 + num2end addNumbers```要使用这个函数,可以使用以下代码:put addNumbers(5, 3)```这将输出结果为8。
自定义命令用于执行一系列的操作,但不返回任何值。
例如,以下代码定义了一个名为“showMessage”的自定义命令,它将显示一个消息框,并将输入的文本作为参数:```on showMessage(text)alert textend showMessage```要使用这个自定义命令,可以使用以下代码:```showMessage("Hello, world!")```这将显示一个消息框,其中包含文本“Hello, world!”。
lingo的语法规则Lingo是一种优化建模语言,它遵循一定的语法规则。
以下是一些Lingo的语法规则:1. 变量声明: 在Lingo中,变量需要在使用之前声明。
变量可以是连续的实数、整数或者集合。
2. 目标函数: 目标函数是Lingo模型的核心部分,用于表示需要优化的目标。
目标函数可以使用MAX或MIN关键字来指定最大化或最小化目标。
3. 约束条件: 约束条件是限制问题解的约束,通常由等式或不等式表示。
约束条件可以包括等式约束、不等式约束和逻辑约束。
4. 集合: Lingo允许使用集合来表示一组变量或一组约束。
集合可以用于定义变量、参数、约束等。
5. 参数: 参数是用于定义模型的数据,可以是数值型或字符型。
参数可以在模型中直接使用,也可以通过集合引用。
6. 运算符: Lingo支持多种运算符,包括算术运算符、逻辑运算符和关系运算符。
运算符的优先级遵循常规的数学规则。
7. 语句格式: Lingo语句通常以分号结尾,每行可以包含多个语句。
语句可以跨行,以提高可读性。
8. 注释: Lingo允许使用注释来解释模型或添加额外信息。
注释以“!”开头,可以出现在模型的任何位置。
9. 标号: Lingo允许给语句添加标号,以便在模型中引用或识别特定语句。
标号以方括号开头和结尾,例如[OBJ]。
10. 模型结构: Lingo模型以“MODEL:”开头,以“END”结束。
在模型中,可以包含多个目标函数、约束条件、参数等。
以上是Lingo的一些基本语法规则,使用这些规则可以帮助你构建有效的优化模型并解决实际问题。
lingo 语言基础一、事件与命令事件在上次的教程中,我们已经初步试验了lingo的编写和运行.这次我们要对于lingo的一些基础知识进行探讨.我们首先从一个最简单的脚本进行分析。
还记得上次我们让电影停在某帧时候的脚本是如何的么?on exitframego the frameend这里面就包含了一个lingo的最基本的一点。
lingo是基于事件(event)的。
当某个事件发生的时候,才会执行下面的动作。
在上面这个脚本中go the frame这句话是在on exitframe(退出改帧)的时候执行的on exitframe就是一个事件,当这个播放头退出该帧事件发生了,才执行里面的语句,直到遇到end为止。
同样,下面的一些都是lingo的也就是事件。
lingo魔法书--变量,字符串和文本域日期:2006年6月1日录入:92study 人气:查看:[大字体中字体小字体] 双击自动滚屏lingo魔法书--变量,字符串和文本域变量学过编程的同志都知道所有编程语言上来都先说变量.但是为了照顾大家的情绪,避免把这个教程显得太乏味.我们现在才来讨论变量. 什么是变量?变量好比一个房间,堆放你需要储存的东西.在实际编程中变量有着很重要的作用.同样我们也经常用变量来储存一些比较复杂的表达式.这样可以简化我们程序的编写.变量之所以叫做变量是因为它的值是可以变化的.下面我们先来看看变量的一些操作.赋值,就是给变量以内容.可以这样写.变量名=变量值或者表达式例如: a=1 a=3*5变量的类型:在lingo语言中不同于其他的一些高级语言,要声明变量的类型.lingo的变量类型是由赋予的内容决定的.我们最常用的是字符和数字两种值.比如:a=1 变量a的类型是数值型. a="1" 变量a的类型是字符型.注意这里虽然都是1.但是带上""的就是字符串.不带的就是数值.首先我们看些字符串的操作& 表示字符串连接.执行put "ab"&"cd"得到的结果是"abcd"&& 表示字符串连接当中加上一个空格.执行put "ab"&&"cd"得到的结果是"ab cd"string(表达式)将数值转换成为字符串例如put string(3*5) 结果为"15"put string(5)结果为"5"numtochar(整数表达式)将数值转换为字符串,这个数值为字符串的ascii值.put numtochar(65)的结果是大写的"a".相反的chartonum(字符串)就是把字符转换成为asc码选取字符串的长度length(字符串) .例如put length("abcd")结果为4.删除字符串中的字符取子字符串chars(字符串表达式,第一个字符串,最后一个字符串)比如put chars("macintosh",2,4)-- 结果为"aci"从第2个取到第4个.这是一个假冒伪劣的计算器.因为他更本不能计算.只能显示数字和擦除数字.在这里要给大家展示的是文本域的操作lingo.为了使得问题尽量的简单.我们来看一个按钮显示文本是如何做的.首先在舞台上用工具栏上的field按钮在舞台上制作一个文本域.然后在属性面板里面填写上文本域的名字.我们这里取名"result".然后在舞台上画一个按钮.标题为1.整个时间轴这样安排.当然我们不能忘记适用帧脚本停住画面.sprite 1是文本域sprite 2是按钮.ok我们的基本动作好了.下面我们要安按钮给文本域写数字.lingo语言是如何的呢?文本域中的值可以这样来给定.put 变量或者表达式into field "文本域名"文本域名我们在例子中是"result".对于1 这个按钮可以这样编写程序on mouseupput "1" into field "result"end如果大家想一个个给按钮写put "x" into field "result"的话那么我的教程是失败的.如果我有100个按钮的话一个个写过来不要写死?我们要用上次说的behavior行为的概念.按钮全部放到流程线上以后我们可以发现.如果我们仔细观察的话我们可以发现这样一个规律.那就是按钮数和sprite数正好相差1."1"按钮是sprite 2."2"按钮是sprite 3.我们是否可以用这个特点做文章呢?on mouseup mebuttonvalue=string(the currentspritenum-1)put buttonvalue into field "result"end下面就是我写的一个behavior,核心思想是取得当前sprite的编号,然后-1作为field的内容,关键的语句是the currentspritenum这个系统变量可以取得当前正在操作的sprite的号码,然后减1,再用string函数变换成为字符串赋值给buttonvalue变量.这样的话就可以实现按钮和值的统一.这里我们使用变量是为了让语句看起来更间洁不然我们写put string(the currentspritenum-1) into field "result"也可以,但是太长了可读性就差了.接下来我们又发现一个问题,那就是我们新按按钮之后原先的值就消失了.正常的计算器显然不是这样的.如何办呢?on mouseup mecontent=the text of member "result"--取得当前文本域的值使用系统变量the text of memberbuttonvalue=string(the currentspritenum-1)put content&buttonvalue into field "result" --让当前文本域的值加上当前相加的值endok我们的behavior写好了.然后一个个赋给所有的按钮.我们还剩下最后一个back按钮没有制作.on mouseup mecontent=the text of field "result"stringlength=length(content)-1nowcontent=chars(content,1,stringlength)--这里我们取子串删除.取得除了最后一个字符以外的所有字符也就是删除最后一个字符.put nowcontent into field "result" --然后重新赋值给文本域.endok劣质计算器就做好了.如果你想要在运行状态下在文本域中输入文字.可以使用sprite(编号).editable =true来设定.当然首先要将该sprite 木偶化.on beginsprite mepuppetsprite 1, true --将sprite木偶化sprite(1).editable = true --将sprite可编辑.endok我们到这里基本上到了入门教程的尾声,这里我们最后给大家一个技巧就是使用注释语句.很多时候我们在编写lingo语言的时候,需要对一些语句进行注释.这样的好处是以便于以后自己看一下编程序的思路.不至于若干天之后自己也看不懂.注释在lingo中是不会被执行的.它的开头用"--"表示.在director中用红色表示.大家可以发现我在整个教程中已经反复用到了注释语句.同样.注释语句的还有一个好处就是调试程序的时候方便.有些语句我们暂时想禁止他看看会有什么效果.我们只要在前面加上"--"就可以让他暂时变成注释不起作用.下次需要的时候只要把"--"删除就可以了.在此要感谢arky给我做了精彩的演示,让我体会了它的强大.最后想告诉大家的是,与其多看理论不如动手实践.自己做和看别人做是完全不一样的.会有很多意想不到的事情发生.这些将是你宝贵的经验.作者后记:写到这里,我们的lingo语言基础教程暂时告一个段落了.在编写的过程中,读者热情的催促是我完成它的动力.本来写这个教程的初衷是因为看到了国外的一片lingo语言教程.觉得是我见过的少数lingo语言教程之一.当时想把他翻译过来给大家欣赏.但是在照搬改组了前2篇之后登时发现教程的内容偏少.于是在左思右想之后决定重新编写.于是把老外的教程压缩进入第2篇,从第3篇开始全部重写.搬出了4本lingo语言的书进行参照.由于工作繁忙加上要重起炉灶,所以教程进行特别缓慢.恳请大家谅解.上面的11篇还只是lingo魔法书的第一页.我们将在以后的日子继续见面的lingo魔法书--光标和行为日期:2006年6月1日录入:92study 人气:查看:[大字体中字体小字体] 双击自动滚屏lingo魔法书--光标和行为director中光标也可以自己定义和制作.我们看看下面的一个例子:光标单击每个人脸就变成了一个动态的光标.移出按钮图片,光标就还原了.这样的效果如何做呢?首先我们看一下光标控制语句.cursor (角色名,遮罩名) --指定某个角色作为光标.角色必须是双色位图大小16x16。
lingo基础用法Lingo是一种计算机编程语言,它的基础用法包括以下几个方面:1. 变量声明和赋值:可以使用Lingo语言声明变量,并给变量赋值。
例如:```global myVariable -- 声明一个全局变量put 5 into myVariable -- 将值5赋给变量myVariable```2. 条件语句:可以使用条件语句来根据条件执行不同的代码块。
例如:```if myVariable = 5 thenput "It's five!" into messageanswer messageend if```3. 循环语句:可以使用循环语句来反复执行特定的代码块。
例如:```repeat with i = 1 to 10put i into messageanswer messageend repeat```4. 函数和命令:Lingo提供了许多内置的函数和命令,可以执行特定的操作。
例如:```put the date into currentDate -- 获取当前日期get the long name of sprite 1 -- 获取精灵1的长名称```5. 脚本和行为:可以使用Lingo编写脚本和行为,控制多媒体项目的行为。
例如:```on mouseUpgo to the next frameend```上述是Lingo语言的基础用法,只是其中的一小部分。
Lingo 还提供了丰富的功能和特性,包括面向对象编程、多媒体处理等。
要更深入地学习和使用Lingo,建议参考Lingo的官方文档或相关教程。
lingo知识点总结Lingo 是一个用于多媒体和跨平台软件开发的高级编程语言。
它以其简单易用,高效快速的特点,广泛应用于多媒体制作、交互式应用程序开发等领域。
Lingo 语言自身也有许多重要的知识点,包括基本语法、面向对象编程、多媒体处理等内容。
在本文中,将对Lingo 的知识点进行总结和介绍,希望能够帮助大家更好地理解和使用 Lingo 语言。
一、基本语法1. 变量和常量:在 Lingo 语言中,可以通过变量和常量来存储和表示数据。
变量是可以改变数值的,而常量是一旦定义就不可改变的数值。
变量和常量的使用可以帮助我们更好地处理数据和逻辑关系。
2. 数据类型:Lingo 语言支持多种数据类型,包括整型、浮点型、布尔型、字符串等。
不同的数据类型有不同的操作方法和适用范围,熟练掌握数据类型可以帮助我们更好地处理数据。
3. 运算符:Lingo 语言支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。
运算符的使用可以帮助我们进行数值计算和逻辑判断。
4. 控制语句:Lingo 语言支持多种控制语句,包括条件语句、循环语句、跳转语句等。
控制语句的使用可以帮助我们控制程序的流程和逻辑。
5. 函数和方法:在 Lingo 语言中,可以通过函数和方法来封装和重用代码。
函数和方法的使用可以帮助我们更好地组织和管理代码。
6. 事件处理:Lingo 语言支持事件处理,可以方便地处理用户输入或系统事件。
事件处理的使用可以帮助我们开发交互式应用程序。
二、面向对象编程1. 类和对象:在Lingo 语言中,可以通过类和对象来进行面向对象编程。
类是对象的模板,对象是类的实例。
类和对象的使用可以帮助我们更好地组织和管理代码。
2. 继承和多态:Lingo 语言支持继承和多态,可以方便地重用代码和扩展功能。
继承和多态的使用可以帮助我们更好地设计和组织代码。
3. 封装和抽象:Lingo 语言支持封装和抽象,可以方便地隐藏代码细节和实现复杂功能。