欢迎来到天天文库
浏览记录
ID:31632811
大小:58.42 KB
页数:7页
时间:2019-01-16
《vfp程序设计实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、[课题]:程序设计实例[目的要求]:通过实例进一步理解FOR……ENDFOR、DOWHILE……ENDDO.SCAN……ENDSCAN语句的格式、作用及流程,掌握循环结构的程序设计,领会循环结构在程序的作用及问题的解决方法。[重点]:循环语句的格式、作用与流程;循环结构程序的编写。[难点]:解决问题能力的培养和提高。[学时4学时[教学过程及内容]:导入:前面掌握各循环的格式、作用、流程,我们今天学习如何应用循环结构解决常见的问题。一、程序设计实例1、求riooo之间的全部同构数,即一个数若出现在它的平方数的右端,则称之为同构数。如5与25、25与625思路:将其平
2、方数的右端取岀来,然后与原数比较,若相等,则为同构数,否则不是。在取平方数的右端时,若平方数小于100,则取一位,若平方数小于10000,则取两位,其他的取三位。代码:CLEARFORI二1TO1000J二1*1DOCASECASEJ<100K=MOD(J,10)CASEJ<10000K=MOD(J,100)OTHERWISEK=MOD(J,1000)ENDCASEIFI二K?T,T*TENDIFENDFORRETURN2、求:T100之间的素数,即一个数若只能被1和他木身整除外,不再被任何数整除,那么该数就为素数。思路:一个数若能被某数整除,除数一定是小于等于该
3、数。那么判断某数是否为素数,应用2~N-1之间的数来除,若找到能被其中的一个数整除,那么就不是,若没有找到,则是。代码:CLEARFORI二3TO100T=.T.FORJ=2TO1-1IFMOD(I,J)=0T二.F.EXITENDIFENDFORIFT??TENDIFENDFORRETURN3、求1-1/2+1/3-1/4+1/99-1/100的和思路:关键是控制其+、-代码:CLEARS=0T二1FORI二1TO100S二S+T*(l/I)T=-TENDFOR?SRETURN4>编程输出99乘法表。思路:了解99乘法表,掌握其特点。代码:CLEARFOR[二1
4、TO9FORJ=1TOI??STR(J,1)+”x”+STR(1,1)+”二”+STR(J*1,2)+”“ENDFOR9■ENDFORRETURN5、随机产生20个(100,200)之间的整数,然后将他们从大到小输出思路:产生随机数用RAND()函数。[n,in]之间的随机数的式子为:n+int(rand()*(m-n+1));(n,m)之间的随机数的式子为:n+l+int(rand()*(m-n~l))。随机数的保存用数组。然后将随机数进行从小到在排序,最后输出。排序的方法为将一个数与其后面的每个数进行比较,若后面的数大于该数,则交换。代码:CLEARDIMEN
5、SIONN(20)FOR1=1TO20N(1)=1O1+1NT(RAND()*99)ENDFORFORI二1TO19FORJ二1+1TO20IFN(J)6、TO4??A(1,J)ENDFOR9■ENDFORFOR1=1TO4FORJ=1TO3B(I,J)=A(J,I)??B(I,J)ENDFOR9■ENDFORRETURN7、数制的转换(十进制转换为二进制)思路:用该数去整除基(2),取其余数,然后再用商去整除基,直至商为0,最后将余数从后往前排。代码:CLEARINPUT“请输入一个十进制整数:”toxT二XY=DOWHILETOOP二MOD(T,2)T二INT(T/2)Y二STR(P,1)+YENDDO?”转换为二进制数为:”+yreturn8、输入一个纯英文句子,统计单词的个数(单词之间用1个或数个空格分隔)思7、路:将句子的字符一个一个取出进行判断,如果其是不是空隔,且是单词的开头,则个数加1。代码:CLEARaccept“请输入一个纯英文句子:”tosN=0T=0For1=1tolen(s)X二substr(s,I,1)Tfx◊”“Ift=0N=n+1T=1EndifElseT=0EndifEndfor?”单词个数为:”+str(n,3)return9、输入一个字符串,检查其是否是回文,女n:LEVEL.123321思路:将前后字符依次一个一个读出,判断其是否相同,若出现一个不相同,则不是回文,直至字符串的最中间代码:CLEARACCEPT“请输入一个字符串:”tosT8、=.t.L
6、TO4??A(1,J)ENDFOR9■ENDFORFOR1=1TO4FORJ=1TO3B(I,J)=A(J,I)??B(I,J)ENDFOR9■ENDFORRETURN7、数制的转换(十进制转换为二进制)思路:用该数去整除基(2),取其余数,然后再用商去整除基,直至商为0,最后将余数从后往前排。代码:CLEARINPUT“请输入一个十进制整数:”toxT二XY=DOWHILETOOP二MOD(T,2)T二INT(T/2)Y二STR(P,1)+YENDDO?”转换为二进制数为:”+yreturn8、输入一个纯英文句子,统计单词的个数(单词之间用1个或数个空格分隔)思
7、路:将句子的字符一个一个取出进行判断,如果其是不是空隔,且是单词的开头,则个数加1。代码:CLEARaccept“请输入一个纯英文句子:”tosN=0T=0For1=1tolen(s)X二substr(s,I,1)Tfx◊”“Ift=0N=n+1T=1EndifElseT=0EndifEndfor?”单词个数为:”+str(n,3)return9、输入一个字符串,检查其是否是回文,女n:LEVEL.123321思路:将前后字符依次一个一个读出,判断其是否相同,若出现一个不相同,则不是回文,直至字符串的最中间代码:CLEARACCEPT“请输入一个字符串:”tosT
8、=.t.L
此文档下载收益归作者所有