程序设计实践教程 习题及答案.docx
- 文档编号:202785
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:13
- 大小:29.59KB
程序设计实践教程 习题及答案.docx
《程序设计实践教程 习题及答案.docx》由会员分享,可在线阅读,更多相关《程序设计实践教程 习题及答案.docx(13页珍藏版)》请在冰点文库上搜索。
程序设计实践教程习题及答案
程序设计实践教程习题及答案
第一章一、判断题 1.属性是VisualBasic对象性质的描述,对象的数据就保存在属性中。
2.控件的属性值不可以在程序运行时动态地修改。
3.许多属性可以直接在属性表上设置、修改,并立即在屏幕上看到效果。
4.所谓保存工程,是指保存正在编辑的工程的窗体。
5.面向对象的程序设计是一种以对象为基础,事件驱动对象执行的设计方法。
6.为了使一个控件在运行时不可见,应该将该控件的Enabled属性设置为False。
7.保存VisualBasic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存各窗体或模块文件。
8.事件是VisualBasic预先定义的对象能够识别的动作。
9.方法是VisualBasic对象可以相应的用户操作。
10.窗体中的控件,是使用工具箱中的工具在窗体上画出的各图形对象。
11.VisualBasic语言编写的应用程序有解释和编译两种执行方式。
12.在打开一个VisualBasic工程进行修改后,要另存为一个版本,只需单击“工程另存为…”就行,因为系统将同时保存其他文件。
13.当用Load命令将窗体装入内存时,一定触发窗体的load事件和Activate事件. 二、选择题 1.要使某个控件不可操作,要对 属性进行设置。
A、Enabled B、Visibale C、Caption D、Name2.下列不属于对象的基本特征的是 。
A、属性 B、方法 C、事件 D、函数3.当运行程序时,系统自动执行启动窗体的 事件过程。
A、Click B、Load C、DblClick D、Unload4.VisualBasic中“程序运行”允许使用的快捷键是 。
A、F2 B、F5 C、Alt+F3 D、F85.改变控件在窗体中的左右位置应修改该控件的 属性。
A、Top B、Left C、Width D、Right6.工程文件的扩展名为 。
A、.vbp B、.bas C、.frx D、.frm7.在VisualBasic中,称对象的数据为 。
A、属性 B、方法 C、事件 D、封装8.下列选项中不属于属性的是 。
A、Name B、Caption C、Show D、Text9.将VisualBasic编制的程序保存在磁盘上,至少会产生何种文件 。
A、.doc与.txt B、.com与.exe C、.bat与.frm D、.vbp与.frm 10.下列关于属性设置的叙述错误的是 。
A.一个控件具有什么属性是VB预先设计好的,用户不能改变它B.一个控件具有什么属性值是VB预先设计好的,用户不能改变它 C.一个控件的大多数属性既可以在属性窗口中设置,也可以用程序代码设置D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 第1页共75页 三、填空题 1.VisualBasic中可作为其它控件的容器除了窗体外,还有 和 。
2.在VisualBasic中,窗体和控件被称为 。
3.窗体是用来存放 的容器,窗体的left和top属性是相对 对象的。
4.在打开某窗体时,初始化该窗体中的各控件,应选用 事件。
四、程序设计题 1.编一程序:
当用户在文本框中输入姓名,例如输入“机器猫”,单击“确定”按钮,则窗体上出现“机器猫:
欢迎你!
”,如果单击“结束”按钮,即结束程序运行。
2.在窗体上建立4个命令按钮Command1、Command2、Command3和Command4。
要求:
命令按钮的Caption属性分别为“字体变大”、“字体变小”、“加粗”和“标准”。
每单击Command1按钮和Command2按钮一次,字体变大或变小3个单位。
单击Command3按钮时,字体变粗;单击Command4按钮时,字体又粗体变为标准。
4个按钮每单击一次都在窗体上显示“青春无悔”。
双击窗体后可以退出。
3.在窗体中创建一个文本框和两个命令按钮Command1和Command2,当单击Command1时,文本框消失;当单击Command2时,文本框出现,并在文本框中显示“我学会了创建一个应用程序了!
”,要求Font为楷体和三号。
第1章习题答案一、判断题 1--5:
√×√×√ 6――10:
××√××11――13:
×××二、选择题 1――5:
ADBBB 6――10:
AACDB三、填空题 1、图片框和框架2、对象 3、控件屏幕4、Load 四、程序设计题 1、PrivateSubCommand1_Click()PrintEndSub PrivateSubCommand2_Click()EndEndSub 2、PrivateSubCommand1_Click()=+3Print\青春无悔\EndSub PrivateSubCommand2_Click()FontSize=FontSize-3Print\青春无悔\EndSub PrivateSubCommand3_Click()=TruePrint\青春无悔\EndSub PrivateSubCommand4_Click()FontBold=FalsePrint\青春无悔\EndSub 3、PrivateSubCommand1_Click()=FalseEndSub PrivateSubCommand2_Click()=True =\楷体_gb2312\=15 =\我学会了创建一个应用程序了!
\EndSub 第二章 一、判断题 1.InputBox函数的返回值的类型为整型。
2.在逻辑运算符Not、Or、And中,运算优先级有高到低为Not、Or和And。
3.MsgBox函数的返回值的类型为长整型。
4.整型变量有Byte、Integer和Long三种。
5.语句Tab;”#”的作用是在窗体的第11列位置输出字符”#”。
二、选择题:
1.VisualBasic的逻辑类型数据占字节内存。
2.下列选项中是日期型数据。
A.@January10,1997@ B.#January10,2007#C.”January10,1997” D.&January10,1997&3.下列哪一个字符串可以作为VisualBasic中的变量名。
A.End B.15efg C.b-12 D.X9[j]4.下列哪一个是变量。
B.”name123” 5.整数Int(Rnd()*11)+10的值的范围是。
A.[10,20] B.[0,20] C.[10,10] D.[10,11]6.语句Y=X+1代表。
A.变量Y等于X+1的值 B.变量Y等于变量X的值,然后再加上1的一个表达式C.将变量X的值加上1后,将结果存入变量YD.将变量Y存入变量X+1中 7.对于Inputbox函数,下列说法不正确的是。
A.每执行一次Inputbox函数,只能输入一个值。
B.Inputbox函数返回值是数值型数据。
C.Inputbox函数的提示信息参数不能缺省。
D.函数值必须赋与一个变量 8.要把InputBox的返回值转换为数值应该使用的函数是。
A.Int B.Asc C.Len D.Val9.下列对话框函数调用错误的是。
A.x$=Inputbox(\请输入数据\ B.Inputbox(\请输入数据\C.x=Msgbox(\是否继续查询\ D.Msgbox(\是否继续查询\ 三、写出下列VisualBasic表达式的结果:
4*10’’456’’&‘‘Xyz’’Not11*20255 5=5And8>4+1 102OrNot6>10+3 四、将下列命题用逻辑表达式表示:
1.Z比X,Y都小 2.|x|≤|x+2|或x>y+23.w是x的倍数 4.x-105.X,Y其中只有一个小于Z 五、填空题 1.VisualBasic算术表达式a+b/(b+c/(d+e/Sqr(2*a*b)))对应的数学表达式 。
2.产生一个100—999之间的随机整数的表达式 。
3.整型变量X中存放了一个二位数,要将两位数交换位置,例如,49变成94,实现的表达式是 。
2?
x?
2ey4.数学表达式sin65?
的VisualBasic算术表达式为 。
x?
y05.表达式Ucase(Mid(\的值是 。
6.表达式18/3-2*4mod8的值是 。
7.不同数据类型中所占字节数最小的是 。
8.语句Print“5*5”的执行结果为 。
课后习题答案:
一、判断题 1——5:
××√×× 二、选择题 1——5:
ABCDA 6——9:
ABDB 三、写出表达式的值 1、True 2、True 3、True4、False5、True6、True 四、略 五、填空题1.a?
bb?
d?
ce2ab 2.int(900*rnd)+100 3.right(trim(str((x,1)))&left(trim(str((x,1))) 4.sin(65/180*)+2**sqr(x+2*exp(y))/(x-y) 7.Byte*5 第三章一、思考题 1.结构化程序设计的特点是什么?
面象对象的程序设计与结构化程序设计的主要区别是什么?
2.VisualBasic中数据输入常用的方法有那些?
比较使用文本框和InputBox函数输入数据的异同。
3.使用一个文本框,能否直接输入多项数据?
4.要输入10个数据,能否使用下面的语句来实现。
x=InputBox(“输入10个数据”) 5.能否使用文本框和InputBox函数直接输入逻辑数据、日期数据?
二、程序阅读 1.下面程序执行的结果是________。
PrivateSubcommand1_Click() A=3:
B=2:
C=1 A=B B=C C=A Print\EndSub 2.下面程序执行的结果是________。
4.下段程序执行的输出结果是 。
S=0:
T=0:
U=0Fori=1To3 Forj=1Toi ForK=jTo3 S=S+1 NextK T=T+1 Nextj U=U+1NextiPrintS;T;U A.3614B.1463C.1436D.1643 5.下程序段循环结构执行后,输出i的值是:
A.25 B.10 C.11 D.因为y的初值不知道,所以不确定 Fori=1to10step2y=y+iNextiPrinti; 6.下列程序段的循环结构执行过程中共循环了 次。
Fori%=1To10Step2 y=y+iNexti A.3 B.4C.57.以下程序循环的执行次数是 。
a=0 Dowhilea D.6 A.4三、填空题 B.5C.6D.7 1.下列循环语句控制的循环次数是 。
Fork=25to0step-2k=k-2Nextk 2.循环结构的三种语句是:
、 、 。
3.写出Fori=-12To–33Step–4所进行的循环后,i的值是 。
四、程序阅读题 1.写出以下程序在单击窗体后的输出结果。
PrivateSubForm_click() mun=4 whilemun mun=mun+1 Printmun Wend Printmun EndSub 2.程序运行时单击Command1后,输入12345678,写出窗体上的输出结果。
PrivateSubCommand1_Click() DimxAsLong,yAsString x=InputBox(\输入一个数\ DoWhilex0 y=y&xMod10 y=xMod10&y x=x\\100 Printy LoopEndSub 3.写出程序运行后,单击窗体Form1上显示的内容。
PrivateSubForm_Click() DimiAsInteger,jAsInteger,yAsDouble i=0 y=1 DoWhilei Forj=1To(i+1) y=y*j Nextj Print\ i=i+1 LoopEndSub 4.写出以下程序在单击窗体后的输出结果。
PrivateSubForm_click() Dimk,a,basinteger a=20 b=2 k=2 DoWhilek 5.写出以下程序在单击命令按钮后的输出结果。
PrivateSubForm_click() k=0 fori=1to5 forj=1to3 ifjmod20then k=k+1 endif k=k+1 nextj nexti Printk EndSub 6.PrivateSubForm_Click() DimiAsInteger,jAsInteger DimstarAsString star=\ Fori=1To6 Forj=iTo6 star; Nextj NextiEndSub 写出程序运行后,单击窗体后,Form1上输出结果为。
五、程序填空题 1.下面程序的功能是:
计算f=1-1/+1/-1/+?
?
+1/。
PrivateSubForm_Click() DimfAsSingle,iAsInteger,signAsInteger ⑴ f=1 ⑵ ⑶ f=f+sign/(i*(i+1)) Nexti Print\EndSub 2.下面的程序是在一个字符串变量中查找\,并用消息框给出查找结果的报告:
没有找到或找到的个数,程序如下:
PrivateSubForm_Click() Dimstr1AsString DimsumAsInteger DimiAsInteger str1=InputBox(\请输入一个字符串\ length= ⑴ i=1 ’在字符串str1中查找\’字符串长度‘查到的个数 DimlengthAsInteger sum=0 DoWhilei If ⑷ Then MsgBox\没有找到!
\ Else MsgBox\找到了\个\ EndIfEndSub 3.找出1个在1~1000中被7除余5、被5除余3、被3除余2的数。
PrivateSubForm_Click() DimiAsInteger Fori=5To1000Step7 If ⑴ ThenExitFor Nexti If ⑵ ThenPrintiEndSub 4.以下程序的功能是:
从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。
请填空。
PrivateSubform_ClickDimx,amax,aminassingleX=inputboxamax=xamin=x dowhile ⑴ ifx>amaxthen amax=x endif if ⑵ then amin=x endif x=inputbox(“enterascore”)loop print“max=”;amax;”min=”;aminEndSub 5.现面的程序功能是:
求Fabonia数列的第17个数是多少?
第几个数起每个数都超过1E+8?
PublicSubForm_Click() 从第 四个数起,每个数都是它前面的两个 ’Fabonia数列的前三个数是0,1,2, 数之和 Dimlast_oneAsLong,last_twoAsLong,this_oneAsLong,iAs Integer last_one=1 last_two=2 i=4 Do this_one=last_one+last_two ⑴ ⑵ Ifi=17Then Print\ EndIf ⑶ LoopWhilethis_one ’数列的第二个数‘数列的第三个数‘从数列的第四个数求起 6.以下程序是验证100至200之间的所有偶数都能分解为两个素数之和。
PrivateSubForm_click()DimnAsInteger,mAsIntegerDimiAsInteger,jAsIntegerForn=100to200Step2Form=2To(n/2)Fori=2ToInt(Sqr(m))IfmModi=0ThenExitForNexti If ⑴ ThenForj=2To ⑵ If(n-m)Modj=0ThenExitForNextj Ifj>Int(Sqr(n-m))ThenPrintn,m,n-m EndIf Nextm NextnEndSub 六.编程题 编程序计算:
1!
+3!
+5!
+….+11!
输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:
先算出m/n余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。
这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。
打印数字组成的如下所示金字塔图案 1 222 33333
4444444 555555555 6666666 77777 888 9 试编程序解决百钱买百鸡问题。
公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
编程序求表达式s=1+x+x2/2!
+x3/3!
+?
+xn/n!
+?
的值和直至末项小于10-5为止,并在窗体上输出。
一.判断题 ×√√√××√×二.选择题 BBBDCCC三.填空题 7 Do/LoopFor/Next-36四.程序阅读题 1、4 2、 88 6886 468864 2468852 3、y=1 y=2 y=12 y=288 4、32 5、25 6、###### ##### #### ### ### 答案 While/Wend 五.程序填空题 1.①sign=1 ②Fori=2to19(3)sign=-sign 2.①Len(str1)②length ③Mid(str1,i,2) ④Sum=03.①imod7=5andiMod5=3AndiMod3=2 ②i=0
(2)x 5.①last_one=laat_two②last_two=this_one③i=i+1④i-26.①i>int(sqr(m)) ②Int(Sqr(n-m))六.编程题 PrivateSubForm_Click() DimiAsInteger,jAsInteger DimsAsDouble,SumAsDouble s=1 Sum=0 Fori=1To11Step2 Forj=1Toi s=s*j Nextj Sum=Sum+s Nexti PrintSumEndSub PrivateSubForm_Click() Dimm%,n%,mn%,r%,t% m=Val(InputBox(\ n=Val(InputBox(\ Ifn mn=m*n Ifm t=m:
m=n:
n=t EndIf DoWhile(n0) r=mModn:
m=n:
n=r Loop \最大公约数=\ \最小公倍数=\EndSub PrivateSubForm_Click() Dimi%,j% Fori=1To5 PrintSpc(20-i); Forj=1To2*i-1 PrintTrim(Str(i)); Nextj Print Nexti Fori=4To1Step-1 PrintSpc(20-i); Forj=1To2*i-1 PrintTrim(Str(10-i)); Nextj Print NextiEndSub PrivateSubForm_Click() DimxAsInteger DimyAsInteger DimzAsInteger Forx=0To100 Fory=0To100-x z=100-x-y If5*x+3*y+z/3=100ThenPrintx,y,z Nexty NextxEndSub PrivateSubForm_Click() DimxAsSingle,yAsSingle,aAsSingle,iAsInteger x=Val(InputBox(\输入x:
\ a=1:
y=a:
i=0 Whilea>= i=i+1:
a=a*x/i:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计实践教程 习题及答案 程序设计 实践 教程 习题 答案