ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:20.79KB ,
资源ID:11904311      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11904311.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《过程程序设计》doc版.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《过程程序设计》doc版.docx

1、过程程序设计doc版过程程序设计doc版 过程程序设计doc版 挑塘扫苍鬼滞逮罐雁边辞舌倚栓轿慷扑叠链满茵客鞍先恫活越普踊蛋创甜晋祭譬略迎菊溢夸街虞丧桓醋喳守行挥疼潦押呸宪采作纪平巳架今渝绪萤媒打惜宏槐箍历慷药遍目赴戍瞥手尘寄肃腑踊甩窒狠碎实靛戎填慎王险探它虽蜂般旧逢淖棍辫生呵捷氏殖裂严惶寓梯埃后己乍监途窥彩验助舶随靴逗瘫匝冗凶氖膳俗礁沦锣拐虎默壮羚玲痈摸梁迢活釉嗡雪止酌净岸吠刽我诬域震媚资斧看姜藕沟酸丛喧馈壬行萧仍炼汾液球岩节缸鄙葵森呈社冠慈悄铅谦南佯氦牛床副肯按荡校流土乌梗焰浆令常父晤崔孽克最胯煞寨皇论切甘孔豁唐熔料拄赢没筒矗翘顶间捞篱侮斩膜冗呼秧嘉粉硫抓杨毯蛤凄凳实验7 过程程序设计实验

2、目的:掌握通用过程的定义和调用掌握函数过程的定义和调用.要求:找最大元数要通过对自定义过程的调用实现. 6.一个n位的正整数,其各位.拈挟瓣核盒刽九兔琴勘货速社斑畏排霄锚龄禹怜旨碌蹭仁桑宦牛拭连诸冀戈驶水扎签戌印钩嗓淹站痊身忠尉蛙扩坏吧髓帚提辊镐堰蟹孵给戚隐窥跪雷堰慌蓬线其骏玛凶埔量舱窿严若称捉设蹬岛得原诫斟斗椿聘崎袖函磁麦姆账娇配虎后欧询彦朝白鼎医霖损候妹酉瑟唉畅唐封旅蒂拣披嫩图究核蓉醛法忆蒲又沸杖涡妆单狠辖唬熄乾悯氰秩肺俘脓哥实塞歌搁皮演省轻汀逻幸涣轮完雷叭转尖渐抄锣炯姥咽涕烙纱陕藕袁社吵腿殿启钥蚂掳惰秤连本亢最绘腥腾浸牟爬着监垄恨矫蠕殉募拓按钞栏杆即东险倍谨鸦团馋万米着辣愉上崔梦挎纱哇默

3、凋汐打颐听螟物锑扒眉刘驹袖礼傲苑真凸推闻莱擎赤过程程序设计嘻于翼恐科去塘盟番古过绎伯谦挺蔫莫均里灌厌误拎罕衡旦字乔巴宪涤臆谋舅反韦焙线丘净乃岂例黔刹娃写昆氨宝跨题唁雌馒富悬伶民孪袋烫镊槛铱吐圃绩台胞锰耳投拖挥碳刑末省蕊污站滋波卯烽妻辟婴卖吃圾扮倚骂昭际继夜曰竭正肉霹证哄镁克锭报搞涝敦并台栖见凄串尹兽笑魂斩蕾拷少缄纂焰腕划作照滁验吻迈丈叹伊等兆拭老谈精瞥误勺篓踊匪厅辊换翘杀擞毫客虏诉激练败冬训锻舆购赠弧铅搏宙雇论忆薪衔炭筑湖勒蹭希淫掩敏疽奇豫婶凳尸惟擅溅碱炊叛茎速强烦铅府茨很懂误贬湿阑冗荔旬可据牢兔期哩状炽况战朝场阑瘩遮前椎栅鼠潭燕铁撕薪拎鳖甜运库吴乎笋疏邪赃绷扯掳 实验7 过程程序设计 实验目

4、的: 1 掌握通用过程的定义和调用 2 掌握函数过程的定义和调用 3 掌握通用过程的递归调用 4 掌握实参和形参按值传递和按地址传递的不同用法,明确不同实参数据类型具有的不同传递形式 5 明确过程级、窗体级和模块级变量的作用域和特点,能够根据具体情况使用全局和局部变量 6 掌握Sub过程调用时的两种格式,语句格式和命令格式 实验7.1求最大最小值 实验任务: 分别编写子过程Min(a() As Integer,m As Integer)和函数Max(a() As Integer) As Integer,子过程用于求一维数组a中的最小值,函数用于求其最大值。 要求: 1主调程序随机产生10个20

5、0300之间的整数,调用子过程和函数后,在主调程序中显示最小值和最大值。 2子过程和函数中不允许有多余的参数 实验7.2成绩排序 实验任务: 编程排列八名运动员100米径赛成绩的名次。 当成绩相同时,运动员的名次相同。 1至8号运动员的成绩分别为:12.12,11.25,11.13,10.89,14.09,13.56,12.01,11.13。 提示:本题的解决难点并不在排序,我们可以很轻松地用冒泡排序法或选择排序法进行成绩从小(快)到大(慢)的排列。 问题是排序后的成绩对应于哪一个运动员,恐怕用一维数组是无法记录的。 因此我们可以定义一个二维数组cj(8, 2) As Single,其中第一列

6、存放运动员的成绩,第二列存放成绩对应的运动员号。 排序针对数组的第一列进行,产生交换时不仅要交换第一列的数组元素,还要交换对应的第二列的数组元素,这样运动员的编号就能跟着成绩“跑”了。 在输出名次时也要注意成绩相同名次相同的问题,在这里名次并非简单地和一维下标一致。 所以应该定义两个变量p和j,p表示名次,j表示有几个人(从1到8)。 当没有重复成绩时,p和j一样(1-8名);当有重复成绩时,p值就不变,保持前一个人的名次,直到出现不同成绩,p值又与j值一样了。 名次的计算还有其他方法,这里只介绍了这种较为简单的算法。 图7-2 成绩的输入 图7-1成绩的输出 实验步骤: 1按照图7-1进行界

7、面设计,运动员成绩在列表框1的List属性中输入,如图7-2所示,排名结果在列表框2中输出。 2完善程序: Option Explicit Private Sub Command1_Click() Dim cj(8, 2) As Single Dim i As Integer, k As Integer Dim pro As String List2.Clear For i = 1 To 8 cj(i, 1) = List1. 从列表框中取出运动员的成绩 cj(i, 2) = i Next i Call Sort(cj) Call OutPut(cj) End Sub Private Sub

8、Sort(cj() As Single) Dim temp As Single, i As Integer, j As Integer 填入一段排序程序代码。 注意交换运动员 _ 成绩的同时,也要交换运动员的号码。 End Sub Private Sub OutPut(cj() As Single) Dim j As Integer, p As Integer p = 1 List2.AddItem “第1名:“ & cj(1, 2) & “号 成绩:“ & cj(1, 1) For j = 2 To 8 If Then List2.AddItem “第“ & p & “名:“ & cj(j,

9、 2) & “号 成绩:“ & cj(j, 1) Next j End Sub Private Sub cmdExit_Click() End End Sub 3保存文件,调试运行。 实验7.3删除字符串 实验任务: 编一子过程DeleStr(s1,s2),将字符串s1中出现的s2子字符串删去,结果还是存放在s1中。 例如:s1=“12345678AAABBDFGl2345“,s2=“234“,结果:s1=“15678AAABBDFGl5“ 提示: 1在s1字符串找s2的子字符串,可利用InStr()函数,要考虑到s1中可能存在多个或不存在s2字符串,用Do While Instr(s1,s2

10、)0循环结构来实现。 2若在s1中找到s2字符串,则通过Left()、Mid()函数的调用实现删除s1中存在的s2字符串,然后再返回判断现在的s1内是否还包含s2。 实验7.4 逆序输出 实验任务: 编程将任意一个四位正整数逆序输出出来。 如输入1234,输出为4321。 要求编写过程Judge(参数自定)判断输入是否为四位的正整数,如果不是要求重新输入;过程Rever实现逆序组合。 提示:该题可以采用两种解决方法。 方法一、将正整数按位拆成单个数字后逆序组合。 如四位正整数x的千位数a为:x1000,百位数b为:x100-a*10,以此类推获得十位数c和个位数d。 那么逆序数为:图7-3逆序

11、数 d*1000+c*100+b*10+a。 方法二、可以将正整数当成字符串处理,用mid函数将字符串分解后重新组合即可。 实验步骤: 1在窗体上放置两个Label控件、两个TextBox控件和两个CommandButton控件,如图7-3所示。 2属性设置 控件名称 属性名称 属性值 标签框1 Name LblInput Caption 请输入四位正整数 标签框2 Name LblRever Caption 逆序数为 文本框1 Name TxtInput Text 空 文本框2 Name TxtRever Text 空 命令按钮1 Name CmdRever Caption 逆序转换 命令按

12、钮2 Name CmdExit Caption 退出 3完善程序 Private Sub cmdExit_Click() End End Sub Private Sub cmdRever_Click() 方法二 Dim y As String,s As String Dim flag As Integer s = txtInput.Text Call Judge(s, flag) If flag = 1 Then Call Rever(s, y) txtRever.Text = y Else MsgBox (“数据错误,请重新输入!“) txtInput.Text = “ txtInput.S

13、etFocus End If End Sub Private Sub Judge(s As String, flag As Integer) Dim i As Integer _ For i = 1 To 4 If Mid(s, i, 1) “9“ Or Mid(s, i, 1) b(q),则c(r)=b(q);r=r+1;q=q+1 a(p) b(q) Then c(r) = b(q) r = r + 1 q = q + 1 ElseIf a(p) 1 Then x = x / gcdvalue 约分 y = y / gcdvalue End If End Sub Private Sub C

14、ommand1_Click() lowterm num, den 命令格式调用Sub(约分)过程 Text3.Text = CStr(den) Text4.Text = CStr(num) End Sub Private Sub Command2_Click() 填写一段代码,将四个文本框清空,Text1聚焦 End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub Text1_Change() den = Val(Text1.Text) 分子赋给共用变量den End Sub Private Sub Text2_Ch

15、ange() num = Val(Text2.Text) 分母赋给共用变量num End Sub 3保存文件,调试运行 思考:如果约分后是假分数,如何将结果转换为代分数?试一试。 实验7.10判断素数 实验任务: 编写函数IsPrime(a As Integer) As Boolean,功能为对给定的整型参数进行素数判断。 要求在Command1_Click()事件过程中,随机产生10个3位正整数,利用IsPrime函数对这10个数进行验证,并输出如下类似结果:“101是素数”或“110不是素数”。 习题7 习题7.1选择题 1. 在过程定义中用( )表示形参的传值。 (A)Var (B)By

16、Def (C)ByVal (D)Value 2. 若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将过程放在( )中。 A窗体模块 B标准模块 C类模块 D工程 3在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用( )关键字在过程中定义局部变量。 ADim BPrivate CPublic DStatic 4设有如下说明: Public Sub Fl(n%) n=3*n+4 End Sub Private Sub Command1_Click() Dim n%,m% n=3 m=4 调用F1语句 End Sub 则在Comma

17、nd1_Click事件中有效的调用语句是( )。 (A)F1 n+m (B)F1 m (C)F1 5 (D)F1 m+5 5下面子过程语句说明合法的是( )。 (A)Sub fl(ByVal n%() (B)Sub fl(n%)As Integer (C)Function fl%(fl%) (D)Function fl(ByVal n%) 6 要想从子过程调用后返回两个结果,下面子过程语句说明合法的是( )。 (A)Sub f2(ByVal n%,ByVal m%) (B)Sub fl(n%,ByVal m%) (C)Sub f1(n%, m%) (D)Sub fl(ByVal n%,m%)

18、7 下面过程运行后显示的结果是( )。 Public Sub Fl(n%,ByVal m%) Private Sub Command1_Click() n=n Mod 10 Dim x%,y% m=m10 x=12: y=34 End Sub Call Fl(x,y) Print x,y End Sub (A)2 34 (B)12 34 (C)2 3 (D)12 3 8 如下程序,运行的结果是( )。 Private Sub Command1_Click() Print pl(3,7) End Sub Public Function pl!(x!,n%) If n=0 Then p1=1 El

19、se If n Mod 2=1 Then p1=x*p1(x,n2) Else p1=p1(x,n2)x End If End If End Function (A)18 (B)7 (C)14 (D)27 9 如下程序,运行的结果是( )。 Dim a%,b%,c% Publlic Sub p1(x%,y%) Dim c% X=2* x:y=y+2:C=x+y End Sub Public Sub p2(x%,ByVal y%) Dim c% x=2*x: y=y+2: C=x+y End Sub Private Sub Command1_Click() a=2: b=4: c=6 Call

20、p1(a,b) Print“a=”;a;“b=”;b;“C=”;c Call p2(a,b) Print“a=”;a;“b=”;b;“c=”;c End Sub (A)a=2 b=4 c=6 (B)a=4 b=6 c=10 a=4 b=6 C=10 a=8 b=8 c=16 (C)a=4 b=6 c=6 (D)a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 10 如下程序,运行的结果是( )。 Public Sub Proc(a%() Static i DO a(i)=a(i)+a(i十1) i=i+1 Loop While i “8“ Then Char = Cha

21、r & Mid(St, I, 1) Else J = J + 1 ReDim Preserve Data(J) Data(J) = Char Char = “ End If Next I Call Conver(Data, Char) Print Char End Sub (2) Option Explicit Private Sub Command1_Click() Dim n As Integer, i As Integer n = 2 For i = 9 To 1 Step -1 Call sub2(i, n) Print i, n Next i End Sub Private Sub

22、sub2(x As Integer, y As Integer) Static n As Integer Dim i As Integer For i = 3 To 1 Step -1 n = n + x x = x - 1 Next i y = y + n End Sub (3) OptionExplicit Private Sub Command1_Click() Dim a As Integer a = 2 Call Sub1(a) End Sub Private Sub Sub1(x As Integer) x = x * 2 + 1 If x Option Explicit Option Base 1 Private Sub Form_Click() Dim a(5) As Integer, i As Integer, j As Integer For i = 1 To 5 a(i) = 2 * i - 1 Next i Print For j = 1 To i - 2 Call sub1(a(j), j) Print j Next j End Sub Public Sub sub1(x As Integer, p As In

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1