VB实验任务9.docVIP

  • 129
  • 0
  • 约 4页
  • 2017-05-12 发布于河南
  • 举报
VB实验任务9

实验任务九 课程名称:程序设计基础VB 实验名称——九、基本控制语句(三) 一、实验目的: 1.进一步掌握if语句的三种基本结构 2.掌握多分支语句select语句的使用 3.清楚循环流程,掌握循环语句的描述 4.掌握循环结构程序的设计方法 二、实验内容(包括实验要求(题目)、实验步骤、程序清单、运行情况): 程序完善题的做题技巧和方法 建议,先根据程序运行的参考界面和题目要求,分析代码中变量和对象各自的作用(一般从输入或输出方面着手推导和分析),然后填充程序[希望同学们通过实践掌握] 实验1实验5-16 找出11000之间的全部同构数的和。同构数是指一个数出现在它的平方数的右端。例如,5的平方是25,5是25中右端的数,5就是一个同构数。同理,25也是一个同构数。Private Sub Form_Click() For i = 1 To 999 j = i * i Select Case j Case Is 99 k = j Mod 10 Case Is 999 k = j Mod 100 Case Else k = j Mod 1000 End Select If k = i Then s = s + i Next i Print s End Sub 实验2实验5-19 使用下面的级数公式求(的值,当计算到某一项式的绝对值小于0.0001时,认为满足精度,停止计算。 提示: Do…Loop循环。 使用通项式的形式求解,通项式an=,该方法程序比较简单。 实验3实验5-13 我国现有13亿人口,设年增长率为1%,编写程序,计算多少年后增加到或超过20亿? 【分析】 13*(1+1%)n=20,求n? 完善程序代码: Private Sub Form_Click() Dim n As Integer, peoplenum As Double peoplenum = 13 Do n = n + 1 (1) Loop (2) Print n; 年后我国人口将达到; peoplenum; 亿 End Sub 实验4实验5-14 在窗体上显示出所有的水仙花数。所谓水仙花数是指一个3位数,其中各位数字立方和等于该数字本身。例如,153=13+53+33,所以153就是水仙花数。 提示: 方案一:利用单循环将一个3位数逐位分离后进行判断。 例如:设a表示百位数,b表示十位数,c表示个位数,将一个3位数m从右边开始逐位分离的程序段为: m=123 a=m\100 b=(m?a*100)\10 十位数上的数计算有多种表示方法,请同学思考 c=m mod 10 3位数进行判断。 例如:设a表示百位数,b表示十位数,c表示个位数,则可能出现的3位数m的程序段如下: For a=1 to 9 For b=0 to 9 For c=0 to 9 m=a*100+b*10+c Next c Next b Next a 方案三:把数值转换成字符串后,利用Mid函数取每一位上的数,这种方法比较容易,请自行完成。 思考题:求Armstrong数。Armstrong数具有如下特征:一个n位数等于其各位数的n次方之和。例如,153=13+53+33 1634=14+64+34+44 课外实验: 实验1.实验5-15 利用循环结构显示如图5-24所示的界面。 提示: 方案一:利用单循环实现。 循环体内的显示用Sring函数实现,解题的关键是找出循环控制变量与string函数内字符个数的关系,即String(2*i?1,Trim(Str(i))Str(i)i转换成字符串,Trim函数表示去除字符串两边的空格,因为将数值转换成字符串后,系统自动在数字前符号位,正数为空格,负数为“?”,而String函数只取字符串中的第一个字符,在该题中,由于i为正数,符号位为空格,所以需要用Trim函数。 方案二:利用循环嵌套实现。 外层循环控制行数,内层循环控制每行显示字符的个数,解题的关键是找出字符个数m与外层循环控制变量i的关系,即m=2*i?1,所以可以采用下面程序段: For i=1 to 9 For m=1 to 2*i?1 … Next m Next i 思考:如果改成如图5-25(a)和图5-25(b)所示,应如何实现? (a) (b) 图5-25 界面设计 实验2实验

文档评论(0)

1亿VIP精品文档

相关文档