编程题 vb 习题

更新时间:2023-10-24 03:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编程题

1、 在窗体上建立2个文本框(Name属性值分别为Text1和Text2)和2个命令按钮(Name属性分别为Command1和Command2),程序运行时,在Text1中输入文本,单击Commadn1命令按钮时,将Text1文本框中的值复制到Text2文本框中;当单击Command2命令按钮时,退出程序。

2、 已知自由落体的位移公式为:s=1/2gt2+v0t,其中v0为初始速度,go为重力加速度,t为经历的时间,编写一程序,求位移量s。用2个磨灭框分别输入初始速度和经历的时间,单击一个命令按钮时,进行计算,并将运算结果在另一文本框显示。

3、 输入球体的半径,然后计算并输出球体的体积和表面积。已知:球体的体积计算公工为:v=4/3πr3,球的表面积公式为:f=4πr2,此处的R为还球体的半径。要求:程序用一个文本框输入半径r,单击一个命令按钮时,进行计算,并将运算结果即球的体积和表面积分别用2个文本框显示出来。

4、 编写一个将摄氏温度转换成华氏温度的程序,要求:摄氏温度通过输入对话框来输入,结果在窗体上显示,已知:由摄氏温度求华氏温度的计算公式为:9/5F=9/5×C+32,其中:C为摄氏温度,F为华摄温度。

5、 从键盘输入两个数,编写一程序,计算并输出2个数的和及平均值,通过InputBox函数输入数据,在窗体显示和及平均值。

6、 编写一个程序,计算半径为15cm、高为30cm的圆柱体的体积、半径和高通过InputBox函数输入,计算结果并将其打印到窗体中。

7、 编写一程序,输入一个整数,判断能否被3或5整除,如能整除就打印该数,否则不打印,请半程序代码写在窗体的Click事件中。

8、由键盘输入3条线段的长度,判断这3条线段能否构成三角形,如能构成三角形则计算三角形的面积,如果不能构成三角形则打印出错信息。请将代码写在窗体的Click事件中,输入3条线段请用ImputBox函数。

9、 输入一个年份,判断它是否为闰年。闰年的条件是:年号能被4整除但不能被100整除,或者能被400整除的年份。

10、 输入3个数,要求按从小到大输出。

11、 输入一个0~99999之间的整数,判断输入的是几位数。如:如果输入586请输出结果为3。 12、 设计一个销售彩电(3000元/台)、冰箱(2500元/台)、洗衣机(1000元/台)的程序(商店送货上门时需加收100元)。设计程序进,窗体中包括2个框架、3个选择按钮(用于选择商品)、3个文本框(用于输入商品的台数)、2个单选按钮(用于选择送货方式:自取或送货)、1个命令按钮(用于计算金额)和1个文本框(用于显示总金额)。

13、 编写一个程序求一个m*n矩阵中最大元素及其所在的行列号。 14、 编写一程序将一个矩阵转置,即行列元素对换。

15、 编写一个程序,求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。 16、 输入10个学生记录(每个记录包括学号、成绩),组成记录类型数组,统计出平均成绩,及成绩最低的学生的学号和成绩。

17、写一程序将一个数插入到已经有序(设从小到大排序)的数组中,使数组还继续保持有序。假设原数组中的数为-12,-4,10,23,68。

18、 编写一个求一组数中的最小数的Function过程,要求使用可变参数。

19、编写一个Sub过程,它能完成把数组中的某个位置上的元素移到指定的位置。 20、编写一个Sub过程,它能完成把数组中的某个位置上的元素删除。 21、编写一个Sub过程,将一个新的数据插入到数组中的指定位置上。

22、求两个数m和n的最大公约数和最小公倍数,要求用一个函数过程来实现。 23、编写一个函数过程,求п的近似值,公式为:

п/4=1-1/3+1/5-1/7+??+??1?n?1/(2*n-1)

24、已知斐波那挈(Fibonacci)数列的第一项是1,其后每一项都是其前面两项的和,形如:1,1,2,3,5,8,13,??,编写一个函数过程,求出该数列第n项的值。

25、 请在例12.1的基础上再增加一个包含有“红色”,“绿色”,和“蓝色”的颜色主菜单,并设计其事件过程。当用户执行某一菜单命令时,程序能执行相应的操作,既改变文本框中文字的颜色。

26、 设计一个窗体,其中放一Lable控件,并在窗体中设置2个主菜单,各菜单的组成如下:

菜单标题栏 字体效果(&E) ….粗体(&B) ….斜体(&I) ….加下划线(&U) ….加删除线(&S) ….分割线 …..退出 名称栏 meffect mbold mitalic munderline mstrikethrough mpartion mend 菜单标题栏 字体颜色(&C) …..黑色(&X) …..红色(&R) …..绿色(&G) …..蓝色(&B) 名称栏 mcolor mblack mred mgeen Mblue 要求:“字体效果”菜单项中的某一子菜单被选取时,前面打“√”号,其作用是改变Lable标签中的文字的字体;“字体颜色”中的某一菜单被选取时,呈灰色状态,其作用是将Lable标签的文字的颜色设置成该颜色。

27、利用通用对话框控件编写一个应用程序。在窗体中添加一个通用对话框控件、一个文本框、两个命令按钮,当用户单击其中一个命令按钮时,显示一个打开文件对话框,由用户从中选择一个文件,在对话框中单击“确定”按钮后,可将选择的文件的路径及文件名显示到文本框中。当用户单击窗体中的另外一个命令按钮时,可显示字体对话框,用于设置文本框中的文字的字体、样式、效果和颜色。

可用鼠标左键将图片从Picture1图片框中拖放到图片框Picture2中,此时图形从Picture1图片框中消失,并显示到Picture2图片框中,命令按钮Command1也从原来的禁用状态变为可用状态。当单击命令按钮Command1时,图片从Picture2图片框中又回到Picture1图片框中,同时命令按钮Command1又变为禁用状态。

从程序代码中可以看出,该程序中所实现的控件拖放过程的启动和停止是利用对象的Drag方法设置实现的,并且整个拖放过程全部是由用户通过编程代码来控制实现,这个拖放过程并不是由系统自动启动和停止,这就是手动拖放模式的特点。

28、 在窗体上画一文本框,编写程序实现向文本框中输入数据,只允许在文本框中输入字母和数字字符。

29、 写一程序,通过拖动鼠标的清洁工在窗体上拖画直线。

30、 在窗体上加一图片框,在图片框中加一图片,利用手工拖动的方法,利用鼠标可以将图片拖动到窗体的任何一个部位。

31、设有通用对话框cmdialog,在点击command1时,显示“打开”对话 框。 文件类型为*.*,*.txt,*.bat,默认类型为*。Bat. (10分) sub command1_click()

End s

32、设窗体中有image1:蝴蝶展开翅膀图,image2:蝴蝶合上翅膀图, image3;timer1:定时器,timer1每秒触发一次,改变image3的图象,并 使它每次位置x+10,y+10,当x超出屏幕宽度时,将位置中的x改为0。

A、写出timer1_timer中的程序设计思想 (10分) B、写出timer1_timer中的程序代码 (15分)

33、在窗体的Command1_click事件中使用输入框来判断答案是否正确,且在三次错误后退出。其中正确值为99,用户输入错误后给出错误提示。 写出Command1_click中的程序代码(15分)

34、设计文字颜色、大小、位置不断变化的程序。(位置可随机或滚屏) 35、输入一个华氏(F)温度,要求输出摄氏(℃)温度。公式为C= (F-32),输出要有文字说明。

36、输入三个数,分别存入变量,试编程求出最大者

37、输入一个不多于3位的正整数,要求:它是几位数,分别打印出每一位数字,按逆序打印出各位数。

38、输入一元二次方程的A、B、C,求出这个方程有没有实根,如果有实根分别求出来 39、输入圆的半径,分别输出圆的周长和圆的面积。

40、将输入的学生百分制成绩转换为等级制,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。编程实现每输入一个成绩输出一个等级

41、求1到100之间的数累加和

42、求100到200之间的奇数累加和。

43、打印输出5到100之间的质数及其个数。 44、产生30个A~Z之间的随机大写字母。

45、输入一个数n,这个数的阶乘n!(n!=1*2*3*……..*(n-1)*n.) 46、输入10个数,求这10个数的总和,以及平均值。

47、输入10个整数,对这10个数进行排序,再从大到小输出。 48、在窗体中打印输出100个随机机基本键位字符(asdfghjkl;) 49、输入两个正整数,求其最大公约数和最小公倍数。 50、打印所有的三位数,其各位数字立方和等于该数本身。

51、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

52、用*号打印出平行四边形图案。

53、S=1+2+3+…+n,求S不大于1000时的n 的值。

54、已知三角形三条边的长度为a、b、c,计算并显示三角形的面积。 公式为:面积=sqr(s(s-a)(s-b)(s-c)),其中,s=(a+b+c)/2。

55、随机产生一个正实数,用Print方法在一行上显示出它的平方和平方根、立方根,每个 数保留3位小数,各位之间有间隔。

56、随机产生一个3位正数,然后逆序输入,产生的数与逆数同时显示。例如,产生246,输出是246642。

57、窗体上有两个命令按钮,第一个按钮显示“写字板”、第二个按钮显示“画图”,要求单击命令按钮,利用Shell函数执行对应的应用程序。

58、输人三角形的三条边a、b、c的值根据其数值判断能否构成三角形。若能还要显示三 角形的性质:等边三角形、等腰三角形、直角三角形或任意三角形。 59、编写一程序根据上网时间计算上网费用 计算的方法如下:

费用计算规则

50元基数 <10 小时

每小时6元 10~60小时

每小时4元 >=60小时

同时为了鼓励多上网 每月最多不超过600元。

60、输入一年份,判断它是否为闰年,并显示有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除。

61、计算 S=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29+??当最后所加的项的值<10-4时结束。 【提示】找出规律,某一项的分母是前一项的分母加上前一项在序列中的顺序数。

62、求Sn=a+aa+aaa+aaaa+??+aa??aaa(n个a)其中,a是一个由随机数产生的1~9(包括1、9)中的一个正整数。是一个由随机数产生的10-20(包括10、20)中的一个数。

63、有一个四位数具有这样的特点:它的平方根恰好就是它中间两位的数字,便如3600的平方根为60。编程找出所有这样的四位数。

64、有一个长阶弱,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4阶最后剩3阶,如果每步跨5阶最后4阶,如果每步跨6阶最后剩5阶,如果每步跨7阶时恰好走完,问这个阶梯到少有多少阶?

【提示】得用其肯定是7的倍数这个条件,然后根据同时满足除n余m(m=2,3,4,5,6;m=1,2,3,4,5)的逻辑关系即可。

95、有一根长度为321m的钢材料,要将它截取成两种规格的短料,规格a、b的长度分别为17m和27m,问分隔成a、b各多少段后剩余的残料r最少?

【提示】利用两重循环,进行最短残料的比较,防止r出现负值(实际情况不可能出现负值)。 96、编写一个程序输入某班长的三门课的学分对应成绩,计算其平均绩点。

97、用随机数产生5行6列的矩阵,其值为1~100之间的数,表示5位学生期末6门课程的成绩。再利用Dim Rreserve重新定义5行7列的矩阵,增加的最右列存放每位学生的最高分;再定义6个元素的一维矩阵,存放每门课程的平均分数。例如,求每位学生的最高分程序段如下:

For i=0 To 4

max 1=a(i,0)>max1 Then max1=a(i.j) Next j

a(i,6)=max1 Next i

求每门课程的平均分程序段如下: 1 For j=0 To 5 2 aver=0 3 For i=0 To 4 4 aver =aver+a(i,j) 5 Next i

6 b(j)=aver/5

7 Next j 【思考】

若把第2句的aver=0移动到外循环句即第1句的前面,是否影响程序的运行?是否影响程序正确性?这和前面讲过的累加时要在循环体外对存放求和结果的单元清零是否矛盾?

98、编写一个子过程DeleStr(s1,s2),将字符串S1中出现的S2子字符串删去,结果还是存放在s1中。

例如:s1=”12345678AAABBDEFG12345” s2=”234” 结果:s1=-1567AAABBDEfG15”

【提示】解决此问题的方法要点如下:

(1) 在s1字符串找s2的子字符串,可利用InStr()函数,要考虑到S1字符中可能存在多个或不存在S2字符串,用Do While Instr(s1,s2)>0循环结构来实现。

(2) 若在s1中找到s2字符串,首先要确定s1字符串的长度,因s1字符串在进行多次删除时,长度在变化;然后通过:Left$()、Right()函数的调用来实删除s1中存在的s2字符串。

99、编写一个将二进制字符串(全由0和1组成)转换成十进制的函数。 【提示】函数形式如下:

Function TranBtoD(S$) As Single

主调程序用之,并显示二进制字符串和转换结果。

【进一步要求】要考虑到二进制字符串中有小数和负号。 100、根据要求分别编写两个过程:

(1)编写一个冒泡法排序子壶程,对已知的若干个整数按递增次序排列。 子过程形式为: Sub Sort1(a%)

(3) 一个二分法查找函数过程,查找某数。找到返回该数在数组中的下标位置,找不到返回值为-1。

(4) 函数过程形式为:

Function Search1(a%,Key%) As Integer a%()为有序的数组,Key% 为要查找的数。

主调程序可通过随机函数产生若干个数,先后调用Sort1子过程和Search函数过程。

2-5

101、利用迭代法求方程x-a=0的近似根,要求精度为10,迭代公式为:xi+1=1/2(xi+a/xi). 编制3个过程:迭代函数、迭代子过程、递归法函数过程。

主调程充中分别调用这3个过程,并调用标准函数sqr(a),比较过程正确与否。

102、编写一函数过程Maxlenht(s),在已知的字符串s中,找出最长的单词。假定字符串s内只含有字母和 ,空格分隔不同的单词。

【提示】

(1) 程序中用到当前单词、当前单词长度、最长单词、最长单词长度等变量。

(2) 首先求出输入的字符串长度,然后从字符串中分离出单词,即对每个字符判断;若不为空格,将每个字符连接到当前单词的字符串变量,当前单词长度计数器加1;若为空格,表示一个单词结束,将当前单词长度与最长单词长度比较,若前者长,则将当前单词替代最长单词。当前单词置空,当前单词计数器清除为0。

103、对于输入的文本统计各字母出现的次数,有序的显示文本中的单词。 【提示】根据韪要求,本例要求实现3个功能:

(1) 统计各字母出现的次数,这在前面已介绍过。 (2) 从输入的文本框的内容中分离出单词,可通过编程实现,本例利用Split函数简化编程。

本文来源:https://www.bwwdw.com/article/1ay2.html

Top