ImageVerifierCode 换一换
格式:PPT , 页数:107 ,大小:563.53KB ,
文档编号:6241485      下载积分:22 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-6241485.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(ziliao2023)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(6-程序设计初步教学课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

6-程序设计初步教学课件.ppt

1、12 顺序结构设计 分支结构设计 循环结构设计 程序设计基础 模块化设计34程序设计基础程序设计基础数据结构数据结构算法算法对数据的描述:在程序中指定对数据的描述:在程序中指定数据的类型和数据的组织形式数据的类型和数据的组织形式对操作的描述对操作的描述类比理解:菜谱原料操作步骤一系列计算机一系列计算机指令的集合指令的集合 56程序设计基础程序设计基础78特点特点:依照程序书写顺序执行程序依照程序书写顺序执行程序 use sb&打开表 list fields 名称,价格 for 主要设备&显示相关记录 replace all 价格 with 价格*0.9 for 主要设备&数据替换 例:打开设备

2、表,显示所有主要设备的名称及价格,并将主要设备的价格降低10%。9特点特点:根据条件的 满足与否而 分别执行与 其相对应的 操作开始打开表输入员工号找到吗关闭表结束YN输出查无此人输出姓名等思考思考:分支结构与顺序结构的不同之处 10特点特点:反复执行某些操作,反复执行的部分称为循环体。条件循环体YN(a)当型循环Y循环体条件N(b)直到型循环思考:思考:两种循环结构的区别在于?(提示:循环条件)答案答案:1.当型是当循环条件成立时执行循环体,条件不成立时退出循环;直到型是执行循环体,直到条件成立才退出循环。2.当型是先判断后执行,可能一次都不能执行;直到型是先执行后判断,至少执行一次。111

3、2程序设计基础程序设计基础自顶向下逐步细化结构化编码模块化设计算法设计13程序设计基础程序设计基础141516171819 系统将整个屏幕划分为:25行 80列 XY平面坐标系。SAY GET DEFAULT READ 2021根据员工的编号来修改员工的基本工资和水电费。CLEAR USE 工资表 yg=0001 2,10 SAY 请输入员工的编号 GET yg READ LOCATE FOR 员工编号=yg 4,10 SAY“请修改基本工资”GET 基本工资 6,10 SAY“请修改水电费”GET 水电费 READ USE 222324251.建立或修改程序文件 2.(1)命令方式3.:4.

4、:建立或修改一个程序文件。:命令中的文件名是指定要生成的程序文件的名称,缺省的扩展名为.PRG;文件名前也可以指明路径。26272829 顺序结构程序设计是三种基本结构中最简单也是最常用的一种结构。顺序结构的程序在运行时按照语句排列的先后顺序,自顶向下依次执行。30从键盘输入一个小写字母,要求改用大写字母输出。从键盘输入一个小写字母,要求改用大写字母输出。SET TALK OFF CLEARACCEPT 请输入一个小写字母 TO aa=UPPER(a)?“转换结果为:,aSET TALK ONRETURN 开 始输入字母大小写转换输出结果结 束例6.2流程图 如果输入的字母为非小写字母,例如,

5、误操作输入了大写字母或是数字字符,那么在此程序运行中仍然将继续执行并显示结果,这显然与题意不符,要解决这个问题,需要用到选择结构程序。3132 程序应具有程序应具有判断判断功能,而判断是通过程序功能,而判断是通过程序中的分支结构(选择结构)来实现的。中的分支结构(选择结构)来实现的。分支结构是程序中一种常用结构,按照分支结构是程序中一种常用结构,按照分支结构分支结构执行路径的多少执行路径的多少,可分为,可分为单分支、单分支、双分支和多分支双分支和多分支结构。实现分支结构的语句结构。实现分支结构的语句有有 IF语句语句和和DO CASE语句。语句。无论哪种类型的分支结构,都是依据无论哪种类型的分

6、支结构,都是依据所给所给条件为真或为假条件为真或为假,来选择,来选择执行某一分执行某一分支支的相应操作。的相应操作。33执行流程:执行流程:首先计算首先计算条件表达式条件表达式的值,的值,若其值为真若其值为真,则执行,则执行IFIF与与ENDIFENDIF之间的命令之间的命令 序列序列,然后执行然后执行ENDIFENDIF后面的命令;后面的命令;若其值为假,若其值为假,则直接执行则直接执行ENDIFENDIF后面的命令。后面的命令。34条件ENDIF后语句后语句N命令序列Y思考思考:分支结构与顺序结构的不同之处分支结构与顺序结构的不同之处 35例例1 1:求长方形面积。(判断:当输入的边长值为

7、正:求长方形面积。(判断:当输入的边长值为正数时,求面积。)数时,求面积。)clearset talk offinput “请输入长方形的长:请输入长方形的长:”to linput “请输入长方形的宽:请输入长方形的宽:”to wif l0 and w0 s=l*w?”长方形的面积为:长方形的面积为:”,sendifreturn在设计程序时,对于有数据在设计程序时,对于有数据输入的程序,一定要对输入输入的程序,一定要对输入数据的数据的有效性有效性做相应的检查,做相应的检查,避免由于数据的错误输入而避免由于数据的错误输入而导致程序的出错。这是一个导致程序的出错。这是一个程序员必须养成的良好习惯。

8、程序员必须养成的良好习惯。输入长宽:输入长宽:L和和W开始开始L,W“z”)OR(a“z”)OR(a“a”)?“?“输入字母错误输入字母错误!”!”SET TALK ON SET TALK ON RETURN RETURNENDIFENDIFa=UPPER(a)a=UPPER(a)?转换结果为转换结果为:,:,a aSET TALK ONSET TALK ONRETURN RETURN 372 2、双分支结构、双分支结构 格式:格式:IF IF 1 ELSEELSE 2 ENDIFENDIF执行流程:执行流程:首先计算首先计算条件表达式条件表达式的值,的值,若其值为真若其值为真,则执行命令序列

9、,则执行命令序列1 1,然后,然后 再执行再执行ENDIFENDIF后面的命令;后面的命令;若其为假若其为假,执行命令序列,执行命令序列2 2,然后再执,然后再执 行行ENDIFENDIF后面的命令。后面的命令。38条件条件语句序列语句序列1 1语句序列语句序列2 2YN39从键盘输入一个数,判断其为奇数还是偶数。从键盘输入一个数,判断其为奇数还是偶数。分析分析:(1 1)首先是输入一个)首先是输入一个数,然后判断输入的数奇偶数,然后判断输入的数奇偶性。性。(2 2)应输入数值型数据,可)应输入数值型数据,可以用以用INPUTINPUT或是或是GETGET语句来输语句来输入。入。(3 3)如何

10、判断奇偶性呢?可)如何判断奇偶性呢?可使用使用MODMOD函数或求余运算符函数或求余运算符“%”“%”。对于一个偶数。对于一个偶数x x,MODMOD(x x,2 2)应该为应该为0 0,否则为,否则为1 1。输出偶数偶数开始开始输入数输入数余余数数为为0?0?输出奇数输出奇数结束结束YNSET TALK OFFSET TALK OFFINPUT“INPUT“请输入一个数字请输入一个数字”TO aTO aIF MOD(a,2)=0&a%2=0IF MOD(a,2)=0&a%2=0?a,“?a,“是一个偶数是一个偶数”ELSEELSE?a,“?a,“是一个奇数是一个奇数”ENDIFENDIFSE

11、T TALK ONSET TALK ONRETURN RETURN 40分析分析:1.1.打开工资表打开工资表;2.2.输入员工号输入员工号;3.3.用用LOCATELOCATE命令查找该命令查找该员工;员工;4.4.用用FOUND()FOUND()函数来判函数来判断是否存在该记录。断是否存在该记录。5.5.若若FOUND()FOUND()函数为真,函数为真,表示存在此员工记录,表示存在此员工记录,否则,不存在此员工记否则,不存在此员工记录,给出录,给出“查无此人查无此人”的提示信息。的提示信息。5.5.关闭表。关闭表。开始开始打开表打开表输入员工号输入员工号找到找到吗吗关闭表关闭表结束结束Y

12、N输出查无此人输出查无此人输出员工信息输出员工信息查找该员工查找该员工41SET TALK OFFSET TALK OFFUSE USE 工资表工资表ACCEPT “ACCEPT “请输入员工编号请输入员工编号”TO aTO aLOCATE FOR LOCATE FOR 员工编号员工编号=a aIF IF FOUNDFOUND()()&条件条件FOUNDFOUND()()为真表示存在此员工为真表示存在此员工 DISP DISP 员工号员工号,基本工资基本工资,水电费水电费ELSE ELSE&条件条件FOUNDFOUND()()为假表示不存在此员工为假表示不存在此员工?“查无此人!查无此人!”E

13、NDIFENDIFUSE USE SET TALK ONSET TALK ONRETURNRETURN程序采用程序采用格式书写,格式书写,便便于阅读和调试。于阅读和调试。42注意:注意:1 1、IFIF与与ENDIFENDIF必须成对出现,且各占一行。必须成对出现,且各占一行。2 2、可以为关系表达式、逻辑表达式或可以为关系表达式、逻辑表达式或其他逻辑量。其他逻辑量。4344clearclearset talk offset talk offinput“input“请输入请输入a a的值:的值:”to a to a input“input“请输入请输入b b的值:的值:”to b to b i

14、nput“input“请输入请输入c c的值:的值:”to c to c if ab&aif ab&a和和b b比较大小,若比较大小,若a a大,则大,则a a、b b 交换交换 s=a s=a a=b a=b b=s b=sendifendifif ac if ac&a&a和和c c比较大小,若比较大小,若a a大,则大,则a a、c c 交换交换 s=a s=a a=c a=c c=s c=sendifendifIf bc&bIf bc&b和和c c比较大小,若比较大小,若b b大,则大,则b b、c c 交换交换 s=b s=b b=c b=c c=s c=sendifendif?a,b

15、,c?a,b,creturnreturn453.3.IFIF语句的嵌套语句的嵌套 实际生活中,很多问题不仅仅只有两种可能,而是要实际生活中,很多问题不仅仅只有两种可能,而是要求对多种情况进行不同的处理,则需要用到求对多种情况进行不同的处理,则需要用到IFIF语句嵌套。语句嵌套。嵌套嵌套是指在某种结构中含有其它结构。是指在某种结构中含有其它结构。一般格式:一般格式:IF IF 1 IF IF 2 ENDIF ENDIF ELSE ELSE IF IF 3 ENDIF ENDIF ENDIF ENDIF 注意:注意:1 1、IFIF一定要与一定要与ENDIFENDIF配对。配对。2 2、在、在IF

16、IF结构之间可以嵌套,结构之间可以嵌套,但不能交叉。但不能交叉。46INPUT“INPUT“请输入学生成绩请输入学生成绩”TO pTO pIF p60IF p60?“不及格不及格”ELSEELSE IF p70 IF p70?“?“及格及格”ELSE ELSE IF p80 IF p80?“?“良良”ELSE ELSE IF p90 IF p100)OR (P0)?输入的成绩有误,请重新输入输入的成绩有误,请重新输入ELSE DO CASE CASE P60?不及格不及格 CASE P70?及格及格 CASE P80?良良 CASE P90?好好 OTHERWISE?优优 ENDCASEEND

17、IFRETURN49编一缴税程序,以编一缴税程序,以800800元为基数,超出部分元为基数,超出部分的缴税比例如下:的缴税比例如下:800-1500(含(含800)5%1500-2500(含(含1500)10%2500-5000(含(含2500)20%5000以上以上(含(含5000)25%5051小结小结 分支结构使得程序功能得到完善,分支结构使得程序功能得到完善,分支结构的目的在于分支结构的目的在于对不同情况做出对不同情况做出不同处理不同处理,这种结构的出现使得计算,这种结构的出现使得计算机在一定程度上具有了机在一定程度上具有了判断判断的功能,的功能,是计算机走向智能化的重要结构。是计算机

18、走向智能化的重要结构。521.1.条条 件件 循循 环环 2.2.步步 长长 循循 环环 3.3.扫扫 描描 循循 环环 53:命令序列命令序列EXITLOOPEnddo后面语句后面语句条件条件FTEnddo5455 求1+2+3+100之和。分析分析:0+1=1 1+2=3 3+3=6 6+4=10 4950+100=5050S I S S=0I=1S=S+II=I+1S=S+II=I+1S=S+II=I+156结 束输出s开 始i=100?s,i赋初值0s=s+ii=i+1YN例6.12流程图SET TALK OFFCLEARI=1S=0I=100I5为止,求此时n的值。60 61CLEA

19、RSET TALK OFFSTORE 0 TO S,IDO WHILE.T.DO WHILE.T.N=N+1 S=S+1/N IF S5 EXITEXIT ENDIFENDDOENDDO?“n的值应该为”,nSET TALK ONRETURN62求100到200之间所有奇数之和。6364条件循环可以实现已知和未知循环次数的循环。对于的循环还可采用步长循环。格式格式:数值表达式,默认值为1。说明说明:65假设n的初值为06667 求1+2+3+100之和。SET TALK OFF CLEAR S=0 S=0 FOR i=1 TO 100 STEP 1 FOR i=1 TO 100 STEP 1

20、S=S+i S=S+i ENDFOR ENDFOR?1-100之和为,S SET TALK ON RETURN:求123100之积。S1S=S*i积68 求所有的3位数中能同时被5和12整除的数有多少个?其和是多少?并按照每行输出5个,输出这些数。69:输出所有的四位数中能同时被9和11整除的数,每行输出6个。70在员工表中添加10条新记录。71RETURN7273格格 式式:说说 明明:74统计员工表中男女人数,以及教授和副教授的人数。?“总共有”,n1,“个男员工”?“总共有”,n2,“个女员工”?“总共有”,j1,“个教授”?“总共有”,j2,“个副教授”USE 7576775、设S=1

21、+1/2+1/3+1/N,求使S不超过10的最大的N值。6、求1-1000之间能被3整除的偶数的个数及其和。7、打印如下图形:*附加题:1、任意输入10个数,能求出它们中的最大值和最小值。2、打印九九乘法表。781.1.子子 程程 序序 2.2.过程与过程文件过程与过程文件 3.3.自定义函数自定义函数 4.4.内存变量的作用域内存变量的作用域 5.5.数据传递数据传递 79 子程序实际上是一个程序,其是一个相对的概念,通常称调用的程序为主程序,被调用的程序为子程序。1、主程序执行时遇到DO命令,执行就转向子程序。子程序执行完后就会返回到主程序。2、参数表可以是表达式,若为内存变量,必须具有初

22、值。3、调用子程序时,参数表中的参数要传送给子程序。8081求一个半径等于边长的圆与正方形面积之差。主程序:主程序:STORE 0 TO S1,S2INPUT“输入半径或边长的值:TO ADO YUAN.PRGYUAN.PRG WITH A,S1DO ZHEN.PRGZHEN.PRG WITH A,S2?S1-S2YUAN.PRGYUAN.PRGPARAMETERS R,SS=3.14*R2RETURNZHEN.PRGZHEN.PRGPARAMETERS L,SS=L2RETURN82STORE 0 TO S1,S2INPUT “输入半径或边长的;值:”TO ADO YUAN.PRGYUAN.

23、PRG WITH A,S1DO ZHEN.PRGZHEN.PRG WITH A,S2?S1-S2YUAN.PRGYUAN.PRGPARAMETERS R,SS=3.14*R2RETURNZHEN.PRGZHEN.PRGPARAMETERS L,SS=L2RETURNA,S2A,S1主程序:主程序:83 注注 意意 1、只有当DO命令中参数为内存变量时,子程序的参数才能返回给主程序,若参数为常量或表达式时,子程序的参数值不能够返回给主程序。2、若子程序不需要参数时,DO命令也可以不带参数。84 RETURN TO MASTER|TO RETURN TO MASTER|TO 说明:TO MASTE

24、R 直接返回到最外层主程序;TO 强制返回到指定的程序文件。主程序 DO A A.PRG DO B RETUTNB.PRG DO C RETURNTO MASTERC.PRG RETURNTO A85主程序主程序CLEARDO A?“所有程序执行完毕”A.PRG?开始执行ADO B?A执行完毕RETURNB.PRG?开始执行B DO C?B执行完毕RETURN TO MASTERC.PRG?开始执行CRETURN TO A86 如果将多模块程序中的每个模块(主程序,子程序或自定义函数)分别保存为一个独立的.PRG文件,则每执行一个模块就要打开一个文件,势必会增加运行时间。为此VFP允许在一个.

25、PRG文件中设置多个程序模块,并将主程序以外的每个模块定义为一个过程,即“过程文件”,仍以.PRG为扩展名。PROCEDURE PROCEDURE PARAMETERSPARAMETERS RETURNRETURN87说说 明明 a)每个过程均以PROCEDURE开始,以RETURN结束。每个过程实际上是一个独立的子程序或一个用户定义函数。b)PROCEDURE 用于过程的第一条语句,它标识了每个过程的开始,同时定义了过程名。c)过程如果以RETURN 作为结束语句,则该过程既可用DO DO 的形式执行,又可当做一个合法的自定义函数,可供随时调用。88将子程序中的例题改为过程。STORE 0

26、TO S1,S2INPUT “输入半径或边长的值:”TO ADO YUAN WITH A,S1DO ZHEN WITH A,S2?S1-S2PROCEDURE YUANPARAMETERS R,S S=3.14*R2RETURNPROCEDURE ZHENPARAMETERS L,S S=L2RETURN1289写出下列程序的运行结果。SET TALK OFFA=10B=8DO SUBB WITH A,BSET TALK ON RETURNPROCEDURE SUBB PARAMETERS X,Y?X,Y STORE 25 TO X X=302*SQRT(X)Y=Y+X?X,YRETURN结果

27、为:10 811 20 2890格格 式:式:SET PROCEDURE TO SET PROCEDURE TO 功功 能:能:打开过程文件。打开过程文件。91用过程文件实现求一个半径等于边长的圆与正方形面积之差的问题。*Main.prgMain.prgCLEARSET TALK OFFSET PROCEDURE TO sub&打开过程文件打开过程文件sub.prgsub.prgSTORE 0 TO s1,s2INPUT“输入半径或边长的值:TO aDO yuan WITH a,s1&调用过程文件中的过程调用过程文件中的过程yuanyuanDO zhen WITH a,s2&调用过程文件中的过

28、程调用过程文件中的过程zhenzhen?s1-s2SET TALK ONRETURN 92*过程文件过程文件sub.prgsub.prgPROCEDURE yuan&过程过程yuanyuan PARAMETERS r,s s=3.14*r2RETURNPROCEDURE zhen&过程过程zhenzhen PARAMETERS i,s s=i2RETURN 93 FUNCTION FUNCTION PARAMETERS PARAMETERS RETURN RETURN 若使用FUNCTION语句来指出函数名,表示该函数包含在调用程序中;若缺省,则表示此函数是一个独立文件,函数名在定义文件名时确

29、定。RETURN用于返回函数值,只能返回一个值。若缺省该语句则返回值为.T.。自定义函数与系统函数调用方法相同:函数名()94将子程序中的例题改为自定义函数。CLEARS=0INPUT “输入半径或边长的值:”TO A?YUAN(A)-ZHEN(A)?YUAN(A)-ZHEN(A)FUNCTION YUANYUAN PARAMETERS R S=3.14*R2RETURN SFUNCTION ZHENZHEN PARAMETERS L S=L2RETURN S95 定义一个判断n是否是素数的函数,然后调用该函数求21000内的全部素数。分析:分析:a)素数也叫质数,它是大于1且除了1和它本身之

30、外,不能被其他任何整数所整除的整数。b)为了判断某数n是否是素数,一个最简单的方法是用2345n-1这些数逐个去除n,看能否除尽,如果全都除不尽,则n是素数,否则,只要其中一个数除尽了,则n不是素数。为了减少除的次数,提高运行效率,除到n n开方开方即可。96程序:程序:*此子程序判断n是否是素数FUNCTION PRIMEPARAMETERS NFLAG=.T.K=INT(SQRT(N)J=2DO WHILE J=K AND FLAG IF MOD(N,J)=0 FLAG=.F.ENIF J=J+1ENDDORETURN FLAG*main.prg调用该函数求21000内的全部素数。CLEA

31、RFOR M=2 TO 1000 IF PRIME(M)?M ENDIFENDFOR97一、全局变量一、全局变量 PUBLIC PUBLIC 功能:功能:声明并建立全局变量。说明:说明:a)一旦定义可供所有的程序,模块使用。b)在命令窗口定义的变量是全局变量。c)程序执行完后不会自动清除。若以内存变量的作用域分类,可分为下列三种:全局变量、局部变量、隐藏局部变量全局变量、局部变量、隐藏局部变量98 *TEMP.PRGTEMP.PRG PUBLIC I I=2?执行TEMP1前的I:,I DO TEMP1DO TEMP1?执行TEMP1后的I:,I*TEMP1.PRGTEMP1.PRG I=I+

32、4?TEMP1中的I:,I 结果:结果:执行TEMP1前的I:2 TEMP1中的I:6 执行TEMP1后的I:699二、局部变量二、局部变量 在程序中定义的变量,若没带PUBLIC声明,它只能在定义它的程序及其下级程序中使用,一旦定义它的程序运行结束,它便自动被清除。例:*MAIN.PRGMAIN.PRG R=100 DO SUBDO SUB?P RETURN*SUB.PRGSUB.PRG P=2*3.14*R RETURN结果结果:由于P是在子程序中的局部变量,退出子程序后自动被清除,则在主程序中输出P的值时出现变量P P未定义未定义的错误。100三、隐藏内存变量三、隐藏内存变量 PRIVA

33、TE PRIVATE 功能功能:声明并隐藏上级模块中的同名变量。说明:说明:a)对PRIVATE中内存变量的修改并不影响上级程序中与之同名的内存变量的值。此命令只对本级程序及以下各级子程序有效,当返回到上级程序时,被PRIVETE隐藏的当前程序中的内存变量自动删除。b)在它们被隐藏期间,程序就不能再调用这些被隐藏的上级内存变量,但实际上它们仍然存在,一旦含有PRIVATE内存变量的程序结束后,被PRIVATE隐藏起来的那些以前建立的同名的上级内存变量自动恢复以前的内容和状态。101 R=100 P=10 DO SUB?P RETURN PROCEDURE SUB PRIVATE P P=2*3

34、.14*R RETUEN结果:结果:在过程SUB中用PRIVATE命令隐藏了主程序中定义的全局变量P,并重新对P赋值,返回主程序时,P恢复以前的值,即输出1010。优点:优点:使得在开发大型应用程序时,在不同层次的程序中可以使用同名内存变量而不致发生混乱。102 调用子程序时,调用程序要把数据传递给子程序,子程序也可能把数据传回到调用程序,因此在调用子程序过程中,必然要考虑调用程序和被调用程序之间的数据是如何传递的。调用子程序时的数据传递可以通过两种方式解决:a)a)利用变量的作用域实现数据传递利用变量的作用域实现数据传递例:*MAIN.PRGMAIN.PRG gao=8 kuan=6 c=0

35、 DO SUB DO SUB?c return*SUB.PRGSUB.PRG c=gao*kuan RETURN结果为:48103b)b)利用参数实现数据传递利用参数实现数据传递 利用这种方式传递数据,子程序具有更大的独立性。编写子程序时,用PARAMETERSPARAMETERS命令来说明将要输入、输出的变量;用DODO命令来提供输入值和接受输出结果。参数传递有两种方式:值传递值传递和和地址传递地址传递。值传递值传递:子程序中参数变化后的值不回传不回传各上级调用程序。常量和表达式只能使用值传递方式。使用值传递方式的变量要用括号用括号括起来。地址传递地址传递:子程序中参数变化后的值要回传回传各

36、上级调用程序。内存变量既可使用值传递方式,又可用地址传递。使用地址传递方式的变量不加括号不加括号。104写出下列程序的输出。SET TALK OFFX=1Y=3DO SUB WITH X,(Y),5?X,YRERURNPROCEDURE SUBPARAMETERS A,B,C A=ABC B=ABCRERURN分析:分析:程序将3个参数传递给过程SUB,第一个参数X采用地址传递方式,变量A的变化将引起X的变化;第二个参数Y采用值传递方式,B的变化不引起Y的变化;第三个参数是常数,最后输出为9 39 3。105写出下列程序的输出。CLEARA=3B=5?A,BDO PP WITH 3*A,1*B?A,BRETURNPROCEDURE PPPARAMETERS X,YX=X2Y=Y+1?X,YRETURN 分析:分析:程序将两个表达式传递给过程PP,它们都采用值传递方式,X,Y的变化不引起A,B的变化,则输出结果为 3 581 682 3 5思考:将其改为思考:将其改为B B,结果是否一样?结果是否一样?106107

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|