网站大量收购闲置独家精品文档,联系QQ:2885784924

2012-2013-2VFP第4部分(循环结构).ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
拓展 【练习7】输入一个正整数判断这个是几位数。 【练习8】将整数x中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入123456789,输出:b=97531。 【练习9】有一数列:1,1,2,3,5,8,13……求出这个数列的前30项之和。(注意分子与分母的变化规律。) 【练习10】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前20项之和。(注意分子与分母的变化规律。) 【练习4】 100以内能够被X整除的数之和。 开始 S=0,i=1 输入X i=100 真 输出s的值 结束 假 i=i+1 S=S+i Mod(i,X)=0 真 假 【练习5】找出所有的四位水仙花数 开始 S=0,i=1 1000=i and i=9999 真 输出y 结束 假 i=i+1 分别取各位数 Y=X 真 假 计算各位数立方和y 【练习6】找出所有的三位回文数 开始 S=0,i=1 100=i and i=999 真 输出i 结束 假 i=i+1 取个位数a1和百位数a3 a1=a3 真 假 (教材P60-61) 【例3-10】设计如图1所示表单。运行该表单,在文本框Text1中输入一串字符,单击“逆序显示”命令按钮后,逆序显示该字符串,如图2所示。 图1 图2 x=Av56:YijB8 逆序: 从右到左逐个取出 8 B j i Y : 6 5 v A 11 10 9 8 7 6 5 4 3 2 1 次数i(循环变量): 总次数=总的字符数 c=c+substr(x,i,1) C=8BjiY:65vA substr(x,i,1) 总的字符数len(x) 确定变量: x:存任意字符串x= Av56:YijB8 i:存截取次数(1~len(x)) c:存逆序字符串 c=c+substr(x,i,1) 确定算法:用循环在原字符串中从右到左逐个截取字符,重新组装成逆序字符串 确定循环三要素: 循环变量 : i (i初值为len(x),终值为1) 循环条件: i=1 循环条件改变:i=i-1(从右到左截取) 【例】输入一串ASCII字符,显示数字字符串。假设输入:Av56:YijB8 显示:568。 请同学们自己写出程序 从左到右逐个取出字符x 判断x是数字的条件: Asc(x)asc(‘0’) and Asc(x)asc(‘9’) 【例】输入一串ASCII字符,显示大写字母串。假设输入:Av56:YijB8 显示: AYB 。 输入一串ASCII字符,显示小写字母串。假设输入: Av56:YijB8 显示:vij 。 请同学们自己写出程序 【例】如图所示一程序界面。文本框TEXT1已经输入一串文字,单击“转换”命令按钮后,文本框的值将变为什么? “转换” 命令按钮的CLICK 事件代码: N=LEN(THISFORM.TEXT1.VALUE) Y= DO WHILE N0 X=SUBSTR(THISFORM.TEXT1.VALUE,N,1) IF ASC(X)=ASC(a) X=UPPER(X) ELSE X=LOWER(X) ENDIF Y=X+Y N=N-1 ENDDO THISFORM.TEXT1.VALUE=Y tHIS IS A cpu. Command1_click: x=thisform.text1.value W=0 位数计数器 If int(x)=x and x=0 do while x=1 x=int(x/10) w=w+1 enddo messagebox(你输入的是一个+alltrim(str(w))+位数) Else messagebox(请输入正整数.) endif Command1_click: x=thisform.text1.value y=0 If int(x)=x and x=0 do while x=1 x1=mod(x,10) 记录从后向前的每一位数 IF x1%2=1 判断每一位是否为奇数 y=y*10+x1 逆序组合新数 endif x=int(x/10) enddo Else messagebox(请输入正整数.) endif Comm

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档