[计算机]实验一 程序流程设计.ppt_第1页
[计算机]实验一 程序流程设计.ppt_第2页
[计算机]实验一 程序流程设计.ppt_第3页
[计算机]实验一 程序流程设计.ppt_第4页
[计算机]实验一 程序流程设计.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 程序流程设计,1、理解大小写转换函数。在文本框中输入文本串,按“转大写”按钮,文本中的英文字母变为大写,按“转小写”按钮,文本中的英文字母变为小写,如图所示。,设计代码 方法一: 首先设计文本框的InteractiveChange事件代码,使得输入的字符存入表单的Tag属性(用来存储程序所需的任何额外数据)中: thisform.tag=this.value 编写“大写”按钮Command1的Click事件代码: thisform.text1.value=upper(thisform.tag) 编写“小写”按钮Command2的Click事件代码: thisform.text1.value=lower(thisform.tag) 编写“复原”按钮Command2的Click事件代码: thisform.text1.value=thisform.tag,方法二: 首先在表单的load事件代码中声明一个全局变量a: Public a 设计文本框的InteractiveChange事件代码,使得输入的字符存入表单的Tag属性(用来存储程序所需的任何额外数据)中: a=this.value 编写“大写”按钮Command1的Click事件代码: thisform.text1.value=upper(a) 编写“小写”按钮Command2的Click事件代码: thisform.text1.value=lower(a) 编写“复原”按钮Command2的Click事件代码: thisform.text1.value=a,2、输入3个 不同的数,将他们从大到小排序。 分析: 先将a与b比较,把较大者放入a中,小者放入b中;再将a与c比较,把较大者放入a中,小者放入c中,此时a为三者中的最大者;最后将b与c比较,把较大者放入b中,小者放入c中,此时a、b、c已由大到小顺序排列; 流程图如下:,编写Command1的Click事件代码: a=thisform.text1.value b=thisform.text2.value c=thisform.text3.value IF ba d=a a=b b=d ENDIF IF ca d=a a=c c=d ENDIF,IF cb d=b b=c c=d ENDIF thisform.label2.caption=STR(a,4) thisform.label3.caption=STR(b,4) thisform.label4.caption=STR(c,4),3、设计个人纳税计算程序。“税法”规定,工资、薪金所得,使用超额累进税率。以每月收入额减去800元后的余额,为应纳税所得额。其税率表见表5-3。,Text1的KeyPress事件代码: LPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode=13 n=val(this.value) IF n800 MESSAGEBOX(“不超过800元,不必纳税!“) ELSE S1=500*0.05 S2=2000*0.15 S3=5000*0.2 S4=20000*0.25 S5=40000*0.3 S6=60000*0.35 S7=80000*0.4 S8=100000*0.45 n=n-800,DO CASE CASE n=500 s=n*0.05 CASE n=2000 s =(n-500)*0.1+s1 CASE n=5000 s =(n-2000)*0.15+s2 CASE n=20000 s =(n-5000)*0.2+s3 CASE n=40000 s =(n-20000)*0.25+s4 CASE n=60000 s =(n-40000)*0.3+s5 CASE n=80000 s =(n-60000)*0.35+s6,CASE n=100000 s =(n-80000)*0.4+s7 OTHERWISE s =(n-100000)*0.45+s8 ENDCASE thisform.label2.caption=“共计纳税:“+STR(round(s,2),8,2)+“元“ this.SelStart=0 this.SelLength=LEN(this.value) ENDIF ENDIF,4、“完备数”是指一个数恰好等于它的因子之和,如6的因子为1、2、3,而6=1+2+3,因而6就是完备数。编制程序,找出11000之间的全部“完备数”。 分析:依题意可知,要想知道一个自然数是否为完备数,首先必须找除其所有因数。从2开始到这个数的最打因数为止(偶数不大于其值的二分之一,奇数不大于其值的三分之一),进行整除判断,凡是可以被整除的数均为这个数的因数。由此,可画出其流程图。,编写Command1的Click事件代码: thisform.container1.list1.clear for n=1to 1000 t=iif(n%2=0,n/2,n/3) a=2 s=1 do while a=t if n%a=0 s=s+a endif a=a+1 enddo if s=n thisform.container1.list1.additem(str(n,6) endif endfor,编写Command2的Click事件代码: release thisform,5、输出99乘法表,格式如下图:,1、,利用双重循环分别处理行、列的输出。,编写Command1的Click事件代码: Thisform.list1.clear Thisform.list1.addlistitem(“*”,1, 1) for k=1 to 9 Thisform.list1.addlistitem(str(k,3),1,k+1) endfor for n=1 to 9 Thisform.list1.addlistitem(str(n,3),n+1, 1) for k=1 to n Thisform.list1.addlistitem(str(k*n,3),n+1, k+1) endfor Endfor 编写Command2的Click事件代码: release thisform,6、小学生做加减法的算术练习程序。计算机连续地随机给出两位数的加减法算术题,要求学生回答,答对的打“”,答错的打“”。将做过的题目存放在列表框中备查,并随时给出答题的正确率。,分析:随机函数RAND()返回一个(0,1)之间的随机小数,为了生成某个范围内的随机整数,可以使用以下公式:Int(最大值-最小值+1)* RAND()+最小值) 其中最大值和最小值为指定范围中的最大、最小数。,给出部分由窗体的激活(activate)事件代码完成: a=int(10+90*rand() b=int(10+90*rand() p=int(2*rand() do case case p=0 this.text1.value=str(a,3)+“+“+str(b,3)+“=“ this.text1.tag=str(a+b) &将本题答案放入text1.tag中 case p=1 if ab t=a a=b b=t endif,this.text1.value=str(a,3)+“-“+str(b,3)+“=“ this.text1.tag=str(a-b) &将本题答案放入text1.tag中 endcase n=val(this.tag) this.tag=str(n+1) this.text2.setfocus this.text2.value=“,编写Command1的Click事件代码: if val(thisform.text2.value)=val(thisform.text1.tag) item=allt(thisform.text1.text)+thisform.text2.text+“ k=val(thisform.list1.tag) thisform.list1.tag=str(k+1) else item=allt(thisform.text1.text)+thisform.text2.text+“ endif thisform.list1.additem(item,1) &将题目和答案放入列表框中的第一项 x=vAL(thisform.list1.tag)/val(thisform.tag) p=“正确率为:“+chr(13)+str(x*100,5,2)+“%“ thisform.label1.caption=“共“+allt(thisform.tag)+“题,“+p thisform.activate() &调用出题代码,7、使用命令按钮组设计简易计算器程序。如图所示。,编写commandgroup1的click事件代码: if thisform.tag=T thisform.text1.value=allt(right(str(this.value),1) thisform.tag= else a=thisform.text1.value thisform.text1.value=a+allt(right(str(this.value),1) endif 编写“.”按钮command11的click事件代码: a=thisform.text1.value thisform.text1.value=a+.,编写“=”按钮command12的click事件代码: a=thisform.text1.value thisform.text1.value=allt(str(&a) thisform.tag=T 编写“+”按钮command12的click事件代码: a=thisform.text1.value thisform.text1.value=a+ thisform.tag= 编写“-”按钮command12的click事件代码: a=thisform.text1.va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论