实验日期 年 月 日
实验七 循环结构程序设计(续)
实验目的:
1、巩固For语句和Do..Loop循环语句的使用。 2、掌握循环嵌套的使用。
3、掌握一些常用的算法(求素数、穷举法、求和与乘积、递推法)
实验内容
1、编写程序,实现输入一个任意位的整数,要求把该整数的各个数位上的数字提取出来,并将该整数逆向排列。如:输入1234567,则输出各位数字为7,6,5,4,3,2,1;其逆向排列数为7654321。
? 代码编写:
代码
遇到的主要问题及分析:
2、完善程序,输入一个数,判断该数是否为完数,并把其因子输出,如图所示。(一个数如果恰好等于它的因子之和,这个数就被称为“完数”。一个数的因子是指除了该数本身以外能够被其整除的数。)例如6是一个完数,因为6=1+2+3。
Private Sub Command1_Click()
33
m = Val(Text1.Text) For i = 1 To m - 1
If 【1】 Then k = k + i ' 因子之和 Next i
If 【2】 Then Picture1.Print m & \是完数\ Picture1.Print m; \
For i = 【3】 ' 因子输出 If m Mod i = 0 Then Picture1.Print \ 【4】 Picture1.Print
Else
Picture1.Print m & \不是完数\ 【5】 End Sub
【1】 【2】 【3】 【4】 【5】 3、编写程序,实现求解把50元钱分成一元、二元和五元的纸币且纸币张数共为20张的分法有多少种?
代码
遇到的主要问题及分析:
4、参考下图的算法,编写程序,输入两个正整数,求这两个数的最小公倍数。
代码
遇到的主要问题及分析:
34
【提高题1】输出斐波那契级数1、1、2、3、5、8、13……,当某项的数值大于或等于30000时结束。此级数项的规律是:前两项的值各为1,从第3项起,每一项是前2项的和。(要求一行输出6项)。
代码
遇到的主要问题及分析:
【提高题2】P269实验D二、5编写程序,求Sn=a+aa+aaa+…(n个a)的值,其中n是表示a的个数,a是【1,9】之间的随机正整数。例如:当a=2,n=5时,sn=2+22+222+2222+22222
【提示】为得到不断重复的数t,可在循环体利用通项: t = t * 10 + a
代码
遇到的主要问题及分析:
【选作题1】完善程序,使之能在窗体上显示有规律的图形。
35
Private Sub Form_Click() Dim i%
For i = 1 To 【1】 Print 【2】 Next i End Sub
【提示】使用Tab函数定打印位置,可使用的函数还有:String, Right,CStr
1)循环体内显示用String函数来实现,找出循环控制变量与Sting函数内个数的关系,即String(j, Cstr(i)。 2)为了使最后一行的0显示,若按照上面的通式,则最后一行显示的是1,则要对公式进行修改,即String(j,Right(cstr(i)))。
【选作题2】用两重循环在窗体上显示如右图结果。
【提示】两种方法解该题:
方法一:利用数值实现,就是将各列列号通过运算连接起来。
方法二:利用Mid函数取字符串子串来实现,即从字符串中不断取所需的子字符串而得。
还要注意行号与负号的关系。
代码
遇到的主要问题及分析:
实验心得体会
成绩: 教师签名: 实验日期 年 月 日
36
实验八 常用控件
实验目的:
1.掌握单选按钮、复选框的重要属性、事件和方法。 2.掌握框架的使用。
3.掌握列表框、组合框的重要属性、事件和方法。
实验内容
1、窗体上有两个复选框,名称分别为Chk1和Chk2,标题分别
为“能被5整除”和“能被6整除”,一个命令按钮Command1,以及一个文本框Text1。编写适当的事件过程,使得程序运行时对
复选框进行选择,单击命令按钮,可根据下表的规定,计算100~200之间符合要求的整数之和,把结果显示在Text1中。
选择
Chk1
Chk2
Chk1 和Chk2 都不选择
要求
只能被5整除 只能被6整除
既能被5整除,也能被6整除 只能被1整除
? 代码编写:
代码
遇到的主要问题及分析:
2、窗体上包含有两个名称分别为Op1和Op2的单选按钮,
37