输入圆的半径,计算圆的面积,并输出。⏺Private Sub Command1_Click()Dim r!, s!r = InputBox("请输入半径", "输入框")s = 3.1415926 * r ^ 2Text1.Text = sEnd Sub⏺2裴波那契数列是由计算某类动物繁殖增长量而提出的。数列的前两项是1、1,以后的每一项都是其相邻前两项之和。编写程序求:数列前30项和FS; (2178308)⏺Private Sub Command1_Click()Dim a#(1 To 30), fsA. (1) = 1 B. (2) = 1 C. or i = 3 To 30 D. (i) = a(i - 1) + a(i - 2) E. Next F. or i = 1 To 30 G. (i) Next Print fs nd Sub ⏺ (N,N),(N取5),数组元素的取值范围为[0,20 ),计算数组中每一列数据的和 ⏺ o 5, 1 To 5) For i = 1 To 3 For j = 1 To 3 a(i, j) = Int(Rnd * 21) Print a(i, j); " "; Next j Print Next i c = "每列相加的值是:" vbCrLf For i = 1 To 3 For j = 1 To 3 t = t + a(j, i) Next j c = c t " " t = 0 Next i Print c ⏺ nd Sub 4编写一个函数,其功能为判断某个整数是不是素数。调用该函数,判断100001是否是素数。 10000不是素数 ⏺ Private Sub Form_Click() p 2 sum = sum + i Next text1.Text = sum End Sub 八。输入一个两位数,分别输入它的个位数字和十位数字 ⏺ 10 c = a 10 Print "各位数字为:"; b; "十位数字为:" nd Sub 九。计算1/1!+1/3!+1/5!+.....+1/99! Private Sub Form_Load() Dim i%, sum%, fact% For i = 1 To 9 fact = fact * i If i Mod 2 = 0 Then sum = sum sum = sum + 1 / fact Next Print sum End Sub ⏺ 十。编写程序,建立一个6*6的整型二维数组(数据由程序调用rnd函数产生(0,15)的随机),输出数组中所有元素和 ⏺ Private Sub Form_Load() Option Base 1 For i = 1 To 6 For j = 1 To 6 a(i, j) = Int(Rnd * 15) Next j Next i Sum = 0 For i = 1 To 6 For j = 1 To 6 Sum = Sum + a(i, j) Next j Next i Print Sum End Sub ⏺ im n, i# InputBox("n=") i = 2 While n Mod i <> 0 i = i + 1 Wend i = n Then Print n "是素数" lse Print n "不是素数" nd If nd Sub ⏺ 5编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。 ⏺ s = 1*2+2*3+3*4+4*5+……+n*(n+1)+… 22750 Private Sub Form_Activate() s = 0 or I = 2 To 50 Step 2 I * (I + 1) Next I Print s nd Sub ⏺ 6编写一个函数,其参数为一个一维整型数组,其功能为求数组中所有元素的平均值。 ⏺ Option Base 1 Private Sub Command1_Click() Sub Private Function ave(a()) For i = 1 To UBound(a) Sum = Sum + a(i) Next i ave = Sum / UBound(a) End Funct nd Sub Private unction ave(a()) For i = 1 To UBound(a) Sum = Sum + a(i) Next i ave = Sum / UBound(a) End Function ⏺ Rnd函数产生[0,15)的随机整数数),输出数组中的最大元素。 ⏺ Option Base 1 Private Sub Command1_Click() im a(6, 6) As Integer Randomize Max = a(1, 1) or i = 1 To 6 or j = 1 To 6 (i, j) = Int(Rnd * 16 + 0) If a(i, j) > Max Then Max = a(i, j) nd If Print a(i, j); n = n + 1 If n Mod 6 = 0 Then Print nd If Next j Next i Print "最大元素为:"; Max nd Sub ⏺ 8输入一个两位数,分别输出它的个位数字和十位数字。 ⏺ Private Sub Command1_Click() a = Val(InputBox("", "")) If a >= 10 And a < 100 Then c = a 10 d = a Mod 10 End If Print a "的十位数为:" c ",个位数为:" d End Sub ⏺ 9计算sum=1!+3!+5!+...+9 ⏺ Private Sub Command1_Click() Dim i%,j%,sum#,a# sum = 0 For i = 1 To 9 Step2 a=1 For j = 1 To i a = a * j sum = sum + a Next j Next i Print sum End Sub ⏺ 10编写一个函数,其功能是把一个二进制数串转换为十进制数串。调用该函数,计算二进制“1110011“对应的十进制数 Private Sub Command1_Click() Print BIN_to_DEC(1110011) End Sub Public Function BIN_to_DEC(ByVal Bin As String) As Long Dim i As Long For i = 1 To Len(Bin) BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1)) Next i End Function S(n)的值,要求结果保留5位小数。S(n)=lnx/x+ln2x/x^2+ln3x/x^3+…+ln(n*x)/x^n+…(其中,ln为自然对数函数) Private Sub Command1_Click() Const x = 3.4 For n = 1 To 20 s = s + Log(n * x) / x ^ n Next n Print Format(s, "0.#####") End Sub 12输入正方形的边长,计算正方形的面积,并输出。 ⏺ Private Sub Command1_Click() im a% = Text1.Text * a Print s nd Sub ⏺ unction过程实现。 ⏺ Private Sub Command1_Click() a = InputBox("请输入十六进制数:", "输入") Print a "转成十进制:" HEX_to_DEC(a) End Sub Public Function HEX_to_DEC(ByVal Hex As String) As Long Dim i As Long Dim B As Long Hex = UCase(Hex) For i = 1 To Len(Hex) Select Case Mid(Hex, Len(Hex) - i + 1, 1) Case "0": B = B + 16 ^ (i - 1) * 0 Case "1": B = B + 16 ^ (i - 1) * 1 Case "2": B = B + 16 ^ (i - 1) * 2 ": B = B + 16 ^ (i - 1) * 13 Case "E": B = B + 16 ^ (i - 1) * 14 Case "F": B = B + 16 ^ (i - 1) * 15 nd Select Next i HEX_to_DEC = B End unction ⏺ unction过程求斐波那契数列的第n项,并调用该函数,显示数列的第5项。斐波那契数列:1,1,2,3,5,8…… ⏺ Sub Private Function f(a) If a = 1 Or a = 2 Then f = 1 Else f = f(a - 1) + f(a - 2) End If End Function nd Sub Private Function f(a) If a = 1 Or a = 2 Then = 1 Else f = f(a - 1) + f(a - 2) End If End Function⏺ 15输入一个四位数,分别输出它的个位数字、十位数字、百位数字和千位数字。 ⏺ Private Sub Command1_Click() a = Val(InputBox("", "")) If a >= 1000 And a < 10000 Then c = a 1000 d = (a - c * 1000) 100 e = (a - c * 1000 - d * 100) 10 f = a - c * 1000 - d * 100 - d * 10 (-10) End If Print a "的千位数为:" c Print a "的百位数为:" d Print a "的十位数为:" e Print a "的个位数为:" f End Sub ⏺ 16编写一个函数,其功能为求两个数的最大公约数。 ⏺ Private Sub Form_Click() im m%, n% InputBox("请输入第一个自然数") InputBox("请输入第二个自然数") Print m; "和"; n; "的最大公约数是"; Print gcd(m, n) nd Sub Public Function gcd%(x%, y%) im r% Mod y While r <> 0 x = y y = r Mod y Wend cd = y nd unction ⏺ 17判断输入年份是否闰年; ⏺ im m% l(inputbox(“m”)) if m mod 400=0 or m mod 100<>0 and m mod 4=0 then print "YES" else print "NO" nd if * 26) + 97 letter = Chr(letterascii) Print letter MsgBox (letter) ⏺ ⏺ Private Sub Command1_Click() im a!, b!, c!, i! Val(InputBox("i")) = m Mod 10 / 10 Mod 10 100 i Then MsgBox "yes" lse MsgBox "NO" nd If i <> 0 i = i + 1 Wend If i = n Then Print n "是素数" lse Print n "不是素数" End If ⏺ ⏺ nd Sub找出100到1000间的水仙花数 Dim i%, a, b, c% or i = 100 To999 a = i Mod 10 b = (i - a) / 10 Mod10 c = i 100 If a ^ 3 + b ^ 3 + c ^ 3 = i Then Print i; End If Next i m m,n% m = Val(InputBox("m")) n = Val(InputBox("n")) if m<n then k=m:m=n:n=k end if print m;n; ⏺ ^(n-1)*n*(n+1)*(n+2)+ …(其中,^表示幂运算) ⏺ Private Sub Command1_Click() im i%, s% or i = 1 To 20 Step 2 s = s + i * (i + 1) * (i + 2) Next Print s nd Sub ⏺ [0,100]之间]) 计算数组中所有偶数的数据的和: ⏺ * 100 If a(i) Mod 2 = 0 Then sum = sum + a(i) or i = LBound(a) To UBound(a) Randomize a(i) = Rnd * 100 If a(i) Mod 2 = 0 Then sum = sum + a(i) End If Next Print sum ⏺ ^2/2!+x^3/3!+…+x^n/n!+… ⏺ Private Sub Command1_Click() Dim i As Integer Dim sum As Single Dim a As Double Dim b As Single a = 1: x = 3.1416: sum = 1 For i = 1 To15 a = a * i b = x ^ i / a sum = sum + b Next i Print Format(sum, "0.000000") End Sub⏺ S(n)的值,保留5位小数 S(n)=(1*2)/(3*4)+(3*4)/(5*6)+(5*6)/(7*8)+......+((2n-1)*2n)/((2n+1)*(2n+2))+....... ⏺ Private Sub Command1_Click() im i!, s! or i = 1 To 20 s = s + (i * (i + 1)) / ((i + 2) * (i + 3)) Next Print s Print Format(Sum, "0.00000") nd Sub ⏺ [1,100](包括1和100)内所有偶数的和。 (2) 求[25,300](包括25和300)内奇数(或偶数)的个数。 (3) 求[0,100]内能被3和7整除的数的个数。 第二题求二维矩阵特定元素的和或交换位置等; 例题: (1) 求二维矩阵a(1 to 6,1 to 6)第一列和第六列所有元素的和,所有元素从[0,100](含0和100)中随机产生。 (2) 求5x5矩阵中5的倍数的个数,所有元素从[0,100](含0和100)中随机产生。 (3) 求二维矩阵a(4,4)所有非边界元素的和,元素从[0,100](含0和100)中随机产生 第三题窗体设计理清思路慢慢来。 例题: (13)设计“倒计时” 界面要求: * 使用标签,文本框,命令按钮、时钟控件完成。 *运行要求: * 用户点击“开始”按钮,从文本框中读取初始秒数显示到上面的标签中,每隔一秒将标签中, *显示的秒数减1,当减到0时,将时钟控件的Enbabled属性置为False,并使用MsgBox显示“时间到”。 (答案) Private Sub Command1_Click() Timer1.Enabled = True Timer1.Interval = 1000 Label1.Caption = Val(Text1.Text) End Sub Private Sub Timer1_Timer() Label1.Caption = Label1.Caption – 1(还有“正计时”的题,换成“+1”,且label1.caption 的初始值为0即可) If Label1.Caption = 0 Then Timer1.Enabled = False: MsgBox quot;时间到quot; End Sub 前两道大题不难,第一题使用一个for循环即可,第二题使用两个for循环即可,自己先做一下,不会的再来咨询“统一战线”。 ⏺ 一。随机数出一个小写字母 Private Sub Command1_Click() Dim a As String Randomize a = Chr(Int(97 + 26 * 26)) MsgBox (a) End Sub 二。计算1/1!+1/2!+。。。。+1|10! Private Sub Command1_Click() Dim m As Integer, n As Long, s As Double n = 1 s = 0 For m = 1 To 10 n = n * m s = s + 1 / n Next Print s End Sub 三。编写一个函数,求两个数的最小数 Private Sub Form_Load() Dim a%, b% a = Val(InputBox("a=")) b = Val(InputBox("b=")) If a > b Then Print "a>b" Else Print "a<b" End If End Sub 四。输入正方形的边长,并计算对角线长 Private Sub Form_Load() Dim a%, b% a = InputBox("请输入a的值") b = Sqr(2) * a Print "正方形的对角线长:"; b End Sub 五。计算并输出下面级数前n项和中偶数项和s=1*2+2*3+3*4+4*5+。。。。+n*(n+1) p 2 sum = sum + i * (i + 1) Next i Print sum End Sub 六。编写一个函数,其功能是判断某个整数是不是素数,调用该函数,判断100001是否是素数 Private Sub Command1_Click() Dim a%, i% a = InputBox("请输入a的值") For i = 1 To a If a Mod i = 0 Then m = m + 1 End If Next i If m = 2 Then MsgBox ("a是素数") Else MsgBox ("a不是素数") End If End Sub 七。计算sum=1+3+5+...+99
将表中所有记录的age字段的值都减5的修改语句为DB::table('member')->increment('age', 5)。A. 对B. 错
FTP的中文意义是()_ 。A. 高级程序设计语言B. 域名C. 文件传输协议D. 网址
DNS服务器中的哪种记录类型用于反向解析?A. A记录B. PTR记录C. MX记录D. CNAME记录
第四章判断字符型变量c1是否为大写字母的正确表达式为______。 (A) 'Z'<=c1<='Z' (B) (c1>='A') (c1<='Z') (C) ('A'>=c1)||('Z'<=c1) (D) (c1>='a')(c1<='Z')已知x=43,ch='A',y=0;则表达式(x>=ych<'B'!y)的值是______。 (A) 0 (B) 语法错 (C) 1 (D)“假”设a=3,b=4,c=5,则逻辑表达式"!(a+b)*c-1b+c%2"的值是______。 (A) -1 (B) 0 (C) 1 (D) 2请从以下表达式中选出a为偶数时值为0的表达式______。 (A) a%2==0 (B) !a%2!=0 (C) a/2*2-2==0 (D) a%2能正确表示a和b同时为正或同时为负的逻辑表达式是______。 (A) (a>=0‖b>=0)(a<0‖b<0) (B) (a>=0b>=0)(a<0b<0) (C) (a+b>0)(a+b<=0) (D) a*b>0能正确表示逻辑关系:"0≤a≤10"的C语言表达式是______。 (A) 0<=a<=10 (B) a>=0,a<=10 (C) a>=0 a<=10 (D) a>=0‖a<=10对y在[3,23]或[100,200]范围内为真的表达式为______。 (A) (y>=3)(y<=23)(y>=100)(y<=200) (B) (y>=3)||(y<=23)||(y>=100)||(y<=200) (C) (y>=3)(y<=23)||(y>=100)(y<=200) (D) (y>=3)||(y<=23)(y>=100)||(y<=200)在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式______。 (A) 只能用逻辑表达式 (B) 只能用逻辑表达式或关系表达式 (C) 只能用关系表达式 (D) 可用任意表达式为避免嵌套的条件语句if-else的二义性,C语言规定:else与______配对。 (A) 缩排位置相同的if (B) 其之前最近的if (C) 其之后最近if (D) 同一行上的if下列运算符中优先级最低的是______。 (A) *= (B) (C) + (D) !=设ch是字符型变量,其值为A,且有下面的表达式: ch=!(ch>='A'ch<='z')?ch:(ch+32),则表达式的值是______。 (A) A (B) a (C) 2 (D) z设ch是字符型变量,其值为b,且有下面的表达式: ch!=(ch>='a'ch<='z')?ch:(ch-32),则表达式的值是______。 (A) B (B) b (C) 1 (D) 0设a=4,b=3,c=2,d=1,则表达式a<b?b:c<d?a:d的结果为______。 (A) 4 (B) 3 (C) 2 (D) 1能正确表示a、b不能同时为零的逻辑表达式是______。 (A) a==0b!=0||a!=0b==0 (B) (a==0)||(b==0) (C) (a!=0)||(b!=0) (D) a*b==0读程序,程序运行结果是[ ]。 #include <stdio.h> void main() ( int a=5,b=4,c=3,d=2; if (a>b>c) printf("%dn", d); else if ( (c-1>=d) ==1) printf("%dn", d+1); else printf("%dn", d+2); ) (A) 2 (B) 3 (C)4 (D)5表达式2<38<=(a=10)的结果是______。 (A) 0 (B) 1 (C) False (D) True若i为整型变量,且有程序段[1]如下,则输出结果是______。 i=122; if(i%2) printf("####"); else printf("****"); (A) #### (B) **** (C) ####**** (D) 有语法错误[2], 无输出结果若变量都已正确说明,则以下程序段输出为______。 int a=2,b=1,c,d; if (a==b) c=d=a; else c=b; d=b; printf("c=%d,d=%d",c,d); (A) c=1,d=1 (B) c=1,d=2 (C) c=2,d=1 (D) c=2,d=2请阅读以下程序: # include <stdio.h> void main() ( int a=2,b=0,c=0; if(a=b+c) printf("###"); else printf(""); ) 以上程序______。 (A) 有语法错不能通过编译 (B) 可以通过编译但不能连接 (C) 输出 (D) 输出###以下______为不正确的if语句。 (A) if(x<y); (B) if(x!=y) scanf("%d",x) else scanf("%d",y); (C) if(x==y) x+=y; (D) if(x<y) (x++;y++;)读程序,程序运行结果是[ ]。 #include <stdio.h> void main ( ) ( int m=5; if (m++>5) printf("%dn",m); else printf("%dn",m--); )A. 4 B. 5 C. 6 D. 7 E. = 2,b = 3, x = 1;则执行语句 if (a>2) if (b>2) x = 2 ; else x = 3; 后 x 的值是______。 (A) 0 F. 1 G. 2lse x = 3; 后 x 的值是______。 (A) 0 (B) 1 (C) 2 (D) 3______。 (A) if (x>0) (B) if (x>0) printf ( "%f ",-x ) ( x=x+y; printf ("%f ", x);) else printf ("%f",-x); else printf ("%f ", -x); (C) if (x>0) (D) if(x>0) (x=x+y ; printf ("%f ", x);); ( x=x+y ; printf ("%f", x)) else printf ("%f", -x) ; else printf ("%f", -x);[ ]。 # include <stdio.h> void main() ( int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %dn", i, j, k); ) (A) 1, 0, 6 (B) 1, 0, 7 (C) 1, 1, 6 (D) 1, 1, 7[ ]。 #include <stdio.h> void main() ( int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; ) printf("a=%d,b=%dn",a,b); } (A) a=2,b=1 (B) a=2,b=2 (C) a=1,b=2 (D) a=1,b=1______。 (A) if (x>0) y=1; (B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1;y=-1;y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1;lse if(x==0)y=0; else y=-1; else y=-1;[ ]。 #include <stdio.h> void main() ( float x=2.0,y; if(x<0.0) y=0.0; else if(x<5.0) y=1.0/x; else y=1.0; printf("%4.1fn",y); ) (A) 0.0 (B) 0.5 (C) 1.0 (D) 不确定______。 (A) if(x>0) y=1; (B) y=0; else if(x==0) y=0; if(x>0) y=1; else y=-1; else if(x<0) y=-1 ; (C) y=0; (D) if(x>=0) if(x>=0); if(x>0) y=1; if(x>0) y=1 ; else y=0; else y=-1; else y=-1;if((a>b)(b>c)) k=1;if((a>b)||(b>c)) k=1 else k=0; else k=0;if(a<=b) k=0;if(a>b) k=1; else if(b<=c) k=1;lse k=0; else k=0; (C) if(a<=b) k=0; (D) if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0;______。 (A) 4 (B) 3 (C) 2 (D) 1(expression==0)(expression!=0)(expression==1)(expression!=1)switch(x)switch(x) ( case 1.0:printf("*n"); { case 1:printf("*n"); case 2.0:printf("**n"); ) case 2:printf("**n"); }switch (a+b)switch (a+b); ( case 1,2:printf("*n"); { case 1:case 2: printf("*n"); )|| a<b!c>b的值是[ 1 ]。语言表达式是[ x>2||x<-2 ]。语言提供的三种逻辑运算符是 、||和[ ! ]。=3,b=-4,c=5,表达式!(a>b)+(b!=c)||(a+b)(b-c)的值是[ 1 ]。(b+8)+sin45°≤lnx的C语言表达式是[ (3+a)*(b+8)+sin(45)<=log(x) ]。≤5且a≠3的C语言表达式是[ (0<=aa<=5)(a!=3) ]。'变成'f','w'变成'b'。请在空中填入正确内容。 #include <stdio.h> void main() ( char c; c=getchar(); if(c>='a'a<='u') [ c=c+5 ]; else if(c>='v'c<='z') c=c-21; putchar(c); )in() ( int s, t, a,; scanf("%d%d",a, b); s=1; t=1; if(a>0) s=s+1; if(a>b) t=s+t; else if (a==b) t=5; else t=2*s; printf("s=%d, t=%d", s, t); ) 为了使输出结果t=4, 输入量a和b应满足的条件是[ b>a>0 ]。[ 3 ]。 #include <stdio.h> void main( ) ( int a=1, b=2, c=3; if (a) { if (b<0) c=0; ) else c++ ; printf("%dn",c); }______。 (A)"a" (B)'77' (C)'n' (D)'x5c'______。 (A)4.3 (B)4.8 (C)3.3 (D)3.8______。 (A)038,.5e-6,0xE (B)12.,0Xc33,3.6e0 (C).17,4e1.5,0ade (D)0x6A,30_000,3.e7______。 (A)0x2g,0ff,E5 (B)'','21',12,456 (C)028,04567,0xffff (D)0xaa,'a',"a"i/2+di/2*cc+d/2i/2+c+d______。 (A)x+n=i; (B)x=n%2.5; (C)x=y==5; (D)x=5=4+1;______。 (A)float 5_five=3.4; (B)int _xyz=29 (C)double a1=6.2e4; (D)short do=3;x=x+10=x+y(double)x/3in() ( int x; scanf("%d",x); if(x>5)printf("%d",x); else printf("%dn",x--); ) 程序运行结果是[ 3 ]。[ 'c' ]。 #include <stdio.h> void main() ( char m='b'; if(m++> 'b') printf(" %cn",m); else printf("%cn",m--); ); else b=10.0; printf("%fn",b); } 程序运行结果是[ 0.500000 ]。switch选择结构中必须有default子句。 B 如果x>y或a<b为真,那么表达式(x>ya<b)为真。 A 假定变量x,y,z在说明时已赋初值,则if ((x=y+5)>0) z=x;是正确的。 B int a=1,b=0,c=1;,则!(a+b)+c-0b+c/2的值为1。 B 语句if(a) x=1;与 if(a==0)x=1;等价。 A if (x>0) (x=x+y ; printf ("%f ", x);) else printf ("%f", -x) ; 语句语法是正确的。 A if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。if语句中可以再嵌套if语句。 A !b==c||d<a等价于((!b)==c)||(d<a)。 B 5>0 4>2的结果为假。 A abc逻辑表达式中,当a为假时将不再计算b和c的值了。
1分]为幻灯片添加动作按钮,可以使用()选项卡。A. 设计B. 切换C. 插入D. 动画
下列哪个算法是用于实现哈希表的数据结构?(单选)A. 冒泡排序[2]B. 二分查找C. 哈希表查找D. 快速排序[3]
[单选] 在"画图"工具中,不能实现的操作为()A. 图像翻转B. 图像拉升C. 图像反色D. 视频播发
第七章 指令系统ღ7-1指令,程序指令:计算机执行某种操作的命令程序:由有序的指令串构成,程序要解决一个具体的问题指令系统:一台计算机能执行的全部指令的集合指令系统的重要性:软件编程的基础,硬件设计的依据,综合考虑计算机的软硬件是计算机设计的关键因素。ღ7-2操作码[1]操作码用来指明该指令所要完成的操作。通常位数反映了机器的操作种类,即机器允许的指令条数,如7位→2^7=128条指令指令的一般格式:操作码字段地址码字段操作码:定长,变长固定长度操作码:操作码长度(占二进制[2]位数)固定不变硬件设计相对简单指令译码时间开销小指令空间利用率较低可变长度操作码:操作码长度随指令地址数目的不同而不同(可平均缩短指令长度)硬件设计相对复杂指令译码时间开销较大指令空间利用率较高例:某机器采用固定长度指令系统,16位,包括3地址指令15条,双地址指令10条,单地址指令若干,每个地址占4位。问:该指令系统最多容纳多少个单地址指令,并设计该指令系统的操作码编码方案析:每条指令:一个唯一操作码编码,不同类型指令具有不同标识,用扩展操作码方案三15条,1111双10条,6个没用 6*16=96个๑ 7.3什么是指令字[3]长、机器字长和存储字长?๑ 7.6某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。固定操作码为4位。8条三地址指令操作码为:00000111(剩下10001111共8个扩展窗口)16条二地址指令操作码为:1000 00001000 1111(剩下1001 00001111 1111共112个扩展窗口)100条一地址指令操作码为: 0000 11110000 11110000 11110000 11110000 11110000 11110000 0011๑7.9试比较间接寻址[4]和寄存器[5]间接寻址。๑7.10试比较基址寻址[6]和变址[7]寻址。 1)都可有效地扩大指令寻址范围。 2)基址寻址时,基准地址由基址寄存器[8]给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器[9]给出。 3)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。 4)基址寻址适用于程序的动态重定位[10],变址寻址适用于数组或字符串处理,适用场合不同。๑7.11画出先变址再间址及先间址再变址的寻址过程示意图。 解:1)先变址再间址寻址过程简单示意如下: EA=[(IX)+A], (IX)+1IX+1-|||-IX-|||-设一重间接๑7.14设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),假设当前转移指令第一字节所在地址为2000H,且CPU每取出一个字节便自动完成(PC)+1→PC的操作。试问当执行“JMP * +8”和“JMP * -9”指令时,转移指令第二字节的内容各为多少?(1)根据汇编语言指令JMP * +8,即要求转移后的目标地址为2000H+08H=2008H,但因为CPU取出该指令后PC值已修改为2002H,故转移指令第二字节的内容应为+6(十进制),写成补码为06H。(2)同理,执行“JMP * -9”指令时,要求转移指令第二字节的内容应为-11(十进制),写成补码为:F5H๑8.1 CPU有哪些功能?画出其结构框图并简要说明各个部件的作用。答:参考P328和图8.2。๑8.2什么是指令周期?指令周期是否有一个固定值?为什么?指令周期是CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。由于各种指令操作功能不同,因此各种指令的指令周期是不同的,指令周期的长短主要和指令在执行阶段的访存次数和执行阶段所需要完成的操作有关。๑8.3画出指令周期的流程图,分析说明图中每个子周期的作用。答:参看P343及图8.8。๑8.4设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求: (1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)。(2)画出中断周期的数据流。 解:CPU中的数据流向与所采用的数据通路结构直接相关,不同的数据通路中的数据流是不一样的。常用的数据通路结构方式有直接连线、单总线、双总线、三总线等形式,目前大多采用总线结构,直接连线方式仅适用于结构特别简单的机器中。为简单起见,本题采用单总线将题中所给部件连接起来,框图如下: (1)LDA@X指令周期数据流程图:(2)中断周期流程图如下:๑8.5中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作? 从CPU机器周期的时序层次来看,中断周期前是指令的执行阶段。中断周期后是取指令阶段。在中断周期CPU应完成关中断、保存断点和转中断服务程序入口三个操作。๑9.2控制单元的功能是什么?其输入受什么控制?答:控制单元的主要功能是发出各种不同的控制信号。其输入受时钟信号、指令寄存器的操作码字段、标志和来自系统总线的控制信号的控制。๑9.3什么是指令周期、机器周期和时钟周期?三者有何关系?指令周期是CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。时钟周期是机器主频的倒数,也可称为节拍,它是控制计算机操作的最小单位时间。一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期,每个指令周期内的机器周期数可以不等,每个机器周期的时钟周期数也可以不等。๑9.4能不能说CPU的主频越快,计算机的运行速度就越快?为什么?不能说CPU的主频越快,计算机的运行速度就越快。因为机器的速度不仅与主频有关,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关。同样主频的机器,由于机器周期所含时钟周期数不同,机器的速度也不同。机器周期中所含时钟周期数少的机器,速度更快。此外,机器的速度还和其他很多因素有关,如主存的速度、机器是否配有Cache、总线的数据传输率、硬盘的速度以及机器是否采用流水技术等。๑10.15设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:试问微指令中的三个字段分别为多少位?
计算机使用虚拟存储器时,用户编程不受主存物理地址的限制。A. 正确B. 错误
热门问题
网络诈骗中常见的“钓鱼网站”目的是()?A. 传播病毒B. 窃取个人信息C. 提供免费电影
下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法
在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切
网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误
下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计
以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层
下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习
4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁
下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型
下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计
下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法
网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误
3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错
7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误
程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构
AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确
下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法
Windows中“复制”操作的快捷键是Ctrl+V。
由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore
2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情