PB 基本语句 循环语句
PowerBuilder学习资料
本文档分为两个部分,(完全是分开的两部-没关联)第一部分:PB书本自学类容一:标识符:标识符是程序中用来代表变量,标号,函数,窗口,控件,对象等名称的符号。
标识符必须是下划线或者字母开头,标识符的非开头字符可以是字母,数字或者5中特殊符号(-,_,#,%,$)标识符不区分大小写标识符的书写应保持连续,中间不能留空格。
标识符的最大长度应该控制在100个字符内。
保留字不能用作标识符,因为它们已经有特殊的含义。
Asdf_dfdfDffds-adfDfsdf_adfDfa#dfAsdf%fggDff$fsdfThis //误用保留字二:ASCLL码字符:字符串中可以包括特殊的ascll码字符,它们不能使用常规的的输入方法直接输入,要使用其他字符来替代。
新行:~n 制表:~t 双引号:~”单引号:~’等等三:代词:日常生活中可以用你,我,他之类的代词来指代特定的人物,PowerBuilder也提供了几个代词指定特定的对象。
4个代词分别是:this parent parentwindow super 其中前3个广泛使用。
1.This:代表窗口,用户对象,菜单,应用对象或控件本身,即代表正在为之编写事件处理程序的对象。
示例;设窗口有一个名称为cb_button的按钮,其上显示的文本是‘请单击’在该按钮的clicked事件中可以添加如下代码:This.text= ‘再单机一次’:语句执行后把请单击改成了‘再单机一次’不用代词语句:cb_button.text= ‘再单机一次’2.parent: 代表当前控件所在的窗口对象如上述例子:parent.text= ‘再单机一次’3Parentwindow 代表程序运行时当前菜单所在的窗口对象,注意:改代词只能在菜单对象的事件处理程序中使用。
例子:假设cb_button窗口关联了一个菜单对象,该菜单中的‘关闭’命令用于关闭窗口cb_button,我们可以在该菜单项的clicked事件中添加如下代码://关闭关联窗口Close (parentwindow)//等同于Close(cb_button)Super :在编写空间或对象的子对象时,子对象中可以调用父对象的事件处理程序,程序中的既可直接利用父对象名称调用他们,也可以使用super代词来应用。
pb语句常用,以及一些初学者的帮助知识
10月15日条件语句(分单行和多行两种格式)格式1 if condition then …… else……endif格式2 if condition then……Else…………End if(先计算condition (条件表达式)的值。
如果是ture,则执行then后面的语句,否则执行else 后面的语句(如果有else的话))循环语句For…..next (for循环语句) 循环次数确定的循环语句For …. = star to end [step 1] // 1表示步长……Next例如:计算s= 1+2+3+4+5+…..+10Integer I , s = 0For i=1 to 10 [step1]S += iNextSt_1.text = string(s)Do……loop语句(4种格式)Do until…….loop…..Do while……loop……Do……loop until…….Do…..loop while……同样以计算位例Integer I =1. s =0Do until I > 10S += II++loopsl_1.text=string(s)Choose case语句(根据测试表达式的值选择不同的操作)Choose case 测试表达式Case 判断表达式语句块Case 判断表达式语句块Case 判断表达式语句块Case else语句块End Choose判断表达式可以使用如下形式:用逗号分隔一组数据2,4,8用to表示一个区间 1 to 9用is 代表测试值,后跟操作符和比较值is>=30组合应用2,4,8,1to9,is>=30例如:在编辑框中输入考试分数,点按钮,显示优,良,及格或不及格Ingeter iString sF=ingeter(sle_1.text)Choose case fChoose case is>90S = “优”Choose case 80 to 89S = “良”Choose case 70 to 79S = “中”Choose case 60 to 69S = “及格”Choose case 0 to 59S =“不及格”Case elseS = “输入格式错误,请重新输入”End chaooseSle_1.text=strings(S)Continue 语句(继续循环)只用于do…loop 和for…next 语句中。
PB基本语句,循环语句
简化雅思长难句技巧几个小技巧教你拆分简化雅思长难句我们做题的技巧是先找出谓语,然后确定主语,再通过关联词(and,but等)从后向前找出并列的核心单词.将句子从并列连词处断开,将并列句变成两个或若干个相对短的句子,然后再用处理简单句的方法——抓句子主干,来依次处理每个相对短的句子.比如下列两句:Everyone should know where the nearest fire alarm bo_ is located and wheree_its, fire escapes,and fire doors are.I wanted her to know that my heart was with her, and that I thought Englandowed her a great debt and was going to miss her.解析如下:1. Everyone should know where the nearest fire alarm bo_ is located andwhere e_its, fire escapes, and fire doors are.结构:本句有三个谓语动词,其中主句的谓语动词为should know,其余两个都是由where引导的并列宾语从句.拆分:1) Everyone should know2) Where the nearest fire alarm bo_ is located3) Where e_its, fire escapes, and fire doors are翻译:每个人都应该知道最近的火灾报警箱的位置,以及安全出口.安全梯及防火门位于何处.2. I wanted her to know that my heart was with her, and that I thoughtEngland owed her a great debt and was going to miss her.结构:本句有5个谓语动词,其中主句的谓语动词为wanted.was和thought分别属于两个由that引导的并列宾语从句.而owed和wasgoing为两个并列的谓语动词,共同主语为England.England这句话前面为了避免重复而省略了宾语从句的引导词that,实际上是thought的宾语从句.拆分:I wanted her to knowThat my heart was withherThat I thought(That) England owed her agreat debt and was going to miss her.翻译:我想让她知道我的心陪伴着她,而且我认为英国欠了她一大笔债,很快就会想念她.小结:1和2两句都是从句并列,找到连词,再找从句中的主干成分,便可以理解句意.除了从句并列,还有不定式引导的并列句,比如下面两个句子:The way space is used to enable the individual to achieve privacy, to buildhomes or to design cities is culturally influenced.It seems simple enoughto distinguish between the organism and thesurrounding environment and to separate forces acting on an organism into thosethat are internal and biological and those that are e_ternal andenvironmental.解析如下:3. The way space is used to enable the individual to achieve privacy, tobuild homes or to design citiesis culturally influenced.结构:本句中有两个谓语动词,主句谓语为 is culturally influenced, 定语从句谓语为 isused to. 主语the way有一个很长的定语从句修饰,定语从句中有三个并列的不定式短语作动词〝isused〞的目的状语即to achieve privacy, to buildhomes,和to design cities.拆分:The way is culturally influenced.space is usedto enable the individual to achieve privacyto build homesto design cities翻译:怎样利用空间实现个人隐私,修建住宅及规划城市都受到文化上的影响.4. It seems simple enough to distinguish between the organism and thesurrounding environment and to separate forces acting on an organism into thosethat are internal and biological and those that are e_ternal andenvironmental.结构:本句话关键是通过and抓住并列的成分,句子的主干是It seems simple enough to distinguish …andtoseparate…,其中,理解的难点在separate后面的部分.Separate的宾语forces后面被〝acting on anorganism〞这个现在分词短语限定,into后面两个those告诉我们forces被分成哪些部分了.拆分:It seems simple enoughto distinguish between the organism and the surrounding environment and to separate forces(acting on an organism) intothose that are internal and biologicaland those that are e_ternal and environmental.翻译:区分有机体和周围环境似乎很简单;把作用于有机体的力量分为内部生物的力量和外部环境的力量似乎也很简单.小结:从上两句可以看出,并列的不定式后面还包含定语从句或名词性从句,这增加了找出并列成分的难度,但记得,第一步还是找出连词,然后分析每个从句的主干结构,从而透彻地理解整个句子.除了不定式可以引导并列结构,从句也可以,而且难度更大,因为从句会误导考生找不到主句的主干,请看下句:Children in low-income families and poor communities are less likely totake organized youth sports for granted because they often lack the resourcesneeded to pay for participation fees, equipment, and transportation topracticesand games and their communities do not have resources to build and maintainsports fields and facilities.解析:5. Children in low-income families and poor communities are less likely totake organized youth sports for granted because they often lack the resourcesneeded to pay for participation fees, equipment,and transportation to practicesand games and their communities do not have resources to build and maintainsports fields and facilities .结构:本句中有三个谓语动词,are less likely to do为主句谓语 ,lack和 do not have为并列原因状语从句的谓语,主语分为they 和 their communities.拆分:Children (in low-income families and poor communities )are less likely(totake organized youth sports for granted)tak e…forgranted…把…认为是理所应当because they often lack the resources (needed)(to pay for participationfees, equipment, and transportation to practices andgames)and (because)their communities do not have resources (to build and maintainsports fields and facilities ).翻译:来自低收入家庭和贫穷社区的孩子就很少将社区运动视作理所应当,因为他们经常缺少必须的金钱来支付门票.设备和来回车费,而且他们的社区也没有能力来建设和维持运动场和运动设备.小结:这句话只有虽然有三个谓语,但主句只有一个,所以第一个才是真正的谓语,其他两个是原因状语从句引导的并列从句的谓语,所以理解这句话需要找出主句的谓语.总结:长难句中的平行结构可以用不同的方式构成,可能并列成分内部仍然有并列成分,但是最重要的还是先找到主干结构,再分析并列句的结构,最后整合起来,一点点解剖整个句子的意思.雅思阅读材料:英国公交司机叫乘客〝亲〞面临被开A bus company is warning drivers to not call passengers `babe` in a bid toavoid lawsuits from offended women.英国一家公交公司提醒司机,不要称呼乘客〝亲〞,以防认为受辱的女性起诉. Brighton Hove Buses posted warnings to drivers in its head officesafter a complaint from a woman who said she felt insulted by being called `babe`when she boarded a bus.布赖顿和霍夫公交公司总部近日贴出了这则警告通知.事情的起因是公司接到一名女乘客投诉,称某次上车时,司机称呼她〝亲〞,她当时感觉受到了侮辱.The company also warned drivers they could face the sack if they callpassengers `love` or `darling`.该公司还警告司机,如果对女乘客使用〝亲〞这类词汇,司机将面临被炒鱿鱼的风险.One employee, who did not want to be named, said: `It`s just the height ofpolitical correctness. The drivers know how to best speak to customers.一名不愿意透露姓名的司机说:〝这样做实在是‘过头了’.司机们知道该怎么称呼乘客.〞`People don`t want their drivers to be robots. What is the world coming towhen you can`t have a bit of friendly banter with passengers?` 〝人们不会希望司机都像机器人一样.如果和乘客之间不能说笑,世界将会变得多么冷冰冰啊.〞The sign reads: `Please can drivers be aware that some of our customers maytake offence at having terms such as love , darling and babe directedtowards them.通知写道:〝请司机注意,有些乘客认为被直呼‘亲爱的’.‘宝贝’.‘亲’是受到了侮辱.〞`This can be seen by some as being a se_ist comment, as a recent complainthas highlighted.`〝这对有些人来说有性意味,就像最近的一起投诉提到的那样.〞Managing director Roger French said: `A lady complained to us that shethought the language used by a driver was demeaning to her.总经理罗杰·弗兰齐说:〝有位女士向我们投诉,她认为司机使用这样的语言对她是种侮辱.〞`We take a lot of customer feedback so we thought we would pass this on.The drivers will understand and take it in good spirit.`〝我们接到了很多顾客反馈,所以我们觉得应该这样做.司机们会理解,并且愉快地接受.〞雅思阅读材料:技术宅发明奥利奥饼干分离器A cookie-favoring physicist has created what appears to be the world sfirst Oreo separator.一个不喜欢夹心的物理学家制造出了世界上台奥利奥夹心分离机.David Neevel, an artist and inventor based in Portland, Ore., wascommissioned by the popular cookie brand to produce the machine as part of itsCookies vs. Creme campaign.DavidNeevel是俄勒冈州波特兰市的一名发明家,也是一位艺术家.他受到这个著名饼干品牌的委托,为该公司的〝饼干VS奶油〞广告制造出了这台机器.My Oreo machine is based entirely on my dislike for creme and mypreference for cookie, Neevel said in a short video.〝我制造夹心分离机完全是因为我讨厌夹心.喜欢饼干,〞Neevel在短片这样提到.The OSM, as Neevel calls it, was constructed of scrap aluminum, wood, ahatchet and floss in a Portland garage.Neevel 把发明简称为OSM (奥利奥分离器),这是他在波特兰的一个车库里用一些铝的废料.废木材.一把小斧头和一些金属丝制成的.After the hatchet blade is lowered to split the Oreo, a pair of mechanicalarms are dispatched to collect the cookie halves, which are transferred to arouter table where the creme is removed.斧头把奥利奥一劈为二,然后一对机械臂会捡起两半奥利奥,接着饼干会被送到铣削台,把饼干上的奶油铣掉.The electric-powered contraption took about two weeks to build. It was abig time commitment, Neevel said. I had to work some long hours—I didn t seemy girlfriend or my dog for hours at a time.这个神奇的电动机械装置造了两个星期的时间.〝这是个非常非常重要的委托,〞Neevel说.〝我得连续工作很久,有时候我好几个小时都见不了我的女朋友和我的狗.〞Outstanding. I applaud your efforts, one YouTube commenter wrote. Foryour ne_t design, how about an automatic sock pair singlifier?〝赞一个.为你的发明鼓掌,〞一个YouTube用户这样评论道.〝下次造一个袜子配对机怎么样?〞Three other inventors were commissioned by Oreo to come up with concepts,with the ne_t one slated to be unveiled later this week.另外还有三名发明家受到奥利奥委托想一些新点子,下一个发明预计在这周晚些时候发布.简化雅思长难句技巧。
PB 02第2章 PowerScript 语言
2.4.1 算术运算符
算术运算符有五个,用于加、减、乘、除、乘方。其中加号、减 号还用于表示正数、负数。 在表达式中,乘方高于乘除,乘除高于加减。同级运算遵循自左 至右的原则。
2.4.2 关系运算符
关系运算符用来对相同类型的量进行大小比较运算,常用于条件 语句和循环语句。 表2-4关系运算符 关系运算符
2.2.1 标准数据类型
integer或int :16位带符号整数,范围从-32768到+32767 ; 或 long :32位带符号整数,范围从-2,147,483,648到 +2,147,483,64; Real:带符号浮点数,精度6位,范围从1.17E-38到 : 3.4E+383.5E+5; UnsignedInteger或 UnsignedInt或 Uint: 16位无符号整数, 或 或 : 范围从0 到65535; UnsignedLong 或 Ulong : 32 位 无 符 号 整 数 , 范 围 从 0 到 4,294,976,295 ;
2.2.1 标准数据类型
标准数据类型包括数值型、字符型、日期型、布尔型等一些最基本 的数据类型。 标准数据类型名称、 标准数据类型名称、含义 : blob:二进制大对象,用于处理图像、大文本等 ; : boolean :布尔型,只有两个可能的值:true或false ; character或char :单个ASCII字符 ; 或 String :字符串类型,用于存储任意的ASCII字符; date :日期,包括年(1000-3000)、月(01-12)、日(01-31); time : 时间,包括小时(00~23)、分(00~59)、秒(00~59)以 及秒的小数位(最多六位),范围从00:00:00到23:59:59:999999; datetime :日期及时间; decimal或dec:带符号十进制数,最大18位精度; 或 : Double : 带 符 号 浮 点 数 , 15 位 有 效 数 字 , 范 围 从 2.2E-308 到 1.7E+308 ;
PB基础语句
PB 基本语句循环语句PB 基本语句一、赋值语句赋值语句用于给变量、对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variablename = expression其中:⑴variablename是变量名或对象属性;⑵expression是表达式,其数据类型应该与variablename的数据类型兼容。
下面是赋值语句的几个简单示例:Address = "北京"TaxRate = .05Age = 30mle.text="北京欢迎你"PowerScript的赋值语句不支持多重赋值,也就是说,一条赋值语句只对一个变量赋值,不能同时对多个变量赋值。
下面的语句:A=B=0在有些编程语言中同时把A和B均赋值0,但PowerScript中,该语句等价于:A=(B=0)其意义为,检查B等于0是否成立,成立时将TRUE赋给变量A,否则把FALSE赋给变量A。
如果A不是Boolean类型的变量,则上述语句将引起编译错误。
二、条件语句IF语句有两种形式,下面我们按照从简单到复杂的次序逐一介绍。
1. 单行IF ... THEN语句单行IF ... THEN语句的格式为:IF逻辑表达式THEN语句1 [ELSE语句2]单行IF ... THEN语句书写时整条语句写在一行上,当逻辑表达式的结果为True时执行语句1,否则执行语句2(如果有该子句的话)。
例如:IF sle_State.text="BJ" THEN MessageBox("欢迎","北京") 2.多行IF ... THEN语句多行IF ... THEN语句的语法格式为:IF 逻辑表达式1 THEN语句1[ ELSEIF 逻辑表达式2 THEN语句2. . .] [ ELSE 语句n]END IF本语句的执行过程为:计算逻辑表达式1,如果其结果为True,则执行语句1,然后离开整个IF语句;否则计算逻辑表达式2,如果其结果为True,则执行语句2,然后离开整个IF语句;... 如果逻辑表达式的结果都是False,且存在ELSE子句,则执行语句3。
PB知识点整理
变量类型•局部变量(Local ):在定义该变量的函数、事件中使用。
局部代码执行完即销毁。
•实例变量(Instance ):属于一个对象的一个实例。
实例不被销毁,变量一直存在。
如无特殊声明,则其他对象都可以访问该变量。
•共享变量(Shared ):被同一对象的多个实例中共同使用(无论有几个实例,都只有一个值),整个应用不被销毁,变量一直存在。
其他对象无法访问该变量。
•全局变量(Global ):属于整个应用。
整个应用不被销毁,变量一直存在。
所有对象都可以访问该变量。
•按变量的作用范围和生命周期来划分变量、常量的声明•变量说明:datatype variablename•变量名建议使用:变量类型+数据类型+”_”+其它,如:String gs_dwmcInt ii_countLong sl_useridDatetime ldt_todayString ls_xm,ls_bjLong ll_classid = 1•常量变量说明:CONSTANT datatype variablename = value数组•String ls_city[] //下标默认从1开始•String ls_city[10] //下标默认从1开始•String ls_city[2 to 20] //下标从2到20•String ls_city[2,10]•数组初始化:int li_i[9]={2,3,4,5,6,7,8,9,10}•数组循环赋值:int i,li_i[9]for i=1 to 9li_i[i] = i+1next结构str_student lstr_studentlstr_student.id=1lstr_student.xm=‘张三’lstr_student.xb=‘1’lstr_student.csrq=date(‘1975-01-01’)Openwithparm(w_test,lstr_student)str_student lstr_studentlstr_student=message.powerobject加减乘除•算术运算:+, - , *, /, ^•关系运算:=, <>, >, <, >=, <=, like•逻辑运算:NOT, AND, OR•字符串连接:ls_name = ls_name + ‘医院’常用的函数•Messagebox:显示出错、警告、提示及其他重要信息。
循环语句北师大版ppt课件
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
现在你能找出满足1×2×3×4 ×…×n>100条件的最小 整数?
解: s=1 n=1 Do s=s*n n=n+1
PRINT n-1
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
2、解:m=0 n=0 i=0
For i=1 To 40 输入s
If s>=85 Then m=m+1
Else If s>63 Then n=n+1 Else
i=i+1 End If Next
构最常见的语句之一,它适用于预先知道循环次数的循环结 构.
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
计算机在执行For语句时先对循环变量赋值,然后与循 环变量的终值比较,若小于或等于终值,则执行循环体, 然后循环变量的值增加,再与终值比较,若还小于或等于 终值,再执行循环体,循环变量的值再增加,以此类推, 直到循环变量的值大于终值时,停止执行循环体. 提醒:
1、用Do Loop语句描述判断一个数是否为素数的算法.
为深入学习习近平新时代中国特色社 会主义 思想和 党的十 九大精 神,贯彻 全国教 育大会 精神,充 分发挥 中小学 图书室 育人功 能
1、解:t=1 Do t=t+1 Loop while t不能整除p 且t<=Sqr(p) If t>Sqr(q) Then 输出“p是素数” Else 输出“p不是素数” End If
Pb编程语言深入讲解:巧用goto,控制循环语句流程!
Pb编程语言深入讲解:巧用goto,控制循环语句流程!
Pb编程语言深入讲解:巧用goto,控制循环语句流程!
本经验由宗龙龙原创,全文共500多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!
第一步:首先,我们先了解一下pb软件的编程界面,和其它编程操作软件类似,大家看图就明白了。
第二步:我们需要重新创建一个新的按钮,这里,我们将我们重新创建的按钮设置为For。
第三步:我们需要在编程区域,输入我们所需要编写的代码,源码大体如下:
//巧用goto,控制循环语句流程
long ll_i
for ll_i=0 to 5
messagebox('',ll_i)
if ll_i>3 then
goto lable
end if
next
lable:
第四步:前面我们急忙点击运行,忘记添加测试所需的输出操作,在这里,我们增加一句话:messagebox('',ll_i)。
第五步:此时,我们可以点击goto按钮,不管你如何操作,输出的窗口永远都不会出现5,知道的小伙伴,可以留言说明原因。
本经验由宗龙龙原创,感谢大家阅读至此,如有其他不明白的地方,欢迎留言说明,其他看到的小伙伴,也互相帮助一下,如果知道,请给予解答。
基本算法语句——循环语句
基本算法语句——循环语句
循环语句是计算机程序中最基本的控制结构之一,用于重复执行一段代码块,直到满足一些条件为止。
常见的循环语句包括while循环、do-while循环和for循环。
1. while循环语句:
```python
while 条件:
代码块
```
该循环会在每次执行代码块前先检查条件是否满足,如果满足,则执行代码块并再次检查条件;否则,结束循环。
2. do-while循环语句:
```python
do:
代码块
while 条件
```
该循环会先执行一次代码块,然后检查条件是否满足。
如果满足,则继续执行代码块并再次检查条件;否则,结束循环。
3. for循环语句:
```python
for 变量 in 可迭代对象:
代码块
```
该循环会遍历可迭代对象中的每个元素,并依次将每个元素赋值给变量,再执行代码块。
当所有元素都被遍历完毕时,循环结束。
循环语句可以用于处理重复性任务,比如遍历列表、计算累加和、找
出最大值等。
在实际编程中,需要注意循环的终止条件和循环变量的更新,以防止无限循环。
同时,也可以结合条件语句(如if语句)在循环中添
加分支判断。
pb跳出循环的语句
pb跳出循环的语句
嘿,咱今儿就来聊聊 PB 跳出循环的语句这事儿哈!比如说,你正在写一段代码,就像你在走一条长长的路,这循环就好比你一直在这条路上打转。
那啥时候你想不转了,想出去了呢?这就需要 PB 跳出循环的语句啦!
比如说,咱有个例子。
假设有个程序要计算 1 到 100 的和,但算到50 的时候,哎呀,突然有情况了,不想算了,就得赶紧跳出来。
这时候,PB 里的特定语句就派上用场了,就像一把钥匙,“咔嚓”一下就把门打开,让你出去啦!
PB 跳出循环的语句,那可真是神奇得很呐!它能让程序变得更加灵活,就像人一样,可以随时根据情况改变行动。
你想想看,如果没有这些语句,那程序不就像个死脑筋一样,一直在那循环,停都停不下来,那可不得乱套啦!
“哎呀,要是没有这些跳出循环的语句,那可咋办呀!”你看,这多重要啊!它就像是在代码世界里的救命稻草。
有时候,一个小小的语句,就能让整个程序变得完全不一样。
咱再打个比方,这跳出循环的语句就像是一场比赛里的暂停键。
比赛正激烈着呢,突然有个紧急情况,按一下暂停,一切都能停下来,等处理好了再继续。
PB 里的这些语句不就是这样嘛,让程序可以在需要的时候暂停一下,调整调整,然后再更好地继续下去。
总之,PB 跳出循环的语句绝对是编程里不可或缺的一部分。
它能让程序更智能,更灵活,就像给程序注入了灵魂一样!你说是不是超级厉害呀!我的观点就是,PB 跳出循环的语句真的太重要啦,是编程中不可或缺的神奇存在!。
pb do while循环语句举例
pb do while循环语句举例一、什么是pb do while循环语句Do While循环是一种先执行循环体内的语句,再判断循环条件是否满足的循环结构。
当循环条件为真时,继续执行循环体内的语句;当循环条件为假时,退出循环。
Pb语言中的do while循环语句的语法格式为:{//循环体内的语句}while(循环条件);二、pb do while循环语句的使用场景1. 实现菜单选择功能,要求输入1-5之间的数字,如果输入不在范围内,则重新输入。
2. 实现一个猜数字游戏,要求用户输入一个1-100之间的数字,如果猜对了,则显示猜对了,并退出循环;如果猜错了,则提示用户继续猜,直到猜对为止。
3. 实现一个密码验证功能,要求用户输入密码,如果输入错误,则提示密码错误,继续输入;如果输入正确,则退出循环。
4. 实现一个计算器功能,要求用户输入两个数字和一个运算符,然后进行相应的运算,如果输入的运算符不合法,则提示用户重新输入。
5. 实现一个学生成绩管理系统,要求用户输入学生的成绩,然后根据成绩进行相应的操作,如果输入的成绩不合法,则提示用户重新输入。
6. 实现一个商品购买功能,要求用户输入商品编号和购买数量,然后根据编号查询相应的商品信息,如果输入的编号不存在,则提示用户重新输入。
7. 实现一个倒计时功能,要求用户输入一个正整数,然后从该数开始倒计时,直到倒计时结束。
8. 实现一个打印图形功能,要求用户输入一个图形的行数,然后打印相应的图形,如果输入的行数不合法,则提示用户重新输入。
9. 实现一个求和功能,要求用户输入一系列数字,然后计算它们的和,直到用户输入0为止。
10. 实现一个字符串反转功能,要求用户输入一个字符串,然后将字符串反转输出,直到用户输入exit为止。
三、pb do while循环语句的应用举例1. 实现菜单选择功能do{Print("请选择操作:");Print("1. 查看余额");Print("2. 存款");Print("3. 取款");Print("4. 转账");Print("5. 退出");Input(choice);switch(choice){case 1:Print("您的余额为1000元"); break;case 2:Print("请输入存款金额:"); Input(deposit);Print("存款成功!");break;case 3:Print("请输入取款金额:"); Input(withdraw);Print("取款成功!");break;case 4:Print("请输入转账金额:");Input(transfer);Print("转账成功!");break;case 5:Print("退出系统");break;default:Print("请选择正确的操作!");break;}}while(choice != 5);2. 实现一个猜数字游戏int randomNumber = Random(1, 100); int guess;do{Print("请输入一个1-100之间的数字:"); Input(guess);if(guess < randomNumber){Print("猜小了!");}else if(guess > randomNumber) {Print("猜大了!");}else{Print("猜对了!");}}while(guess != randomNumber);3. 实现一个密码验证功能string password;string input;do{Print("请输入密码:");Input(input);if(input != password){Print("密码错误,请重新输入!");}}while(input != password);4. 实现一个计算器功能int num1;int num2;char operator;int result;do{Print("请输入两个数字和一个运算符:"); Input(num1);Input(num2);Input(operator);switch(operator){case '+':result = num1 + num2;Print("计算结果:" + result);break;case '-':result = num1 - num2;Print("计算结果:" + result);break;case '*':result = num1 * num2;Print("计算结果:" + result);break;case '/':if(num2 != 0){result = num1 / num2;Print("计算结果:" + result);}else{Print("除数不能为0,请重新输入!"); }break;default:Print("请输入正确的运算符!"); break;}}while(operator != 'q');5. 实现一个学生成绩管理系统int score;do{Print("请输入学生的成绩:");Input(score);if(score >= 90 && score <= 100) {Print("优秀!");}else if(score >= 80 && score < 90) {Print("良好!");}else if(score >= 70 && score < 80) {Print("中等!");}else if(score >= 60 && score < 70) {Print("及格!");}else if(score >= 0 && score < 60) {Print("不及格!");}else{Print("请输入有效的成绩!");}}while(score != -1);6. 实现一个商品购买功能int productCode;int quantity;int totalPrice = 0;do{Print("请输入商品编号:");Input(productCode);switch(productCode){case 1:Print("请输入购买数量:"); Input(quantity);totalPrice += quantity * 10; break;case 2:Print("请输入购买数量:"); Input(quantity);totalPrice += quantity * 20; break;case 3:Print("请输入购买数量:"); Input(quantity);totalPrice += quantity * 30;break;case 4:Print("请输入购买数量:");Input(quantity);totalPrice += quantity * 40;break;case 5:Print("请输入购买数量:");Input(quantity);totalPrice += quantity * 50;break;default:Print("请输入正确的商品编号!"); break;}}while(productCode != 0);7. 实现一个倒计时功能int countdown;doPrint("请输入倒计时秒数:");Input(countdown);while(countdown > 0){Print("倒计时:" + countdown); Sleep(1000);countdown--;}Print("倒计时结束!");}while(countdown < 0);8. 实现一个打印图形功能int rows;do{Print("请输入图形的行数:");Input(rows);if(rows > 0)for(int i = 1; i <= rows; i++) {for(int j = 1; j <= i; j++){Print("*");}Print("");}}else{Print("请输入大于0的行数!"); }}while(rows <= 0);9. 实现一个求和功能int num;int sum = 0;doPrint("请输入一个数字(输入0结束):");Input(num);sum += num;}while(num != 0);Print("和为:" + sum);10. 实现一个字符串反转功能string str;string reversedStr = "";do{Print("请输入一个字符串(输入exit结束):"); Input(str);for(int i = str.Length - 1; i >= 0; i--){reversedStr += str[i];}。
北师大版高中数学必修三2.3.2循环语句.docx
高中数学学习材料鼎尚图文*整理制作3.2循环语句[读教材·填要点]1.For语句(1)格式:For循环变量=初始值To终值循环体Next(2)适用于预先知道循环次数的循环结构.2.Do Loop语句(1)格式:Do循环体Loop While条件为真(2)适用于预先不知道循环次数的循环结构.[小问题·大思维]1.For语句与Do Loop语句有什么区别?提示:两种循环语句的区别是For语句是先从循环变量的初值开始执行第一次循环体,直到循环变量取到其终值结束循环,适用于预先知道循环次数的循环结构;而Do Loop语句则是先判断条件,当条件为真时,执行循环体,否则结束循环,适用于那些预先不知道循环次数的循环结构.2.何时才能用到循环语句?提示:在问题处理中,经常要对某一步骤或若干步骤重复执行多次,即对不同的运算对象进行若干次的相同运算或处理,这种模式就对应程序设计中的循环结构,在算法中的循环结构就是由循环语句来实现的.[研一题][例1]画出计算12+32+52+…+9992的算法框图,并用For语句写出相应的程序.[自主解答]算法框图如下:S=0For i=1 To 999 step 2S=S+i*iNext输出S.[悟一法]1.For语句适合预先知道循环次数的循环结构,利用For语句表示循环结构时首先要确定循环变量的初始值和终值,然后确定循环体.2.在For循环语句中,我们默认循环变量每次的增量为1.如果需要考虑增量不为1的情况,需要使用参数Step.例如,“输出1到100内的所有奇数”的算法语句为:For i=1 To 100 Step 2.[通一类]1.用For语句设计算法,计算3+6+9+…+150的值.解:S=0For i=1 To 50S=S+3]Next输出S.[研一题][例2]设计一个求满足1+3+5+…+n>500的最小自然数n的算法框图,并用Do Loop语句描述这个算法.[自主解答]算法框图如下:Do Loop语句i=1S=0DoS=S+ii=i+2Loop While S<=500i=i-2输出i[悟一法]Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Do Loop语句后的语句.[通一类]2.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:a=10b=1Dob=b*a__(1)__Loop While __(2)__输出b解:a的初始值为10,故循环体中的值应该逆减,即a从10减小到1,循环体的条件应为a≥1.答案:a=a-1a≥1[研一题][例3]用循环语句表示求a1,a2,a3,a4的最大值的一个算法.[自主解答]输入a1,a2,a3,a4;M=a1,i=2DoIf a i>M ThenM=a ii=i+1Elsei=i+1End IfLoop While i<=4输出M.[悟一法]循环语句格式严格、条件准确,不能有半点马虎,一点不对,全题皆错.当循环语句中有嵌套条件语句时要先确定外层的循环语句,再逐步确定内层的条件语句.[通一类]3.给出以下10个数:4,10,70,33,95,74,29,17,60,30.要求将大于40的数找出来,画出求解该问题的算法框图,并写出程序.解:算法框图如图所示:i=1Do输入xIf x>40Then输出xEnd Ifi=i+1Loop While i<=10.用基本语句写一个算法,计算2+4+6+ (20)[解]法一:用语句描述为:i=2S=0DoS=S+ii=i+2Loop While i<=20输出S.法二:用语句描述为:S=0For i=2 To 20 Step 2S=S+iNext输出S.1.关于Do Loop循环语句叙述正确的是()A.总是执行循环体B.执行一次循环体C.满足条件时执行循环体D.遇到Do Loop就结束解析:对于Do Loop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体.答案:C2.下列程序输出的结果是()i=1DoS=S*2+1i=i+1Loop While i<=4输出S.A.3B.7C.15D.19解析:由程序语句可知,该循环体共循环4次,分别为S=2×0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.答案:C3.下列问题可以用循环语句设计程序的有()①求1+3+32+…+39的和;②比较a,b两个数的大小;③对于分段函数,要求输入自变量,输出函数值;④求平方值小于100的最大自然数.A.0个B.1个C.2个D.3个解析:①④可以用循环语句设计程序;②③要用条件语句设计程序.答案:C4.给出下列方程,若运行程序后输出的结果是1 320,则循环执行的“条件”应为________.i=12S=1DoS=S*ii=i-1Loop While条件输出S答案:i>=105.下面程序语句输出的S值是________.i=1S=0For i=1To 5S=S+iNext解析:S=1+2+3+4+5=15. 答案:156.已知函数f(x)=xx+1,实数a1=f(1),a2=f(a1),…,a n+1=f(a n),试写出用循环语句表示的求a8的算法,并画出框图.解:用语句描述为:A=1n=1For n=1To8A=A/(1+A)Next输出A.框图:一、选择题1.以下程序s=0For x=-1To11s=x*xNext输出s.该程序输出结果是()A.-1B.11C.100 D.121解析:由For语句的算法特点可知,s=11×11=121.2.下列程序的运行结果为( ) i =0 S =0 Doi =i +1 S =S +i Loop While S <=20 输出i A .5 B .6 C .7D .8解:由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i =6. 答案:B3.下列程序中的For 语句终止循环时,S 等于( ) S =1For M =1 To 13 Step 3S =S +M Next 输出S . A .1 B .5 C .10D .35解析:S =1+4+7+10+13=35. 答案:D4.下列算法的运行结果是( ) S =0 For i =1 To 5 S =S +1/i Next 输出S . A.13760 B.160 C.13060D .3解析:本算法是求1+12+13+14+15的和.答案:A5.下列算法运行后的输出结果为()i=1Doi=i+2S=3+2*iI=i+1Loop While i<8输出S.A.17B.19C.21 D.23解析:这是用Do Loop语句编写的算法,按Do Loop语句的运行程序可知最后一次执行循环体时S=3+2×(7+2)=21.答案:C二、填空题6.S=0For i=0 To 10 000 Step2S=S+iNext输出S则循环10次的结果是________.解析:算法程序实际是在计算S=0+2+4+…+10 000如果循环10次,则有S=0+2+4+6+8+…+18=90.答案:907.S=0For i=1 To 100S=S+i*iNext输出S则该语句的算法功能为______________.解析:S=12+22+ (1002)答案:计算12+22+…+1002的值8.如图,把求11×4+12×5+13×6+…+150×53的值的程序补充完整,则(1)____________;(2)____________.i=1S=0Do(1)i=i+1Loop While __(2)__输出S答案:(1)S=S+1/i*(i+3)(2)i<=50三、解答题9.据下列框图写出对应算法语句.解:S=0i=1DoS=S+ii=i+1Loop While i<=1 000输出S.10.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃前一天剩下的一半零一个,到第十天早上想吃时,见只剩一个桃子了,求第一天共摘了多少桃子?画出算法框图,并用语句描述.解:算法框图如图所示.程序如下:s=1For i=1 To 9 s=2*(s+1)Next输出S。
pb for循环语句
pb for循环语句
"pb for循环语句"可能指的是PowerBuilder编程语言中的for循环语句。
下面将对此进行解释:
PowerBuilder是一种面向对象的编程语言,常用于开发客户端/服务器应用程序。
for循环语句是一种常用的控制结构,用于重复执行某些代码块。
for循环语句由三个部分组成:初始化、条件和迭代。
初始化部分执行一次,用于初始化循环计数器;条件部分每次循环开始前都会被检查,如果条件为真则执行循环体,否则退出循环;迭代部分每次循环结束后都会被执行。
在PowerBuilder中,for循环语句的语法如下:
for loop_counter = start_value to end_value [step increment_value] do [statements]
loop
其中,loop_counter是循环计数器变量名,start_value和end_value是循环计数器的初始值和结束值,increment_value是循环计数器的增量,[statements]是要重复执行的代码块。
例如,下面的代码使用for循环语句输出1到10之间的整数:
for i = 1 to 10 do
messagebox("Number", string(i))
loop
在上述代码中,i是循环计数器变量名,1是循环计数器的初始值,10是循环计数器的结束值,每次增加1。
代码块中调用messagebox函数输出当前循环计数器的值。
希望以上内容能够对你有所帮助。
basic循环语句
basic循环语句1. 嘿,你知道basic循环语句吗?就像是一个不知疲倦的小机器人,按照你设定的规则一遍又一遍地做着同样的事。
比如说,我想让它打印出1到10的数字,我就可以用FOR循环语句。
就像这样:FOR i = 1 TO 10: PRINT i: NEXT i。
这小语句就乖乖地把数字一个一个打印出来了,多听话呀!2. Basic循环语句啊,简直是编程世界里的魔法咒语。
你要是想让程序重复执行某些操作,没它可不行。
打个比方,就像你让一个小孩每天都要浇花,他就得天天去做。
在basic里,如果我想让一个变量每次加2,一直加到20,用WHILE循环就像这样:x = 0: WHILE x <= 20: PRINT x: x = x + 2: WEND。
是不是很神奇?3. 哇塞,basic循环语句可太酷了!它就像火车在轨道上一圈又一圈地跑。
我有一次做一个计算平均数的程序,要把好多数字加起来,那时候我就用循环语句,就像把那些数字一个个拉上火车一样。
比如:DIM numbers(10),然后用FOR循环给数组赋值,再用另一个循环把它们加起来求平均,这循环语句真是帮了大忙!4. 你要是觉得basic循环语句很难,那可就大错特错啦!它就像我们每天早上重复做的那些事,比如刷牙洗脸。
假如你要在basic里显示一个图案多次,像三角形,你就可以用循环来控制行数和每行的星号数量。
比如说用FOR循环嵌套:FOR i = 1 TO 5: FOR j = 1 TO i: PRINT "*";: NEXT j: PRINT: NEXT i。
看,三角形就出来了,多有趣!5. Basic循环语句呀,对我来说就像是一个超级助手。
你知道吗?就好像你要数一堆糖果,一颗一颗数多麻烦,但是有了循环语句,就像有个小助手帮你快速地按规律数。
比如说我有一组数据,我想找出其中大于50的数字,我就可以用DO - LOOP UNTIL循环。
PB DataWindow技巧大全
PB DataWindow技巧大全chenjiunan | 1 August, 2007 14:021 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为:If( IsRowNew(), 0, 1) )在PowerScript 中可以动态修改Protect 属性:dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。
2 如何在DataWindow中实现列的自动折行我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自动折行.具体步骤如下:1) 在DataWindow Painter中打开此DataWindow.2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.3) 选择Position标签, 选中Autosize Height 多选框.4) 选择Edit标签, 不选中Auto Horz Scroll多选框.5) 单击OK按钮, 保存所做的修改.6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项.7) 选中Autosize Height多选框.8) 单击OK按钮, 保存所做的修改.9) 保存此DataWindow.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在TimerInterval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。
高中数学 1.2.3循环语句课件 新人教B版必修2
(1)循环体求出的S不是总销量,而是
每年的年销量.
(2)审题不清,没有将每年的销量累加起来求得 总销量.
[正解] 程序如下:
m=5 000 S=0 i= 0 while S<40 000 S=S+m m=m*(1+0.1)
i= i+ 1
end print(%io(2),i);
对于本题,只要先用“m=m*(1+0.1)”表 示累乘,求出每年销量,再用“S=S+m”表示累
(2)找出在程序中反复执行的部分,即循环体:
S=S+n,n=n+2; (3)找出控制循环的条件:本题中终止循环的条件是
S>10 000(或S≤10 000)
【变式3】 若将例3中“1+3+5+…+n>10 000”改为“13+23 +33+……+n3>10 000”呢?
解
程序:
n=1 s= 0 for 1:1:10 000 s=s+n^3 n=n+1 print(%io(2),n-1);
(1)循环终止的条件,在设置结束循环的条件时最好做“边
界的检验”,注意是用“>”还是“≥”等问题,防止多循环 一次或少循环一次.
(2)for循环语句执行时,先执行循环体,再判断条件,直
至条件符合时跳出循环.
1 1 1 【变式 1】 编写程序, 计算并输出表达式 + + 1+2 2+3 3+4 1 +…+ 的值. 19+20
while 表达式 循环体; end
执行过程:首先要求对表达式进行判断,如果表达式为
真,则执行循环体部分,每次开始执行循环体前,都要判 断表达式是否为真.这样重复执行,一直到表达式值为假
时,就跳过循环体部分,结束循环.
两种语句有什么联系与区别? 提示 相同点:这两种语句都是用来描述循环结构(即需 要多次重复进行同一操作)的算法,它们都含有循环变 量、终止条件和循环体三个要素.
PB基本知识sql语句
PB基本知识sql语句⽬录⼀、SQL内部数据导⼊、导出 (2)1、数据库备份(BACKUP) (2)2、备份的执⾏ (3)3、恢复数据库(RESTORE) (6)4、BCP (6)5、使⽤DTS导⼊、导出 (7)6、单表数据导⼊、导出实例。
(7)7、建⽴计划任务 (7)⼆、PB简介 (8)1、画笔介绍 (8)2、编译 (10)3、简单问题查找定位 (11)三、PB数据导⼊、导出 (11)1、打开表,⽤SA VE AS 将表内数据保存为另⼀格式 (11)2、⽤DATD PIPELINE将当前库中的⼀个表内的数据导出到另⼀库中 (12)3、⽤ROWS中的IMPORT 导⼊数据 (13)4、⽤SQL 语句⽣成表 (13)四、数据操纵语⾔(DML) (14)1、SELECT语句 (14)2、INSERT 语句 (15)3、DELETE 语句 (16)4、Update 语句 (16)数据导⼊导出、SQL语句简介⼀、SQL内部数据导⼊、导出1、数据库备份(BACKUP)●概述备份就是对SQL Server数据库或事务⽇志进⾏备份,数据库备份记录了在进⾏备份这⼀操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。
●SQL SERVER 2000 四种备份⽅式1)完全数据库备份(Dadabase-complete)2)差异备份或称增量备份(Dadabase-differential)3)事务⽇志备份(Transaction log)4)数据库⽂件和⽂件组备份(File and filegroup)●创建备份设备在进⾏备份以前⾸先必须指定或创建备份设备,备份设备是⽤来存储数据库、事务⽇志或⽂件和⽂件组备份的存储介质,备份设备可以是硬盘、磁带或管道。
当使⽤磁盘时,SQL Server允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以⽂件的⽅式存储的。
●使⽤SQL Server 企业管理器创建备份设备图1.使⽤企业管理器创建备份设备图2.输⼊备份设备属性对话框2、备份的执⾏SQL Server系统提供了三种数据库备份操作的⽅法:(1)SQL Server 企业管理器(2)备份向导(3)Transact-SQL语句(略)●使⽤企业管理器进⾏备份(1)启动企业管理器,登录到指定的数据库服务器,打开数据库⽂件夹,⽤右键单击所要进⾏备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择备份数据库。
pb中的条件语句,ifelse,choosecase,for
pb中的条件语句,ifelse,choosecase,for顾名思义下⾯这些语句的作⽤就是对某⼀个或者⼀些值进⾏判断,然后根据判断结果进⾏下⼀步的操作。
⼀、IF条件语句1. 单⾏IF ... THEN语句IF condition THEN 语句1 [ELSE 语句2]单⾏IF ... THEN语句书写时整条语句写在⼀⾏上,当逻辑表达式的结果为True时执⾏语句1,否则执⾏语句2。
例如:IF sle_State.text="BJ" THEN MessageBox("欢迎","北京")2.多⾏IF ... THEN语句IF condition1 THEN语句1[ ELSEIF condition2 THEN语句2. . .] [ ELSE 语句n]END IF-------------------------------------------------------------------Integer ss = integer(sle_1.text) //sle_1 text单⾏编辑框⽂本if s>=90 thenSt_1.text = “优”elseif s>=80 thenSt_1.text = “良”elseif s>=70 thenSt_1.text = “中”elseif s>=60 thenSt_1.text = “及格”elseSt_1.text = “不及格”end if------------------------------------------------------------⼆、CHOOSE语句CHOOSE CASE scoreCASE s>=90St_1.text = “优”CASE 80 to 90St_1.text = “良”CASE ELSESt_1.text = “⾮优良”END CHOOSE三、for循环格式:2 FOR NEXT循环FOR … NEXT是个循环次数确定的循环结构,它使循环体内的语句执⾏规定的次数,其语法结构为:FOR varname = start TO end [STEP increment]StatementblockNEXT其中,varname是循环变量,可以是任意的数值类型,start、end分别是循环变量的初值和终值,increment是每次循环后循环变量的步长增量(缺省值为1),statementblock是⼀组语句,称做循环体,⽅括号表⽰该⼦句可以省略。
PB程序设计-第2章PowerScript编程语言
2.2.1 标准数据类型
• UnsignedInteger(UnsignedInt或UInt):无符号 整型。16位数,范围从0到65535。
• UnsignedLong(或ULong):无符号长整型。32 位数,范围从0到4294967295。
返回本节录
2.2.2 系统对象数据类型
在PowerBuilder中,窗口、菜单、各种控件 都是系统对象,每一种系统对象实际上都是 定义在PowerBuilder内部的一种数据类型。 在Browser画板中通过System选项卡可以浏 览到PowerScript的全部系统对象数据类型。 通常只需在相应画板中定义它们,对它们进 行可视化操作。但有时候需要动态地处理窗 口、菜单、控件等系统对象,这时就要定义 系统对象数据类型。
• Blob:大型二进制类型。包括文本文件、图像等。 • Boolean:布尔类型。布尔型变量只有True和
False,用于逻辑表达式。声明布尔类型变量 时,默认值为False。 • Character(或Char):单个ASCII字符。 • Date:日期类型。包括年(4位数)、月(2位 数)、日(2位数)。如:2019ˉ12ˉ05。
SQLSA、Error、Message)不需事先声明。 • 例如: Integer score=100
String city=″大连″,country
返回本节录
2.5 PowerScript语句
返回本节录
2.3.1 运算符
3.逻辑运算
• 逻辑运算符用来对布尔型的变量进行运算,运算 符有非(Not)、与(And)、或(Or),其结 果是True和False。
• 例: If A>10And A<100Then……
PB开发规范
目标:规范PB编码,提高项目质量方法:源代码规范与界面规范实现:MICROSOFT WORD、POWERBUILD一、PB开发标准与命名约定●在PB代码开发中,局部变量不使用作用域限定符,所有的运算符及赋值动词(=)的前后者应加上一个空格,并且函数的参数表中的每个变量前面也要加入一个空格。
如:wf_GetAttrib( id, name, date ) 。
●应使用TAB而不是空格来缩排循环或复合语句中的代码,显示其包含关系。
●函数名,事件名或变量名一律用英文书写,首字母用大写,单词之间不用连字符(_)如:wf_RightTrim() 。
●数据库命令(INSERT ,SELECT …)使用全部大写。
●行延续时,连接标记应置于行尾。
●单行结构的语句应分解多行:If n_Rows > 6 thendw_report.Retrieve()EndIf而非If n_Rows >6 then dw_report.Retrieve() 。
●在函数或事件代码中,应加入相应的注释内容与函数头(事件头)如下所示:///////////////////////////////////////////////////////////////////////////////////// 目标:// 参数:Ag1// Ag2// Ag3// 返回值://////////////////////////////////////////////////////////////////////////////////////以下开始为代码●PBL库的命名规则应为PPP_OOOO , PPP为项目缩写,OOOO为能体现此库的内容的缩写。
1、PB对象命名约定2、PB数据类型命名约定3 、PB控件命名约定4 、PB变量作用域约定二、PB开发界面规范1、总则●系统运行平台为中文Win95或中文Win98。
●屏幕分辨率为800x600,大字体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PB 基本语句循环语句PB 基本语句一、赋值语句赋值语句用于给变量、对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variablename = expression其中:⑴variablename是变量名或对象属性;⑵expression是表达式,其数据类型应该与variablename的数据类型兼容。
下面是赋值语句的几个简单示例:Address = "北京"TaxRate = .05Age = 30mle.text="北京欢迎你"PowerScript的赋值语句不支持多重赋值,也就是说,一条赋值语句只对一个变量赋值,不能同时对多个变量赋值。
下面的语句:A=B=0在有些编程语言中同时把A和B均赋值0,但PowerScript中,该语句等价于:A=(B=0)其意义为,检查B等于0是否成立,成立时将TRUE赋给变量A,否则把FALSE赋给变量A。
如果A不是Boolean类型的变量,则上述语句将引起编译错误。
二、条件语句IF语句有两种形式,下面我们按照从简单到复杂的次序逐一介绍。
1. 单行IF ... THEN语句单行IF ... THEN语句的格式为:IF逻辑表达式THEN语句1 [ELSE语句2]单行IF ... THEN语句书写时整条语句写在一行上,当逻辑表达式的结果为True时执行语句1,否则执行语句2(如果有该子句的话)。
例如:IF sle_State.text="BJ" THEN MessageBox("欢迎","北京")2.多行IF ... THEN语句多行IF ... THEN语句的语法格式为:IF 逻辑表达式1 THEN语句1[ ELSEIF 逻辑表达式2 THEN语句2. . .] [ ELSE 语句n]END IF本语句的执行过程为:计算逻辑表达式1,如果其结果为True,则执行语句1,然后离开整个IF语句;否则计算逻辑表达式2,如果其结果为True,则执行语句2,然后离开整个IF语句;... 如果逻辑表达式的结果都是False,且存在ELSE子句,则执行语句3。
例1:从单行编辑框中输入考分,按“输入”按钮再根据考分显示及格或不及格。
Integer ss = integer(sle_1.text) //sle_1 text单行编辑框文本If s < 60 thenSt_1.text = “不及格”// St_1.text静态编辑框文本ElseSt_1.text = “及格”End if例2:从单行编辑框中输入考分,按“输入”按钮后,再根据考分显示优、良、中、及格或不及格。
Integer ss = integer(sle_1.text) //sle_1 text单行编辑框文本if s>=90 thenSt_1.text = “优”elseif s>=80 thenSt_1.text = “良”elseif s>=70 thenSt_1.text = “中”elseif s>=60 thenSt_1.text = “及格”elseSt_1.text = “不及格”end if3. CHOOSE CASE语句根据测试表达式的值选择不同的操作,其语法格式为:CHOOSE CASE 测试表达式CASE 判断表达式执行语句块[CASE 判断表达式语句块. . .CASE 判断表达式语句块][CASE ELSE语句块]END CHOOSE判断表达式可以使用如下的形式:1. 用逗号分隔的一组数据,例如:2,4,72. 用TO表示一个区间范围,例如:2 TO 153. 用IS代表测试值,后跟关系操作符和比较值,例如:IS> 304. 组合运用上述三种方法,并用逗号进行分隔,例如:5,6,8 TO 12,IS > 20执行CHOOSE CASE语句时,PowerBuilder将逐条查找CASE,如果找到与测试值相匹配的判断表达式,就执行该CASE后的语句块,然后执行END CHOOSE后的第一条语句。
如果CHOOSE CASE语句中包含CASE ELSE子句,则未找到任何匹配的CASE条件时,执行CASE ELSE子句中的语句块。
例3:从单行编辑框中输入考分,按“输入”按钮后,再根据考分显示优、良、种、及格或不及格。
(用choose case重写例2)integer fString sf = integer(sle_1.text)CHOOSE CASE fCASE IS >= 90 // 改进90 to 100S = "优"CASE 80 TO 89S = "良"CASE 70 TO 79S = "中"CASE 60 TO 69S = "及格"CASE 0 TO 59S = "不及格"CASE ELSES = "输入错,请重新输入!"END CHOOSESt_1.text = string(S)三、循环语句各种语言都提供了自己的循环语句,PowerScript也不例外,它的循环语句有三种形式:DO …LOOP、FOR …NEXT、GOTO,将前两种形式与EXIT和CONTINUE语句配合使用,可以完全抛弃GOTO语句,而且DO …LOOP本身有四种格式,丰富多采的表达方式为我们编写清晰流畅的程序提供了有效手段。
下面介绍PowerScript循环语句的格式、中途退出循环或中途开始下次循环的方法、以及循环嵌套的概念。
1 DO LOOP循环DO LOOP结构提供了一种基于某个条件的灵活的循环方法,它有四种形式,分别为:DO UNTILu <条件>… LOOPDO WHILEu <条件> … LOOP (类似c)DO …LOOP UNTIL u <条件>u DO …LOOP WHILE <条件> (类似c)DO表示循环的开始,LOOP表示循环的结束,condition表示循环条件,是个逻辑表达式,其值为True 或False。
(1) DO UNTIL … LOOP的语法格式为:DO UNTIL <条件>语句块LOOP其执行过程为:先计算条件condition,其结果为False时,执行语句块,接着再检查条件,直到条件的结果为True时退出循环。
例:按计算按钮求s = 1+2+3+ (10)解1:integer i=1, s = 0DO UNTIL i>10s += ii ++LOOPst_1.text = string(s)(2) DO WHILE … LOOP的语法格式为:DO WHILE <条件>语句块LOOP其执行过程为:先计算条件,其结果为True时,执行语句块,接着再检查条件,直到条件的结果为False 时退出循环。
例:按计算按钮求s = 1+2+3+ (10)解2:integer i=1, s = 0DO WHILE i<=10s += ii ++LOOPst_1.text = string(s)(3) DO …LOOP UNTIL的语法格式为:DO语句块LOOP UNTIL <条件>其执行过程为:先执行语句块,然后计算条件,如果其结果为False,则继续执行语句块,直到条件的结果为True时退出循环。
例:按计算按钮求s = 1+2+3+ (10)解3:解1与解3完全等价integer i=1, s = 0DOs += ii ++LOOP UNTIL i>10st_1.text = string(s)(4) DO … LOOP WHILE的语法格式为:DO语句块LOOP WHILE <条件>其执行过程为:先执行语句块,然后计算条件,如果其结果为True,则继续执行语句块,直到条件的结果为False时退出循环。
例:按计算按钮求s = 1+2+3+ (10)解4:解2与解4完全等价integer i=1, s = 0DOs += ii ++LOOP WHILE i<=10st_1.text = string(s)这四种循环结构中,前两种结构可以一次也不执行,后两种结构则至少执行一次。
实际上,只需要从前两种和后两种结构中各取其一就能表达所有的逻辑关系,但为了更清晰地表达条件,PowerScript还是提供了四种结构。
2 FOR NEXT循环FOR … NEXT是个循环次数确定的循环结构,它使循环体内的语句执行规定的次数,其语法结构为:FOR varname = start TO end [STEP increment]StatementblockNEXT其中,varname是循环变量,可以是任意的数值类型,start、end分别是循环变量的初值和终值,increment 是每次循环后循环变量的步长增量(缺省值为1),statementblock是一组语句,称做循环体,方括号表示该子句可以省略。
FOR …NEXT语句的执行过程为:循环变量varname从start开始,到end为止,重复执行循环体,每执行一次,varname被重新赋值,新值为:varname+ increment。
另外,如果start和/或end在循环体内被修改,将影响循环次数。
例:按计算按钮求s = 1+2+3+ (10)解5:integer i, s = 0for i=1 to 10s += inextst_1.text = string(s)3 EXIT(退出循环)在循环语句的循环体中,当我们想在中途退出循环时,使用EXIT语句是个好办法,执行该语句后,程序的控制权转至循环语句后的语句,执行该语句后,程序的控制权转至循环语句后的语句。
在嵌套循环的情况下,EXIT语句退出当前层循环,而不是所有循环。
功能:执行该语句后,程序的控制权转至循环语句后的语句。
例:下列程序运行后,变量s中的值是多少?integer i, j,s=0for i=1 to 10for j=1 to 10if j>6 thenexitend ifnexts = s + inext4 CONTINUE(继续循环)功能:在循环语句的循环体中,遇到CONTINUE语句后,将不执行CONTINUE语句后与循环结束前的所有语句,而开始新一轮循环。
四、返回语句与终止程序运行在编写事件处理程序或函数时,使用RETURN语句返回控制给用户或调用函数的地方。
当希望终止应用程序的运行时,使用HALT语句。
1 RETURN语句RETURN语句立即终止事件处理程序或函数的执行,把控制返回到调用程序。