您好,欢迎访问三七文档
【例1-1】设计如图1-1所示表单,运行表单后在文本框text1中输入圆的半径,在文本框text2中显示圆的面积。r=thisform.text1.values=pi()*r^2thisform.text2.value=s【例2-10】设计一表单,要求能输入一个3位数,并逆序显示(如输入756,则显示657)。表单设计界面如图2-22所示,运行结果如图2-23所示。x=thisform.text1.valuea=mod(x,10)b=int(mod(x,100)/10)c=int(x/100)y=a*100+b*10+cthisform.label2.caption=结果为:+str(y)【例】设计如图表单,圆面积用标签输出。r=thisform.text1.values=pi()*r^2thisform.label2.caption=圆面积为:+str(s,5,2)【例2-16】修改【例2-10】中命令按钮“逆序显示”的“click”事件代码,要求能输入一个数,并逆序显示(如输入756,则显示657),如果输入的不是一个3位自然数,将弹出提示框,如图2-34所示。x=thisform.text1.valueifx=100andx=999a=mod(x,10)b=int(mod(x,100)/10)c=int(x/100)y=a*100+b*10+cthisform.label2.caption=结果为:+str(y)elsemessagebox(不是三位自然数!)endif【例】设计如图所示表单,表单运行后,在文本框中输入圆半径,单击“圆面积”按钮,可以弹出提示框显示圆面积,如图所示。编写“圆面积”按钮的事件代码。r=thisform.text1.values=pi()*r^2messagebox(圆面积为+str(s,5,2))(教材P51)【例3-1】设计如图所示表单,在文本框text1中输入华氏温度,单击“计算”按钮可以求出对应的摄氏温度,并在文本框text2中显示。表示华氏温度表示摄氏温度,,其中fascelsfascels9)32(5a=thisform.text1.valueb=5*(a-32)/9thisform.text2.value=round(b,1)(教材P53)【例3-3】修改【例3-2】,在文本框text1、text2、text3中输入三角形的三边,单击“计算”按钮,如果输入的三边能构成三角形,则在文本框text4中显示三角形的面积;否则用提示框给出提示信息:不能构成三角形,重新输入!。如图所示。a=thisform.text1.valueb=thisform.text2.valuec=thisform.text3.valuel=(a+b+c)/2ifa+bcanda+cbandb+cas=sqrt(l*(l-a)*(l-b)*(l-c))thisform.text4.value=round(s,1)elsemessagebox(不能构成三角形,重新输入!)thisform.text1.value=0thisform.text2.value=0thisform.text3.value=0thisform.text1.setfocusendif判断某一年是否是闰年假如年份用y表示,判断y是否是闰年的方法是:若y能够被400整除或y能够被4整除并且不能够被100整除提示:判断一个整数M能否被另一个整数N整除,一般采用三种方法,判断:①MOD(M,N)是否等于0②INT(M/N)是否等于M/N③M%N=0若等于,则表明M能被N整除。d=thisform.text1.valuey=year(d)ify/4=int(y/4)andy/100int(y/100)orint(y/400)=y/400thisform.label2.caption=是elsethisform.label2.caption=不是endifEXM2:输入两个数,比较大小,并输出较大数。输入两个数a,bab??aYN结束?b方法一:双分支a=thisform.text1.valueb=thisform.text2.valueifabthisform.text3.value=aelsethisform.text3.value=bendif输入两个数a,bab?把b的值赋给aYN?a方法二:单分支a=thisform.text1.valueb=thisform.text2.valueifaba=bendifthisform.text3.value=aEXM3:输入两个数,比较大小,并按从大到小的顺序输出。输入两个数a,bab?交换a,b的值YN?a,b使用单分支结构:a=thisform.text1.valueb=thisform.text2.valueifabt=aa=bb=tendifthisform.text1.value=athisform.text2.value=b思考:输入3个数a,b,c,比较大小,并按从大到小的顺序输出。a=thisform.text1.valueb=thisform.text2.valuec=thisform.text3.valueifabt=aa=bb=tendififacm=aa=cc=mendififbcn=bb=cc=nendifthisform.text1.value=athisform.text2.value=bthisform.text3.value=c【修改例3-6】输入月份值,显示对应季节的中文名字(3,4,5月为春季,6,7,8月为夏季,9,10,11月为秋季;12,1,2月为冬季)。m=thisform.text1.valuedocasecasem=3orm=4orm=5s=春季casem=6orm=7orm=8s=夏季casem=9orm=10orm=11s=秋季casem=12orm=1orm=2s=冬季endcasethisform.label3.caption=s【修改例3-8】计算s=1+2+3+…+nn=thisform.text1.values=0i=0dowhilei=ns=s+ii=i+1enddothisform.text2.value=s(教材P60)【例3-9】设计如图所示表单,在文本框text1中输入N的值,求N!。n=thisform.text1.values=1fori=1tons=s*iendforthisform.text2.value=sn=thisform.text1.values=1dowhilen=1s=s*nn=n-1enddothisform.text2.value=s均可【例】求100以内的奇数和。A=1+3+5+…+99循环变量初值n=1循环条件n100循环变量的变化趋势n=n+2请同学们自己写出程序循环体累加语句:A=A+ns=0fori=1to100step2s=s+iendforthisform.text1.value=s222...21nK【例】求循环变量初值x=1循环条件xn循环变量的变化趋势x=x+1请同学们自己写出程序循环体累加语句:K=K+x2n=thisform.text1.values=0fori=1tons=s+i^2endforthisform.text2.value=s思考:计算e的近似值。其公式为:e=1+1/1!+1/2!+1/3!+…+1/N!,直到1/N!0.000001为止。s=1n=1f=1dowhile1/f=0.000001f=f*ns=s+1/fn=n+1enddothisform.text1.value=s【例】求所有的水仙花数。(所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。fori=100to999a=int(i/100)b=int(mod(i,100)/10)c=mod(i,10)ifi=a^3+b^3+c^3thisform.label1.caption=thisform.label1.caption+str(i)endifendfor例:1到n的奇数和、偶数和100以内能够被X整除的数之和。n1...312111001...4131211请同学们自己写出程序布置学生思考n=thisform.text1.valueifn=int(n)andn0s=0i=1fori=1tons=s+1/iendforthisform.text2.value=selsemessagebox(输入的不是自然数,请重输!)endif(教材P60-61)【例3-10】设计如图1所示表单。运行该表单,在文本框Text1中输入一串字符,单击“逆序显示”命令按钮后,逆序显示该字符串,如图2所示。图1图2a=thisform.text1.valueb=fori=len(a)to1step-1m=substr(a,i,1)b=b+mendforthisform.label2.caption=b12343s=0fori=1to100ifi/2int(i/2)s=s+1/ielses=s-1/iendifendforthisform.text1.value=s4【例】输入一串ASCII字符,显示数字字符串。假设输入:Av56:YijB8显示:568。请同学们自己写出程序从左到右逐个取出字符x判断x是数字的条件:Asc(x)=asc(‘0’)andAsc(x)=asc(‘9’)a=thisform.text1.valueb=fori=1tolen(a)m=substr(a,i,1)ifm=0andm=9b=b+mendifendforthisform.label2.caption=b【例】输入一串ASCII字符,显示大写字母串。假设输入:Av56:YijB8显示:AYB。输入一串ASCII字符,显示小写字母串。假设输入:Av56:YijB8显示:vij。请同学们自己写出程序a=thisform.text1.valueb=fori=1tolen(a)m=substr(a,i,1)ifasc(m)=asc(A);andasc(m)=asc(Z)b=b+mendifendforthisform.label2.caption=b圆面积程序修改1文本框text2获得焦点,即光标移到文本框text2中圆面积程序修改2文本框text1失去焦点,即在文本框text1中输入面积后,敲回车键(该事件可以换成Lostfocus)121a=thisform.text1.valueb=fori=1tolen(a)m=substr(a,i,1)ifasc(m)=asc(a)andasc(m)=asc(z)b=b+mendifendforthisform.label2.caption=b2“;”表示换行,不换行就不加【例】运行表单后单击命令按钮组中的不同按钮,标签label1的文本改为相应的字体,单击关闭按钮可以关闭表单。docasecasethis.value=1thisform.label1.fontname=宋体casethis.value=2thisform.label1.fontname=黑体casethis.value=3thisform.label1.fontname=楷体casethis.value=4thisform.label1.fontname=隶书casethis.value=5thisform.releaseendcase【例】如图所示,编写一个简易计算器。要求在文本框Text1中输入数字,然后在OptionGroup1中选择运算符,然后在Text2中输入另一个数字,按回车,则在文本框Text3中显示计算结果。请编写Text2的LostFocus事件代码。x=thisform.text1.valuey=thisform.text2.valuedocasecasethisform.optiongro
本文标题:VF期末重点代码题
链接地址:https://www.777doc.com/doc-2866314 .html