visualbasic程序设计教程第四版答案
- 格式:docx
- 大小:13.86 KB
- 文档页数:17
习题 11. 填空题(1) Visual Basic 是一种面向 的可视化程序设计语言,采取了 的编程机制。
(2) Visual Basic 的对象主要分为 和 两大类。
(3) 在 Visual Basic 中,用来描述一个对象外部特征的量称之为对象的 。
(4) 在 Visual Basic 中,设置或修改一个对象的属性的方法有两种,它们分别是: 和 。
(5) 在 Visual Basic 中,每个对象一般都能感知和接收多个不同的事件,并能对这些事件作出响应,其响应方式就是通过调用执行一个与之相对应的 来实现的。
(6) 在 Visual Basic 中,事件过程的名字由 、 和 所构成。
(7) 若用户单击了窗体 Form1,则此时将被执行的事件过程的名字应为:。
(8) Visual Basic 的集成开发环境主要由6个部分组成,它们分别是: 、 、 、 、 、 。
2.简答题(1) 简述Visual Basic 的特点(2) 什么是对象的属性、事件和方法?(3) Visual Basic 如何完成对用户操作的响应?(4) 什么是事件? 事件过程的一般格式是怎样的?如何编写对象的事件过程?习题 22.1 说明下列哪些是Visual Basic 合法的直接常量,并分别指出它们的类型。
100.0 %100 1E1 123D3 123,456 0100“ASDF” “1234.5” #2004/10/7# 100# π&O78 &H123 True T -1123! 345.54#2.2 下列数据哪些是变量,哪些是常量?是什么类型的常量?Name “name” False ff “11/16/99” cj“120” n #11/12/2004# 12.3452.3 下列符号中,哪些可以是Visual Basic 的合法变量名?A123 a12_3 123_a a,123 a 123 IntegerXYZ False Sin(x) 变量名 sinx π2.4 把下列数学表达式写成Visual Basic 表达式:(1)5||z y x ++ (2)6)1(xy +(3)xy y x 310+ (4)a acb b 242-+-(5)3211111r r r ++ (6)110ln 45sin 10++++y x e2.5 写出下列表达式的值:(1)123 + 23 Mod 10 \ 7 + Asc("A")(2)Int(68.555 * 100 + 0.5) / 100(3)#11/22/2004# - 10(4)"ZXY" & 123 & "abc"2.6 设a=7,b=3,c=4,求下列表达式的值:(1)a + 3 * c (2)a ^ 2 / 4(3)a / 2 + 3 \ 2 (4)a Mod 3 + b ^ 3 / c \ 52.7 写出下列函数的值:(1)Int(-3.14159) (2)Fix(-3.14159)(3)Sqr(Sqr(81)) (4)Len("Visual Basic 程序设计")(5)Int(Abs(99 - 100) / 2) (6)Sgn(7 * 3 + 2)(7)LCase("Hellow VB!") (8)Mid("Hellow VB!", 4, 3)(9)Left("Hellow VB!", 3) (10)Val("16个加23个")(11)Str(-459.55) (12)UCase("Visual Basic")2.8 选择题(1)可以同时删除字符串前导和尾部空格的函数是 。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
Dim n As Integern=Text1.TextIF(n Mod 4 =0 And n mod 100< >0 or n mod 400 = 0)Then Text2.text =”闰年”ElseText2.text=”非闰年”End IF求和求积Dim i As integerOpen App.path&”\jsdata.txt”For input As #1For i =1 to 15Input #1,arr(i)Next iIf op1.value=ture thenT1.text=Aaa()End ifIf op2.value=ture thenT1.text=Bbb()End ifClose #1写入文件****Dim i As Integer, j As Integer, n As IntegerOpen app.path &”\zfwj.txt”for output As #1n=val(text1.text)for I =1 to nfor j=1 to iprint #1,”*”;next jprint #1next I close#1计算结果dim n As Integer, I As Integer, s1 As integer,s2 As long n=val(text1.textfor I =1 to ns1=s1+is2=s2+s1next itext2.text=s2求值dim n1 as integer, n2 as integer, n3 as integer,t as integer n1= val(text1.text)n2=val(text2.text)n3=val(text3.text)if n1<n2 then t=n1:n1=n2:n2=tif n2<n3 then t=n2:2=n3:3=tif n1<n2 then t =n1:1=n2:2=ttext4.text=n1text5.text=n3建立文件显示文件Dim num as string,name as srting, I as integerOpen App.path&”\xhxm.txt”for output As #1For I = 1 to 3num=inputbox(“请输入学号:“)name = inputbox(“请输入姓名:“)write #1,num,namenext iclose #1End sub Private sub command2_click()Dim s as string, I as integerOpen app.path &\xhxm.txt” for input as # 1Do While Not EoF(1)Line input # 1,sText1.text= text1.text& s & vbCrLfLoopClose #1第三卷求和输入N值Dim n As integer, I as integer, sum as integerN= val(text1.text)For I = 1 to nIf I mod 3 =0 then sum = sum+ iNext iText2.text=sum输入正整数NDim m As integer, n as integerPrivate sub commad1_click(0Dim c as doubleN=text1.textM=text2.textIf n<=m thenC=fact(m)/(fact(n)* fact(m-n))Text3.text=cElseMsgbox”输入的n必须小于等于m!请重新输入“Text1.text=””Text2.text=””Text1.setfocusEnd ifEnd sub读入数据统计英文字母Dim s as stringOpen app.path&”\yy.txt”for input as #1Do while not EOF(1)Line input #1,sText1.text=text1.text &s &vbCrLfLoopClose #1End subPrivate sub command2_click()Dim n as integer, I as integer, s As integer, c as stringN= Len(text1.text)For I = 1 to nC= mid(text1.text,I,1)If c >=”a”and c <=”z” or c 》=“a” and c <=”z” then s =s+1 Next iLabel1.caption= “共“& s &”个英文字母”End sub第四卷转换十进制Dim n as integer,b as stringN=text1.textB=zh(n)Text2.text=b读取文件加密Dim s1 as stringPrivate sub command1_click()Open app.path &”\jmwb.txt”for input as #1Input #1,s1Text1.text=s1End subPrivate sub command2_click()Dim n As integer, I as integer dim s2 as string, j As stringN=Len(s1)For I =1 to nJ=mid(s1,I,1)J=chr(asc(j)+5)S2=s2&jNext iText2.text=s2生成数组降序排列Option base 1Dim n AS integer,x(15) as integerPrivate Sub command1_Click(0Dim s1 as stringFor N= 1 to 15X(N)=int(91 * Rnd +10)S1=s1 &STR(x(N))Next NText1.text =s1End subPrivate sub command2_click()Dim s2 as stringDim I as integer, j AS integer t as integerFor I =1 to 15For j 1 to 15For j=I +1 to 15If x (i)<x(j) thenT=x(i)X(i)=x(j)X(j)=tEnd ifNext jS2=s2& Str(x(i))Next IText2.text =s2End sub第五卷判断字符还是字母Dim s as stringCall Getchar(s)Text1.text=sIf Asc(s)>= Asc(“A”) and asc (s)<=asc(“z”) or asc (s)>=Asc(“a”) And asc (s)<=asc(“z”) then Label1.caption=”是字母字符“ElseIf asc(s)>=asc(”0”) and asc(s)<= asc(“s)<=asc(“9”) thenLabel1.caption=”是数字字符“ElseLabel1.caption=”是其他字符”End ifEnd sub生成三个随机数Dim n1 as integer, n2 as integern1=val(text1.text)n2=val(text2.text)label1.caption=int((n2-n1+1)*Rnd +n1)label2.caption=int((n2-n1+1)*Rnd+n1)label3.caption=int((n2-n1+1)*Rnd+n1)end sub转换大写小写Dim a as stringPrivate sub command1_click()Text1.text=UCase(a)End subPrivate sub command1_click()Text1.text=LCase(a)End subPrivate sub command3_click()Text1.text=aEnd subPrivate sub text1_keypress(keyascii as integer)If not((keyascii>=65 and keyascii<=90)or (keyascii>= 97 And keyascii<=122)) then BeepKeyascii =0End Ifa=Text1.textend sub。
※声明:1.实验所属课本原件为《Visual Basic程序设计教程(第4版)(□主编龚沛曾□编者杨志强陆慰民谢步瀛)》;2.实验答案代码采用红色字体突出;3.仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作;4.教学平台上机实验、课本篇后实验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信;5.本文为作者原创,复制转载请注明出处;6.如果对代码有所疑问,或者略感繁琐想直接要已完成实验,请私信;7.浏览、复制、下载后请给作者一个合理的评价,感激不尽。
实验1-1编制简单的欢迎界面程序。
要求:在屏幕上显示“欢迎学习Visual Basic”;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是”,在Label3标签显示在文本框中输入的姓名。
“学号-1-1.frm”和“学号-1-1.vbp”文件名保存。
以后每个实验项目的命名规则都是如此,即“学号-实验号-实验题目”“”和“”)图2.1.1 实验1.1运行界面Private Sub Command1_Click()Label3.Caption = Text1.TextEnd Sub实验1-2模仿教学篇例1.1,将事件过程中的自上而下移动改为自右向左移动,同时考虑If Label1.Left < 0 Then Label1.Left = Form1.Width End SubSub MyMove()Label1.Move Label1.Left - 50, Label1.TopIf Label1.Left < 0 Then Label1.Left = Form1.WidthEnd SubPrivate Sub Command1_Click()Timer1.Interval = 200End SubPrivate Sub Command2_Click()Timer1.Interval = 0Call MyMoveEnd SubPrivate Sub Form_Load()Timer1.Interval = 0End SubPrivate Sub Timer1_Timer()Call MyMoveEnd Sub实验1-3“学号-1-3”为项目名保存。
VB程序设计教程(第四版)龚沛曾课后习题答案目录:第1章Visual Basic程序设计入门第2章面向对象的可视化编程基础第3章VB程序设计基础第4章基本控制结构第5章数组第6章过程第7章用户界面设计第8章数据文件第9章图形操作第10章ADO数据库编程基础第3章1、合法的有:(1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12)八进制表示(14)十六进制表示(15)逻辑型(18)单精度数2、合法变量有:(1),(2),(6),(9),(10),(11)3、算术表达式写成VB表达式(1)abs(x+y) +z^5(2)(1 + x * y )^ 6(3)(10*x + sqr(3*y) ) / (x * y )(4)( -b+sqr(b^2-4*a*c) )/2/a(5)1 / (1/r1+1/r2+1/r3)(6)sin(45*3.14/180)+ ( exp(10)+ log(10) )/ sqr( x+y+1)4、根据条件写出相应的VB表达式(1) chr( int ( Rnd * 10 +67 )(2) int ( Rnd * 101 +100 )(3) x * y >0(4) x/5=0 or x /7 =0(5) (x mod 10) 10 + x /10(6)Round(123.2389*100)/100(7) Ucase (c ) >=‖A‖and Ucase(c )<=‖Z‖or Lcase (c ) >=‖a‖and Lcase(c )<=‖z‖(8) Mid ( s, 5, 6 )(9) x >=10 and x <20(10) ( x < z and y >z ) or ( x >z and y < z)(11) x>z and y > z5、下出下列表达式的值:(1)123+23 mod 10 \ 7 +Asc(―A‖)【188】(2)100+‖100‖& 100 【200100】(3)Int ( 68.555*100+0.5)/100 【68.56】(4)已知A$=“87654321‖,求表达式Val(Left$(A$,4)+ Mid(A,4,2))的值【876554】(5)DateAdd(―m‖,1,#1/30/2000#) 【2000-2-29】(6)Len(‖VB程序设计‖)【6】6、利用shell函数在VB程序中分别指向画图word程序。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
第1章程序设计和C语言1什么是计算机程序1什么是计算机语言1语言的发展及其特点3最简单的C语言程序5最简单的C语言程序举例6语言程序的结构10运行C程序的步骤与方法12程序设计的任务141-5 #include <>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂16什么是算法16简单的算法举例17算法的特性21怎样表示一个算法22S流程图表示算法28结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 顺序程序设计举例37数据的表现形式及其运算39语句57数据的输入输出65习题823-1 #include <>#include <>int main(){float p,r,n;r=;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <>#include <>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=;r3=;r2=;r1=;r0=;p1=p*((1+r5)*5); #include <>#include <>int main(){float d=300000,p=6000,r=,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%\n",m);return 0;}3-4#include <>int main(){int c1,c2;c1=197;c2=198;printf("c1=%c,c2=%c\n",c1,c2);printf("c1=%d,c2=%d\n",c1,c2);return 0;}3-5#include <>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f %e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0;}3-6#include <>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);return 0;3-7#include <>int main (){float h,r,l,s,sq,vq,vz;float pi=;printf("请输入圆半径r,圆柱高h∶");scanf("%f,%f",&r,&h); #include <> int main(){ int x,y;printf("输入x:");scanf("%d",&x);if(x<1) /* x<1 */{ y=x;printf("x=%3d, y=x=%d\n" ,x,y);}else if(x<10) /* 1=<x<10 */{ y=2*x-1;printf("x=%d, y=2*x-1=%d\n",x,y);}else /* x>=10 */{ y=3*x-11;printf("x=%d, y=3*x-11=%d\n",x,y);}return 0;}4-7-1#include <>int main(){int x,y;printf("enter x:");scanf("%d",&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);return 0;}4-7-2#include <>int main()int x,y;printf("please enter x:");scanf("%d",&x);y=0;if(x>=0)if(x>0) y=1;else y=-1;printf("x=%d,y=%d\n",x,y);return 0;}4-8#include <>int main(){ float score;char grade;printf("请输入学生成绩:");scanf("%f",&score);while (score>100||score<0){printf("\n 输入有误,请重输");scanf("%f",&score);}switch((int)(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0: grade='E';}printf("成绩是%,相应的等级是%c\n ",score,grade);return 0;}4-9#include <>#include <>int main(){int num,indiv,ten,hundred,thousand,ten_thousand,place; .=%d\n",sn); return 0;#include <>int main(){double s=0,t=1;int n;for (n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%\n",s);return 0;}5-7#include <>int main(){int n1=100,n2=50,n3=10;double k,s1=0,s2=0,s3=0;for (k=1;k<=n1;k++) /*计算1到100的和*/{s1=s1+k;}for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/ {s2=s2+k*k;}for (k=1;k<=n3;k++) /*计算1到10的各倒数和*/ {s3=s3+1/k;}printf("sum=%\n",s1+s2+s3);return 0;}5-8#include <>int main(){int i,j,k,n;printf("parcissus numbers are ");for (n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if (n==i*i*i + j*j*j + k*k*k)printf("%d ",n);}printf("\n");return 0;#define M 1000 /*定义寻找范围*/#include <>int main(){int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数*/{n=0; /* n用来累计a的因子的个数*/s=a; /* s用来存放尚未求出的因子之和,开始时等于a */for (i=1;i<a;i++) /* 检查i是否a的因子*/if (a%i==0) /* 如果i是a的因子*/{n++; /* n加1,表示新找到一个因子*/s=s-i; /* s减去已找到的因子,s的新值是尚未求出的因子之和*/ switch(n) /* 将找到的因子赋给k1...k9,或k10 */{case 1:k1=i; break; /* 找出的笫1个因子赋给k1 */case 2:k2=i; break; /* 找出的笫2个因子赋给k2 */case 3:k3=i; break; /* 找出的笫3个因子赋给k3 */case 4:k4=i; break; /* 找出的笫4个因子赋给k4 */case 5:k5=i; break; /* 找出的笫5个因子赋给k5 */case 6:k6=i; break; /* 找出的笫6个因子赋给k6 */case 7:k7=i; break; /* 找出的笫7个因子赋给k7 */case 8:k8=i; break; /* 找出的笫8个因子赋给k8 */case 9:k9=i; break; /*找出的笫9个因子赋给k9 */case 10:k10=i; break; /* 找出的笫10个因子赋给k10 */}}if (s==0){printf("%d ,Its factors are ",a);if (n>1) printf("%d,%d",k1,k2); /* n>1表示a至少有2个因子*/if (n>2) printf(",%d",k3); /* n>2表示至少有3个因子,故应再输出一个因子*/if (n>3) printf(",%d",k4); /* n>3表示至少有4个因子,故应再输出一个因子*/if (n>4) printf(",%d",k5); /* 以下类似*/ if (n>5) printf(",%d",k6);if (n>6) printf(",%d",k7);if (n>7) printf(",%d",k8);if (n>8) printf(",%d",k9);if (n>9) printf(",%d",k10);printf("\n");}}return 0;}5-9-2#include <>int main(){int m,s,i;for (m=2;m<1000;m++){s=0;for (i=1;i<m;i++)if ((m%i)==0) s=s+i;if(s==m){printf("%d,its factors are ",m);for (i=1;i<m;i++)if (m%i==0) printf("%d ",i);printf("\n");}}return 0;}5-10#include <>int main(){int i,n=20;double a=2,b=1,s=0,t;for (i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%\n",s);return 0;}5-11#include <>int main(){double sn=100,hn=sn/2;int n;for (n=2;n<=10;n++){sn=sn+2*hn; /*第n次落地时共经过的米数*/hn=hn/2; /*第n次反跳高度*/}printf("第10次落地时共经过%f米\n",sn);printf("第10次反弹%f米\n",hn);return 0;}5-12#include <>int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1;day--;}printf("total=%d\n",x1);return 0;}5-13#include <>#include <>int main(){float a,x0,x1;printf("enter a positive number:");scanf("%f",&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-5);printf("The square root of % is %\n",a,x1);return 0;}5-14#include <>#include <>int main(){double x1,x0,f,f1;x1=;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)>=1e-5);printf("The root of equation is %\n",x1); return 0;}5-15#include <>#include <>int main(){float x0,x1,x2,fx0,fx1,fx2;do{printf("enter x1 & x2:");scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if ((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs (fx0)>=1e-5);printf("x=%\n",x0);return 0;}5-16#include <>int main(){int i,j,k;for (i=0;i<=3;i++){for (j=0;j<=2-i;j++)printf(" ");for (k=0;k<=2*i;k++)printf("*");printf("\n");}for (i=0;i<=2;i++){for (j=0;j<=i;j++)printf(" ");for (k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}5-17#include <>int main(){char i,j,k; /*是a的对手;j是b的对手;k是c的对手*/ for (i='x';i<='z';i++)for (j='x';j<='z';j++)if (i!=j)for (k='x';k<='z';k++)if (i!=k && j!=k)if (i!='x' && k!='x' && k!='z')printf("A--%c\nB--%c\nC--%c\n",i,j,k);return 0;}。
《VB程序设计教程》(第4版)习题解答单元一巩固与提高答案一、选择题1. Visual Basic 6.0分为3种版本,不属于这3种版本的是A)学习版B)专业版C)企业版D)业余版【答】D。
2. 下列方法中不能退出Visual Basic的是A)按Alt+Q组合键B)按下Alt+F组合键,然后按Esc键C)按F10键,然后按F键,再按X键D)打开“文件”菜单→“退出”命令【答】B。
3. Visual Basic集成的主窗口中不包括A)属性窗口B)标题栏C)菜单栏D)工具栏【答】A。
4. 下列操作可以打开立即窗口的是A)Ctrl+D B)Ctrl+F C)Ctrl+G D)Ctrl+E【答】C。
二、填空题1. 与传统的程序设计语言相比,Visual Basic最突出的特点是____。
【答】事件驱动编程机制。
2. 如果不使用鼠标,用键盘打开菜单和执行菜单命令,第一步应按____键。
【答】功能键F10或Alt键。
3. 建立一个新的标准模块,应该选择____菜单下的“添加模块”命令。
【答】“工程”菜单。
三、思考题1. 简述Visual Basic的特点。
【答】与一般的程序设计语言相比,VB具有以下特点:(1) 可视化的设计平台;(2) 面向对象的设计方法;(3) 事件驱动的编程机制;(4) 结构化的设计语言;(5) 充分利用Windows资源;(6) 开放的数据库功能与网络支持。
2. 简述Visual Basic集成开发环境的组成。
【答】VB 6.0集成开发环境除了具有标准Windows环境的标题栏、菜单栏、工具栏外,还有工具箱、属性窗口、工程管理器窗口、窗体设计器、立即窗口、窗体布局窗口等有用的开发工具。
(1) 标题栏和菜单栏:标题栏中显示的有窗体控制菜单图标、当前激活的工程名称、当前工作模式以及最小化、最大化∕还原、关闭按钮。
菜单栏中显示了“文件”、“编辑”、“视图”、“工程”、“格式”等菜单项,其中包含了VB编程的常用命令。
第1章程序设计和C语言1什么是计算机程序1什么是计算机语言1语言的发展及其特点3最简单的C语言程序5最简单的C语言程序举例6语言程序的结构10运行C程序的步骤与方法12程序设计的任务141-5 #include <>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂16什么是算法16简单的算法举例17算法的特性21怎样表示一个算法22S流程图表示算法28结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 顺序程序设计举例37数据的表现形式及其运算39语句57数据的输入输出65 习题823-1 #include <>#include <>int main(){float p,r,n;r=;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <>#include <>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=;r3=;r2=;r1=;r0=;p1=p*((1+r5)*5); #include <> #include <>int main(){float d=300000,p=6000,r=,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%\n",m);return 0;}3-4#include <>int main(){int c1,c2;c1=197;c2=198;printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0;}3-5#include <>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f %e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0;}3-6#include <>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);return 0;}3-7#include <>int main (){float h,r,l,s,sq,vq,vz;float pi=;printf("请输入圆半径r,圆柱高h∶");scanf("%f,%f",&r,&h); #include <> int main(){ int x,y;printf("输入x:");scanf("%d",&x);if(x<1) /* x<1 */{ y=x;printf("x=%3d, y=x=%d\n" ,x,y);}else if(x<10) /* 1=<x<10 */{ y=2*x-1;printf("x=%d, y=2*x-1=%d\n",x,y); }else /* x>=10 */{ y=3*x-11;printf("x=%d, y=3*x-11=%d\n",x,y); }return 0;}4-7-1#include <>int main(){int x,y;printf("enter x:");scanf("%d",&x);y=-1;if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y); return 0;}4-7-2#include <>int main(){int x,y;printf("please enter x:"); scanf("%d",&x);y=0;if(x>0) y=1;else y=-1;printf("x=%d,y=%d\n",x,y); return 0;}4-8#include <>int main(){ float score;char grade;printf("请输入学生成绩:"); scanf("%f",&score);while (score>100||score<0) {printf("\n 输入有误,请重输"); scanf("%f",&score);switch((int)(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0: grade='E';}printf("成绩是 %,相应的等级是%c\n ",score,grade); return 0;4-9#include <>#include <>int main(){int num,indiv,ten,hundred,thousand,ten_thousand,place; .=%d\n",sn); return 0;}5-6#include <>int main(){double s=0,t=1;int n;for (n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%\n",s);return 0;}5-7#include <>int main(){int n1=100,n2=50,n3=10;double k,s1=0,s2=0,s3=0;for (k=1;k<=n1;k++) /*计算1到100的和*/{s1=s1+k;}for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/ {s2=s2+k*k;}for (k=1;k<=n3;k++) /*计算1到10的各倒数和*/ {s3=s3+1/k;}printf("sum=%\n",s1+s2+s3);return 0;}5-8#include <>int main(){int i,j,k,n;printf("parcissus numbers are ");for (n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if (n==i*i*i + j*j*j + k*k*k)printf("%d ",n);}printf("\n");return 0;}5-9-1#define M 1000 /*定义寻找范围*/#include <>int main(){int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;int i,a,n,s;for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数 */ {n=0; /* n用来累计a的因子的个数 */s=a; /* s用来存放尚未求出的因子之和,开始时等于a */for (i=1;i<a;i++) /* 检查i是否a的因子 */if (a%i==0) /* 如果i是a的因子 */{n++; /* n加1,表示新找到一个因子 */s=s-i; /* s减去已找到的因子,s的新值是尚未求出的因子之和 */ switch(n) /* 将找到的因子赋给k1...k9,或k10 */{case 1:k1=i; break; /* 找出的笫1个因子赋给k1 */case 2:k2=i; break; /* 找出的笫2个因子赋给k2 */case 3:k3=i; break; /* 找出的笫3个因子赋给k3 */case 4:k4=i; break; /* 找出的笫4个因子赋给k4 */case 5:k5=i; break; /* 找出的笫5个因子赋给k5 */case 6:k6=i; break; /* 找出的笫6个因子赋给k6 */case 7:k7=i; break; /* 找出的笫7个因子赋给k7 */case 8:k8=i; break; /* 找出的笫8个因子赋给k8 */case 9:k9=i; break; /*找出的笫9个因子赋给k9 */case 10:k10=i; break; /* 找出的笫10个因子赋给k10 */}}if (s==0){printf("%d ,Its factors are ",a);if (n>1) printf("%d,%d",k1,k2); /* n>1表示a至少有2个因子 */if (n>2) printf(",%d",k3); /* n>2表示至少有3个因子,故应再输出一个因子 */if (n>3) printf(",%d",k4); /* n>3表示至少有4个因子,故应再输出一个因子 */if (n>4) printf(",%d",k5); /* 以下类似 */if (n>5) printf(",%d",k6);if (n>6) printf(",%d",k7);if (n>7) printf(",%d",k8);if (n>8) printf(",%d",k9);if (n>9) printf(",%d",k10);printf("\n");}}return 0;}5-9-2#include <>int main(){int m,s,i;for (m=2;m<1000;m++){s=0;for (i=1;i<m;i++)if ((m%i)==0) s=s+i;if(s==m){printf("%d,its factors are ",m); for (i=1;i<m;i++)if (m%i==0) printf("%d ",i); printf("\n");}}return 0;}5-10#include <>int main()int i,n=20;double a=2,b=1,s=0,t; for (i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%\n",s); return 0;}5-11#include <>int main()double sn=100,hn=sn/2;int n;for (n=2;n<=10;n++){sn=sn+2*hn; /*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/}printf("第10次落地时共经过%f米\n",sn); printf("第10次反弹%f米\n",hn);return 0;}5-12#include <>int main(){day=9;x2=1;while(day>0){x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1;day--;}printf("total=%d\n",x1);return 0;}5-13#include <>#include <>int main(){printf("enter a positive number:");scanf("%f",&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)>=1e-5);printf("The square root of % is %\n",a,x1); return 0;}5-14#include <>#include <>int main(){double x1,x0,f,f1;x1=;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)>=1e-5);printf("The root of equation is %\n",x1); return 0;}5-15#include <>#include <>int main(){float x0,x1,x2,fx0,fx1,fx2;{printf("enter x1 & x2:"); scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6; }while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6; if ((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}while(fabs (fx0)>=1e-5); printf("x=%\n",x0);return 0;}5-16#include <>int main(){int i,j,k;for (i=0;i<=3;i++){for (j=0;j<=2-i;j++) printf(" ");for (k=0;k<=2*i;k++) printf("*");printf("\n");for (i=0;i<=2;i++){for (j=0;j<=i;j++)printf(" ");for (k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}5-17#include <>int main(){char i,j,k; /*是a的对手;j是b的对手;k是c的对手*/ for (i='x';i<='z';i++)for (j='x';j<='z';j++)if (i!=j)for (k='x';k<='z';k++)if (i!=k && j!=k)if (i!='x' && k!='x' && k!='z')printf("A--%c\nB--%c\nC--%c\n",i,j,k); return 0;}。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例6语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法22S流程图表示算法282.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.3C语句573.4数据的输入输出65 习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
visualbasic程序设计教程第四版答案【篇一:visual_basic程序设计教程(第4版)_课后答案】一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述vb的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;②计算机将运行自动安装程序,若没有,执行vb目录下的setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动vb。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic6.0 中文版”菜单项并单击;②双击桌面上的vb6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动vb;第二章习题参考答案一、选择题:1-10、 dcacdbcbbc11-20、badcabbaab21-29、aacbbcddc二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. form_click第三章习题参考答案一、选择题1、b2、c3、a4、b5、a6、c7、c二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant2、双引号(英文)、#3、 ascii、1、24、 public、通用、dim、static、private、static5、、+、+6、 now()、time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12#(4)zxy123abc8、(1)19(2)8.16666666666667(3)5.25(4)29、(1)-4 (2)2 . 82842712474619(3)-3(4)49(5)”hello”(6)he7)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: daabbcd二、填空题1. 500.00%2.将字号扩大为原来的二倍3. b三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()label1.caption=text1.textcommand1.caption=text1.textend sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
private sub command1_click()text4=val(text1)*val(text2)*val(text3)end subprivate sub command2_click()text1=”” : text2=””: text3=””: text4=””end sub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2private sub command1_click()text1=ucase(text1)end subprivate sub command2_click()text1=lcase(text1)end sub第五章习题参考答案一、选择题:1—11: caabbabbbcc1.(3) 2. 1 2 3 3.223 4.160 5.9 6.78 7.x=5 (或x6 或 x7) 8.b9.isum isum+j 1250三、编程题1.private sub form_click()dim i%,s%s=0for i = 101 to 200 step 2if i mod 30 thenprint is=s+iend ifnext iprint send sub2.private sub form_click()dim n%,ss=1:n=0while s=400000n=n+1s=s*nwendif s400000 then n=n-1print nend sub3.private sub form_click()dim imin%,imax%,i%,r%imin=100:imax=20for i=1 to 20r=int(rnd*51+50)if rimax then imax=rif rimin then imin=rnext iprint imax,iminend sub第六章习题参考答案一、选择题:1—13: abaaccbadadbb1.intervallabel1.caption=time2.list1.listcountinterval hscroll1.max三、编程题第七章习题参考答案一、选择题:1—12: dcadd bbdac cb二、填空题1.42 2.index 3.414.a(i)=a(11-i) a(11-i)=tmp5.1 6.x mod 7=0 7.2108.0 to 8i+1 to 99.3 k110. 1001max maxarrn(i) (或者arrn(i)max)三、编程题1.private sub c1_click()if op1(0).value=true then p1.print “选择了椭圆形”if op1(1).value=true then p1.print “选择了圆形”if op1(2).value=true then p1.print “选择了正方形”end sub2.统计按钮名为command1,输入框名为text1,输出框为text2(multline设为true)private sub command1_click()dim x(1 to 26) as integer,i as integerdim s as string,l as integerl=len(text1.text)for i=1 to ls=mid(text1,i,1)s=ucase(s)if s = a and s = z thenx(asc(s) - 65 + 1) = x(asc(s) - 65 + 1) + 1end ifnext ifor i=1 to ltext2=text2 chr(64+i) “=” x(i) “ “if i mod 7=0 then text2=text2 chr(13)+chr(10)next iend sub3.设学生成绩的平均分已在mark(1)至mark(10)中,学生姓名在name(1)至name(10)中。
private sub command1_click()dim i%,j%,t%,s$for i=1 to 9for j=i+1 to 10if mark(i)mark(j) thent=mark(i):mark(i)=mark(j):mark(j)=ts=name(i):name(i)=name(j):name(j)=snext jnext ifor i=1 to 10print name(i),mark(i)next iend sub第八章习题参考答案一、选择题:【篇二:visual_basic程序设计教程(第4版)_课后答案】>第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述vb的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;②计算机将运行自动安装程序,若没有,执行vb目录下的setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动vb。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic6.0 中文版”菜单项并单击;②双击桌面上的vb6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动vb;第二章习题参考答案一、选择题:1-10、 dcacdbcbbc11-20、badcabbaab21-29、aacbbcddc二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. form_click第三章习题参考答案一、选择题1、b2、c3、a4、b5、a6、c7、c二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant2、双引号(英文)、#3、 ascii、1、24、 public、通用、dim、static、private、static5、、+、+6、 now()、time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12#(4)zxy123abc8、(1)19(2)8.16666666666667(3)5.25(4)29、(1)-4 (2)2 . 82842712474619(3)-3(4)49(5)”hello”(6)he7)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: daabbcd二、填空题1. 500.00%2.将字号扩大为原来的二倍3. b三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()label1.caption=text1.textcommand1.caption=text1.textend sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。