VB6.0课后题及常见操作题代码

VB6.0课后题及常见操作题代码
VB6.0课后题及常见操作题代码

第四章

1、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过inputbox 函数输入数据,在窗体上显示和及平均值。

Dim a as single

For i=1 to 4

a=inputbox(“请输入一个数:”,“数据输入”)

sum=sum+a

n=n+1

avg=sum/n

next i

print “和是:”,sum

print “平均值是:”,avg

2、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。

Dim a as variant

Fontsize=20

a=inputbox(“请输入姓名:”,“数据输入”)

print “姓名:”;a

a=inputbox(“请输入年龄:”,“数据输入”)

print “年龄:”;a

a=inputbox(“请输入通信地址:”,“数据输入”)

print “通信地址:”;a

a=inputbox(“请输入邮政编码:”,“数据输入”)

print “邮政编码:”;a

a=inputbox(“请输入电话:”,“数据输入”)

print “电话:”;a

3.a=5,b=2.5,c=7.8,编程序计算:

y=(πab)/(a+bc)

程序:

Dim a as single,b as single,c as single

a=5

b=2.5

c=7.8

pi=3.14

y=(pi*a*b)/(a+b*c)

print “结果是:”;y

4、输入以秒为单位表示的时间,编写程序,将其转换为几日几时几秒。

Dim a as long,d as integer ,h as integer,s as integer

a=inputbox(“请输入秒数:”,“数据输入”)

d=int(a/86400)

h=int((a-d*86400)/3600)

s=a-d*86400-h*3600

print d;“日”;h;“时”;s;“秒”

5、自由落体位移公式为:s=gt2/2+v0t

其中v0为初始速度,g为重力加速度,t为经历的时间,编写程序,求位移量s。设

v0=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g定义为符号常量,用inputbox函数输入v0和t两个变量的值。

Dim v as single,t as single,s as single

g=9.81

v= inputbox(“请输入初始速度:”,“数据输入”)

v=val(v)

t=inputbox(“请输入经历的时间:”,“数据输入”)

t=val(t)

s=g*t*t/2+v*t

print “位移量是:”;s

6.编程计算并输出S的值:s=2+4+6+8+…+100

dim i,s as integer

s=0

for i=2 to 100 step 2

s=s+i

next

print s

7、给定三角形的3条边长,计算三角形的面积。编写程序:首先判断给出的3条边能否构成三角形,如可以构成,则计算并输出三角形的面积,否则要求重新输入。当输入-1时结束程序。

Dim a as single;b as single;c as single

Start:

a = inputbox(“请输入第一条边长-1结束:”,”数据输入”)

a=val(a)

if a=-1 then

end

end if

b=inputbox(“请输入第二条边长”,“数据输入”)

b=val(b)

c=inputbox(“请输入第三条边长”,“数据输入”)

c=val(c)

if a+b<=c or a+c<=b or b+c<=a then

msgbox(“您输入的三条边长不能构成三角形,请重新输入!”)

goto start

else

l=(a+b+c)/2

s=sqr(l*(l-a)*(l-b)*(l-c))

end if

print “三角形的面积为:”;s

8、税务部门征收所得税,规定如下:

(1)收入在200元以内,免征

(2)收入在200-400元内,超过200元的部分纳税3%

(3)收入超过400元的部分,纳税4%

(4)当收入达5000元或超过时,将4%税金改为5%

编写程序实现上述操作。

Dim x as single,y as single

x=inputbox(“请输入收入!”,“数据输入”)

x=val(x)

if x<=200 then

y=0

elseif x>200 and x<400 then

y=(x-200)*0.03

elseif x>=400 and x<5000 then

y=(x-400)*0.04+200*0.03

elseif x>=5000 then

y=(x-400)*0.05+200*0.03

end if

print “需要纳税的金额为:”;y

9、假定有一下每周工作安排:

星期一、三:讲计算机课

星期二、四:讲程序设计课

星期五:进修英语

星期六:政治学习

星期日:休息

试编写一个程序,对上述工作日程进行检索。程序运行后,要求输入一周里的某一天,程序将输出这一天的工作安排。在输入时用0-6分别代表星期日到星期六,如果输入0-6

之外的数,则程序结束运行。

Dim x as integer

x=inputbox(“请输入一个整数进行检索:”,“数据输入”)

select case x

case 0

y=“休息”

case 1

y=“讲计算机课”

case 2

y=“讲程序设计课”

case 3

y=“将计算机课”

case 4

y=“将程序设计课”

case 5

y=“进修英语”

case 6

y=“政治学习”

case else

end

end select

print y

10。vb数字金字塔1 121 12321一直到9

Private Sub Form_Click()

Dim a(1 To 9) As Integer

For j = 1 To 9

a(j) = j

Next j

For i = 1 To 9

Print Tab(30 - i * 3);

For j = 1 To 2 * i - 1

If j > i Then

Print a(2 * i - j);

Else

Print a(j);

End If

Next j

Next i

End Sub

11.勾股定理中三个数的关系是a*a+b*b=c*c。编写程序,输出30以内满足上述关系的整数组合。例如3,4,5就是一个满足要求的整数组合

Private Sub Command1_Click()

Dim Max As Integer, I As Integer, J As Integer, K

Max = 30

For I = 3 To Max - 2

For J = I + 1 To Max - 1

K = Sqr(I ^ 2 + J ^ 2)

If K = Int(K) And K <= Max Then Print I, J, K

Next

Next

End Sub

12.如果一个数的因子之和等于这个数的本身,则称这样的数为“完全数”。例如,整数28的因子为1,2,4,7,14,其和1+2+4+7+14=28,因此28是一个完全数,编写一个程序,从键盘上输入整数M和N,求出M和N之间的所有的完全数

form load()

'int i,j,m,n,sum

m =inputbox("输入最小正整数")

n =inputbox ("输入最大正整数")

for j=m to n

sum=0

for i=1 to j

if (j mod i=0) and (i <>j ) then sum=sum i

next

if j=sum then print sum & " 是完全数"

next

print "查找完毕"

beep

end sub

13.从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号和考试成绩,并根据成绩按下面的规定输出对该学生的评语:

成绩 80~100 60~79 50~59 40~49 0~39

评语 very good good fair poor fail

(所需控件:三个标签,两个文本框,一个命令按扭)

Private Sub Command1_Click()

Dim s$, a$, mark!

s = Text1.Text

mark = Val(Text2.Text)

Select Case mark

Case Is < 40

a = "fail"

Case Is < 50

a = "poor"

Case Is < 60

a = "fair"

Case Is < 80

a = "good"

Case 80 To 100

a = "very good"

End Select

Print "学号:" & s & vbCrLf & "成绩评定为" & a

End Sub

14.一个两位的正整数,如将它的个位数字与十位数字对调,则产生另一个正整数,我们把后者叫做前者的对调数。如给定一个两位的正整数,请找到另一个两位的正整数,值得这两个整数之和等于他们各自的对调数之和,例如,12+32=21+23.编写程序,输入一个两位的正整数,把具有这种特征的每一对两位正整数都找出来

Private Sub Command1_Click()

Dim a As String

Dim i As Long

a = InputBox("输入一个两位的正整数:")

If Val(a) <= 0 Or Val(a) >= 100 Then

MsgBox "输入不合法"

Exit Sub

End If

For i = 1 To 99

If Val(a) + i = Val(getDuiTiao(a)) + getDuiTiao(CStr(i)) Then

Debug.Print i

End If

Next

End Sub

Private Function getDuiTiao(ByVal vStr As String) As String

Dim strTmp As String

strTmp = Right(CStr(vStr), 1) & Left(CStr(vStr), 1)

getDuiTiao = strTmp

End Function

|

14、编写程序,打印出“杨辉三角”图形。

For i=1 to 9

Print tab(30-i*3);

For j = 1 to i

Print j;

Next j

For j= i-1 to 1 step -1

Print j;

Next j

Print

Next i

第五章

1.从键盘上输入20个整数,并放入一个一维数组中,然后将其前10个元素与后10个元素对换,即:第1个元素与第20个元素互换,第2个元素与第19个元素互换……第10个元素与第11个元素互换。分别输出数组原来各元素的值和对换后各元素的值。

Option Base 1

Private Sub Form_Click()

arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,19,20)

Print "原来数组:"

For i = 1 To 20

Print arr(i);

Next i

Print

For i = 1 To 10

For j = 11 To 20

t = arr(i)

arr(i) = arr(j)

arr(j) = t

Next j

Next i

Print "对换后数组:"

For i = 1 To 20

Print arr(i);

Next i

End Sub

2.VB编写程序,建立并输出一个10*10的矩阵,该矩阵两条对角线元素为1,其余元素均为0

Private Sub Form_Click()

Dim a(1 To 10, 1 To 10) As Integer

For i = 1 To 10

For j = 1 To 10

a(i, j) = 0

If i = j Then a(i, j) = 1

If i + j = 11 Then a(i, j) = 1

Print a(i, j); " ";

Next j

Print

Next i

End Sub

3.VB设计:有个n*m的矩阵,各元素值由键盘输入,求全部元素的平均值,并输出高于平均值的元素及它们的行列号

Private Sub Form_Click()

Dim a!(1 to n, 1 to m)

Dim aver!

Dim sum!

For i = 0 To n

For j = 0 To m

a(i, j) = InputBox("请输入第" & i + 1 & "行" & "第" & j + 1 & "列的数字") sum = sum + a(i, j)

Next j

Next i

aver = sum /nm

Print "平均数为" & aver

Print "大于平均值的数有:"

For i = 0 To n

For j = 0 To m

If a(i, j) > aver Then

Print a(i, j), "第" & i + 1 & "行" & "第" & j + 1 & "列"

End If

Next j

Next i

End Sub

6.随机生成两个3*3的矩阵A和B,将矩阵A和B相加存放在矩阵C中,单击窗体时在3个Picture图形框中分别输出这三个矩阵

private sub form_click()

dim a(2,2),b(2,2),c(2,2),i,j

randomize

for i=0 to 2

for j=0 to 2

a(i,j)=int(rnd*10)

picture1.print a(i,j),

b(i,j)=int(rnd*10)

picture2.print b(i,j),

c(i,j)=a(i,j)+b(i,j)

picture3.print c(i,j),

next

picture1.print

picture2.print

picture3.print

next

end sub

7.设某班共10名学生,为了评定某门课程的奖学金,按规定超过全班平均成绩10%者发给一等奖,超过全班成绩5%者发个二等奖。输出应获奖学金的学生名单(包括名字,学好,成绩,奖学金

type strc

no as integer '定义学号为数值型

xm as string

cj as single ‘定义成绩为单精度型

jl as string ‘定义奖学金类型

end type

dim stu(1 to 10) as strc,ave as single

for i= 1 to 10

stu(i).no=i

stu(i).xm=val(inputbox("请输入" & i “个学生的姓名 "))

stu(i).cj=val(inputbox("请输入" & i “个学生的成绩 "))

ave=ave+stu(i).cj

stu(i).jl=""

next i

ave=ave/10 : ave2=ave *1.1 : ave3 =ave3*1.05

for i= 1 to 10

if stu(i).cj >=ave2 then

stu(i).jl="一等奖学金"

elseif stu(i).cj >=ave3 then

stu(i).jl="二等奖学金"

else

stu(i).jl="未获奖"

endif

print stu(i).no & stu(i).xm & stu(i).cj & stu(i).jl

next i

9.设有如下两组数据。

(1)2,8,7,6,4,28,70,25

(2)79,27,32,41,57,66,

编写一个程序,把上面两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,……,25+66,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

Option Base 1

Private Sub Form_Click()

Dim A, B, C(8) As Integer

A = Array(2, 8, 7, 6, 4, 28, 70, 25)

B = Array(79, 27, 32, 41, 57, 66)

For i = 1 To 8

C(i) = A(i) + B(i)

Next i

Print "第一个数组为:";

For i = 1 To 8

Print A(i);

Next i

Print

Print "第二个数组为:";

For i = 1 To 6

Print B(i);

Next i

Print

Print "第三个数组为:";

For i = 1 To 8

Print C(i);

Next i

Print

End Sub

10编写程序,把下面的数据输入到一个二维数组中:

25 36 78 13

12 26 88 93

75 18 22 32

56 44 36 58

然后执行以下操作:

1)输出矩阵两个对角线上的数;

2)分别输出各行和各列的和。

3)交换第一行和第三行的位置。

4)交换第二行和第四行的位置。

5)输出处理后的数组。

Dim a(4, 4), b(4, 4) As Integer

For i = 0 To 3

For j = 0 To 3

a(i, j) = Val(InputBox("请输入第" & i + 1 & "行第" & j + 1 & "列的数")) Next j

Next i

Print "原始数据"

For i = 0 To 3

Print a(i, 0) & " " & a(i, 1) & " " & a(i, 2) & " " & a(i, 3) & "和" & Val(a(i, 0) + a(i, 1) + a(i, 2) + a(i, 3))

Next i

Print " 和和和和"

For j = 0 To 3

Print " "; Val(a(0, j) + a(1, j) + a(2, j) + a(3, j));

Next j

Print

'对角线

For i = 0 To 3

Print Tab(i * 2); a(i, i)

Next i

Print

For i = 0 To 3

Print Tab((3 - i) * 2); a(i, 3 - i)

Next i

Print

'调整

For j = 0 To 3

b(2, j) = a(0, j) '第一行和第三行

b(0, j) = a(2, j)

b(1, j) = a(3, j)

b(3, j) = a(1, j)

Next j

Print "调整后数据"

For i = 0 To 3

Print b(i, 0) & " " & b(i, 1) & " " & b(i, 2) & " " & b(i, 3)

Next i

11.设有如下人员名册:

姓名性别年龄文化程度籍贯

张得功男 24 大学本科河北

李得胜男 30 高中毕业北京

王丽女 25 研究生山东

……

试编写一个程序,对该名册进行检索。程序运行后,只要在键盘上输入一个人名,就可以在屏幕上显示出这个人的情况。

例如,输入“张得功”,则显示:张得功男 24 大学本科河北

要求:

(1)使用动态数组,输入的人数可以根据实际情况改变。

(2)当检索名册中不存在的人名时,输出相应的信息。

(3)每次检索结束后,询问是否继续检索,根据输入的信息确定是否结束程序。

dim arr() '//定义数组

Adodc1.RecordSource = "select * from 数据表 where 1=1 and 姓名=" & text1.text Adodc1.Refresh

i_count = Adodc1.Recordset.RecordCount

'/////取出数据库中满足条件的数据记录,并且计算记录条数

if i_count=0 then

msgbox "查找人员不存在",64,"提示信息"

else

redim arr(i_count) '//重新定义数组,使符合动态数目

............'//这里对取得数据进行显示处理

end if

Dim Msg, Response

Msg = "确认退出?"

Response = MsgBox(Msg, vbQuestion + vbYesNo, "提示")

Select Case Response

Case vbYes

'//退出

Case vbNo

'//继续

End Select

12.某单位开运动会,共有10人参加男子100米短跑,运动员和成绩如下:

207号 14.5秒 077号 15.1秒

156号 14.2秒 231号 14.7秒

453号 15.2秒 276号 13.9秒

096号 15.7秒 122号 13.7秒

339号 14.9秒 302号 14.5秒

编写程序,按成绩排出名次,并按如下格式输出:

名次运动员成绩

1 ...... ....

2 ...... ....

3 ...... ....

.. ...... ....

10 ...... ....

在Form1中加入一个Command控件,粘贴入以下代码:

Dim i As Integer, j As Integer

Dim n As Integer, m As Integer

Dim w(9, 1) As Double

Private Sub Command1_Click()

Dim a1 As Double, a2 As Double

a1 = 0

a2 = 0

For i = 1 To 10

For j = 0 To 9 - i

If w(j, 1) > w(j + 1, 1) Then

a1 = w(j, 0)

a2 = w(j, 1)

w(j, 0) = w(j + 1, 0)

w(j, 1) = w(j + 1, 1)

w(j + 1, 0) = a1

w(j + 1, 1) = a2

End If

Next j

Next i

For i = 0 To 9

Print w(i, 0)

Next

Print "名次" & " 运动员" & " 成绩"

For i = 0 To 9

Print " " & i + 1 & " " & Format(w(i, 0), "000") & " " & w(i, 1) Next

End Sub

Private Sub Form_Load()

For i = 0 To 9

w(i, 0) = InputBox("请输入第" & i + 1 & "运动员的编号")

w(i, 1) = InputBox("请输入第" & i + 1 & "运动员的成绩")

Next

Command1.Caption = "名次排列"

End Sub

13.杨辉三角形每一行是(x+y)的n次方的展开式的各项系数。例如第一行系数是1;第二行1,1;第三行1,2,1……请编写程序输出n=10的杨辉三角形

Option Base 1

Private Sub Command1_Click()

Dim a() As Double

m = InputBox("请输入行数 ", "输入", 0)

ReDim a(m, m) As Double

For i = 1 To m

a(i, 1) = 1

For j = 1 To m

a(j, j) = 1

If j >= 2 And j <= i - 1 Then

a(i, j) = a(i - 1, j - 1) + a(i - 1, j)

End If

Next j

Next i

For i = 1 To m

For j = 1 To m

If i >= j Then

Print Tab(j * 4); Str(a(i, j));

End If

Next j

Print

Next i

End Sub

第六章

1.编写一个求3个数中最大值和最小值的VB程序,然后用这个过程分别求5个数和7个数的最大最小值.

dim ss

num=val(inputbox ("输入要求的数的个数"))

dim a(1 to num)

for i=1 to num

a(i)=texti.text

next

for m=num to 2

for n=1 to m-1

if a(n)>=a(n+1) then

ss=a(n+1)

a(n+1)=a(n)

a(n)=ss

end if

next

print "MAX:" & a(num)

print "MIN:" & a(1)

2.编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现

方法一:(以前方法)

Option Base 1

Private Sub form_Click()

Dim a(), s()

Dim sum#, str$

Dim m%

m = Val(InputBox("输入要计算几个阶乘的数")): If m <= 0 Then MsgBox "请输入>=1的正数": Exit Sub

ReDim a(1 To m)

ReDim s(1 To m)

For i = 1 To m

a(i) = Val(InputBox("输入第" & i & "个需要计算阶乘的数")): If n < 0 Then Exit For

Next i

For i = 1 To m

s(i) = 1

For j = 1 To a(i)

s(i) = s(i) * j

Next j

Print a(i); "的阶乘数为:"; s(i)

Next i

For i = 1 To m

sum = s(i) + sum

Next i

For i = 1 To m

If i = m Then

str = str & a(i) & "!"

Else

str = str & a(i) & "!" & "+"

End If

Next i

Print Tab(3); "所求的"; m; "个数的阶乘和为:"; str; "="; sum

End Sub

方法二:(sub过程1)

Sub sub1(x As Long)

Dim m%, i%

m = 1

For i = 1 To x

m = m * i

Next

x = m

End Sub

Private Sub Form_Click()

Dim a&, b&, c&, i%, s#

a = InputBox("1")

b = InputBox("2")

c = InputBox("3")

sub1 a

sub1 b

sub1 c

s = a + b + c

Print s

End Sub

3.编写一个过程,以整形作为形参。当该参数为奇数时输出false,当该参数为偶数时输出true

function getFT(val)

if(val mod 2=0) then

getFT="true"

else

getFT="false"

end if

end function

4.设a为一个整数,如果能使a=xxa成立,则称a为"守形数".例如5=25,25=625,则5和25都是守形数.试编写一个Function过程Automorphic,其形参为一正整数,判断其是否为守形数,然后用该过程查找1到1000内的所有守形数.

法一函数

Private Sub Cd1_Click()

Dim a As Long

For a = 1 To 1000

Y = SS(a)

If Y <> 0 Then Print a; "—"; Y

Next a

End Sub

Function SS(X As Long)

X1 = Trim(Str(X * X))

X2 = Trim(Str(X))

L = Len(X2)

If Right(X1, L) = X2 Then SS = X * X

End Function

法二子程序

Private Sub Cd2_Click()

Dim a As Long

For a = 1 To 1000

Call SX(a)

Next a

End Sub

Sub SX(X As Long)

X1 = Trim(Str(X * X))

X2 = Trim(Str(X))

L = Len(X2)

If Right(X1, L) = X2 Then Print X; "—"; X * X

End Sub

5.编写求解一元二次vb方程ax2+bx+c=0的过程,要求a,b,c及解x1,x2都以参数传递的方式与主程序交换数据,输入a,b,c和输出x1,x2的操作放在主程序中Private Sub Command1_Click()

Dim a As Single

Dim b As Single

Dim c As Single

Dim x1 As Single

Dim x2 As Single

Dim f As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

c = Val(Text3.Text)

d = b ^ 2 - 4 * a * c

If a = 0 Then

MsgBox ("二次相系数不得为零")

ElseIf d < 0 Then

MsgBox ("无解")

Else

f = Sqr(d)

x1 = (f - b) / (2 * a)

x2 = (-b - f) / (2 * a)

Text4.Text = x1

Text5.Text = x2

End If

End Sub

6.编写任意数的立方的函数,然后求1-20的立方

Private Sub Command1_Click()

Dim I As Integer

For I = 1 To 20

Print I & "的3次方=" & xxx(I)Next

End Sub

Function xxx(I As Integer) As Double

xxx = I * I * I

End Function

7.用VB编写一个输入0--6数字,显示汉字对照输出星期的Function过程

建立一个form1

Option Explicit

Dim A As Byte, B As String

Private Sub Form_Load()

Form1.AutoRedraw = True

Do

B = InputBox("输入数字(0-6):", "输入", 0)

If Val(B) > -1 And Val(B) < 7 Or Len(B) = 1 Then Exit Do Loop

A = Val(B)

Select Case A

Case 0

B = "星期日"

Case 1

B = "星期一"

Case 2

B = "星期二"

Case 3

B = "星期三"

Case 4

B = "星期四"

Case 5

B = "星期五"

Case 6

B = "星期六"

End Select

Print B

End Sub

输入一个正整数编程判断奇数还是偶数Private Sub Command1_Click()

Dim a As String

Dim n As Long

a = InputBox("输入一个正整数", "输入") n = CLng(a)

If n Mod 2 = 0 Then

Print n; "是偶数"

Else

Print n; "是奇数"

End If

End Sub

VB输入一个正整数编程判断奇数还是偶数Private Sub Command1_Click()

Dim a As String

Dim n As Long

a = InputBox("输入一个正整数", "输入") n = CLng(a)

If n Mod 2 = 0 Then

Print n; "是偶数"

Else

Print n; "是奇数"

End If

End Sub

计算1+2.。。。+100

Private Sub Command1_Click()

Sum = 0

For i = 1 To 100

Sum = Sum + i

Next i

Print "1+2+3+……+100="; Sum

End Sub

编写每周工作安排。

Private Sub Command4_Click()

Dim x%

x = InputBox("请输入星期(0-6)")

Select Case x

Case 1, 3

Print "今天是星期"; x, "讲计算机课"

Case 2, 4

Print "今天是星期"; x, "讲程序设计课"

Case 5

Print "今天是星期"; x, "进修英语"

Case 6

Print "今天是星期"; x, "政治学习"

Case 0

Print "今天是星期日", "休息"

Case Else

End

End Select

End Sub

输入10个学生的成绩,找出最高分,并求最高分是第几位同学。Dim b(10) As Integer

Private Sub Command1_Click()

Const n = 10

Max = 0: k = 0

For i = 1 To n

b(i) = InputBox("请输入第" & i & "个同学的成绩", 求最高分) If b(i) > Max Then

Max = b(i)

End If

Next i

Print "最高分是第" & i & "个同学,其成绩是:" & Max

End Sub

7二维数组的输出。

Dim s(3, 2) As Integer

Private Sub Form_Click()

For i = 0 To 3

Print Tab(5);

For j = 0 To 2

s(i, j) = i * 2 + j + 1

Print s(i, j);

Next j

Print

Next i

End Sub

比较5个数的大小。

Dim S(5) As Integer

Private Sub Form_Click()

Const n = 5

For i = 1 To n

S(i) = InputBox("请输入第" & i & "个数", 数据排序)

Next i

For i = 1 To n - 1

Min = i

For j = i + 1 To n

If S(j) < S(Min) Then Min = j

Next j

t = S(i)

S(i) = S(Min)

Next i

For i = 1 To 5

Print S(i)

Next i

End Sub

抽数排大小

Private Sub Command1_Click()

Dim Data() As String, MaxNum As Integer, Temp As Integer, StepVal As Integer, i As Integer, i2 As Integer

Dim TempStr As String

Data() = Split(Text1.Text, ",")

StepVal = UBound(Data()) - 1

For i = 0 To StepVal

For t = 0 To i

If Val(Data(t)) < Val(Data(i + 1)) Then

MaxNum = Data(i + 1)

Data(i + 1) = Data(t) '

Data(t) = MaxNum

End If

Next

Next

For i2 = 0 To UBound(Data())

TempStr = TempStr & IIf(TempStr = "", "", ",") & Data(i2)

Next

Text2.Text = TempStr

MsgBox "Ok!"

End Sub

Private Sub Command2_Click()

Dim Data() As String, MaxNum As Integer, Temp As Integer, StepVal As Integer, i As Integer, i2 As Integer

Data() = Split(Text1.Text, ",")

StepVal = UBound(Data()) - 1

For i = 0 To StepVal

For t = 0 To i

If Val(Data(t)) < Val(Data(i + 1)) Then

MaxNum = Data(t)

ElseIf Val(Data(t)) > Val(Data(i + 1)) Then

MaxNum = Data(i + 1)

Data(i + 1) = Data(t)

Data(t) = MaxNum

ElseIf Data(t) = Data(i + 1) Then

End If

Next

Next

Text2.Text = ""

For i2 = 0 To UBound(Data())

Text2.Text = Text2.Text & "," & Data(i2)

Next

MsG.EndTime

End Sub

Private Sub Command3_Click()

Dim i As Integer, s As Integer

s = Val(Text3.Text)

Text1.Text = ""

For i = 0 To s

Text1.Text = Text1.Text & IIf(Text1.Text = "", "", ",") & Int(Rnd * 1000)

Next

End Sub

1、求100以内的素数。

Private Sub Form_Click()

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

实验思考题参考答案

实验思考题参考答案 实验Fe(OH)3胶体的制备、破坏、分离 1.常压过滤时滤纸为什么要撕去一角?答:使滤纸紧贴玻璃漏斗,有利于排出滤纸与玻璃漏斗之间气泡,形成液柱。 2.抽滤时剪好的滤纸润湿后略大于布氏漏斗的内径、或剪的不圆周边凸出部分贴在布氏漏斗内壁上,对抽滤有何影响?为什么?答:会造成漏虑。滤纸大于布氏漏斗内径会造成滤纸折叠,不能紧贴布氏漏斗。 3.抽滤时,转移溶液之前为什么要先稍微抽气,而不能在转移溶液以后才开始 抽气?答:使滤纸紧贴布氏漏斗,以免造成漏虑。 4. 沉淀物未能铺满布氏漏斗底部、滤饼出现裂缝、沉淀层疏松不实,对抽干效果有什么影响?为什么?如何使沉淀抽得更干爽?答:固液分离效果不好;漏气使压差变小;用药勺铺平、压实沉淀物再抽滤。 由胆矾精制五水硫酸铜 1.结晶与重结晶分离提纯物质的根据是什么?如果被提纯物质是NaCl 而不是CuSO4·5H2O,实验操作上有何区别? 答:根据物质溶解度随温度变化不同。NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,要用化学方法除杂提纯。 2.结晶与重结晶有何联系和区别?实验操作上有何不同?为什么? 答:均是利用溶解度随温度变化提纯物质;结晶浓缩度较高(过饱和溶液),重结晶浓缩度较低(饱和溶液),且可以进行多次重结晶。结晶一般浓缩到过饱和溶液,有晶膜或晶体析出,冷却结晶;重结晶是在近沸状态下形成饱和溶液,冷却结晶,不允许浓缩。

3.水浴浓缩速度较慢,开始时可以搅拌加速蒸发,但临近结晶时能否这样做? 答:搅拌为了加快水分蒸发;对于利用晶膜形成控制浓缩程度,在邻近结晶时不能搅拌。否则无法形成晶膜。 4.如果室温较低,你准备采用什么措施使热过滤能顺利进行?答:预热漏斗、 分批过滤、保温未过滤溶液。 5.浓缩和重结晶过程为何要加入少量H2SO4?答:防止防止Fe3+水解。 粗盐提纯 1.为什么说重结晶法不能提纯得到符合药用要求的氯化钠?为什么蒸发浓缩时 氯化钠溶液不能蒸干? 答:NaCl 的溶解度随温度变化很小不能用重结晶的办法提纯,药用氯化钠不仅要达到纯度要求,还要符合药用要求。不能浓缩至干NaCl 溶液,是为了除去KCl。 2.用化学法除去SO42-、Mg2+ 、Ca2+的先后顺序是否可以倒置过来?为什么? 答:不能,除杂要求为除去杂质引入的离子必须在后续的除杂过程中除去,先除去Mg2+ 、Ca2+后除SO42-,无法除去Ba2+。 3.用什么方法可以除去粗盐中不溶性杂质和可溶性杂质?依据是什么? 答:不溶性杂质用过滤方法;可溶性杂质用化学方法除杂。依据:溶度积。 醋酸解离度和电离常数测定 1.不同浓度的HAc 溶液的溶解度α是否相同?为什么?用测定数据说明弱电解质解离度随浓度变化的关系。 答:不同,因K a,θ AH 。c↑,α↓。 c 2.测定不同浓度的HAc 溶液的pH 值时,为什么按由稀到浓的顺序?答:平衡块,减小由于润洗不到位而带来的误差。

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

大学化学试验思考题答案

实验一络合滴定法测定水的硬度 一、思考题及参考答案: +,而在络合滴定中应保持酸度不变,H故需加因为EDTA与金属离子络合反应放出1、入缓冲溶液稳定溶液的pH值。若溶液酸度太高,由于酸效应,EDTA的络合能力降低,若溶液酸度太低,金属离子可能会发生水解或形成羟基络合物,故要控制好溶液的酸度。 2、铬黑T在水溶液中有如下: 2-3--(pKa=6.3 In pKa=11.55)HIn ? HIn ?322紫红兰橙 从此估计,指示剂在pH<6.3时呈紫红色,pH>11.55时,呈橙红色。而铬黑T与金属离子形成的络合物显红色,故在上述两种情况下,铬黑T指示剂本身接近红色,终点变色不敏锐,不能使用。根据实验结果,最适宜的酸度为pH 9~10.5,终点颜色由红色变为蓝色,变色很敏锐。 3+3+2+2+2+有干扰。、、CuNi、3、Al、FeCo2+2+2+,加入三乙醇胺掩蔽Ni掩蔽Cu、、CoS在碱性条件下,加入Na或KCN23+3+。、AlFe实验二原子吸收法测定水的硬度 一、思考题参考答案: 1.如何选择最佳的实验条件? 答:通过实验得到最佳实验条件。 (1)分析线:根据对试样分析灵敏度的要求和干扰情况,选择合适的分析线。试液浓度低时,选最灵敏线;试液浓度高时,可选次灵敏线。 (2)空心阴极灯工作电流的选择:绘制标准溶液的吸光度—灯电流曲线,选出最佳灯电流。(3)燃助比的选择:固定其他实验条件和助燃气流量,改变乙炔流量,绘制吸光度—燃气流量曲线,选出燃助比。 (4)燃烧器高度的选择:用标准溶液绘制吸光度—燃烧器高度曲线,选出燃烧器最佳高度。(5)狭缝宽度的选择:在最佳燃助比及燃烧器高度的条件下,用标准溶液绘制吸光度—狭缝宽度曲线,选出最佳狭缝宽度。 2.为何要用待测元素的空心阴极灯作光源? 答:因为空心阴极灯能够发射出待测元素的特征光谱,而且为了保证峰值吸收的测量,能发射出比吸收线宽度更窄、强度大而稳定、背景小的线光谱。 3+含量测定Fe 硫酸亚铁铵的制备及实验三 四、思考题及参考答案 1、本实验在制备FeSO的过程中为什么强调溶液必须保证强酸性?4答:如果溶液的酸性减弱,则亚铁盐(或铁盐)的水解度将会增大,在制备2+(NH)S0·FeSO·6HO的过程中,为了使Fe不被氧化和水解,溶液需要保持足够的酸22444度。 2 、在产品检验时,配制溶液为什么要用不含氧的去离子水?除氧方法是怎样的? 2+3+,影响产品Fe使用不含氧的去离子水配溶液,是为了防止水中溶解的氧将Fe氧化为供参考.质量。水中除去氧的方法是:在烧杯中将去离子水加热煮沸10分钟,用表面皿盖好杯口,冷却后使用。 3、在计算硫酸亚铁和硫酸亚铁铵的理论产量时,各以什么物质用量为标准?为什么? 答:计算FeSO的理论产量时,以Fe屑的参加反应量为标准。4计算(NH)SO·FeSO·6HO的理论产量时,应以(NH)SO的用量为标准。42442244决定计算标准的原则是,以反应物中不足量者为依据。(详见讲解与示范中的3)。

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

操作系统课后题及答案

第一章 1 .设计现代OS 的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2 .OS 的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS 作为计算机系统资源的管理者 (3)OS 实现了对计算机资源的抽象 4 .试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 7 .实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。 解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 12 .试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 答:( 1 )及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100 微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度 的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13 .OS 有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

生化实验思考题参考答案[1].

生化实验讲义思考题参考答案 实验一淀粉的提取和水解 1、实验材料的选择依据是什么? 答:生化实验的材料选择原则是含量高、来源丰富、制备工艺简单、成本低。从科研工作的角度选材,还应当注意具体的情况,如植物的季节性、地理位置和生长环境等,动物材料要注意其年龄、性别、营养状况、遗传素质和生理状态等,微生物材料要注意菌种的代数和培养基成分的差异等。 2、材料的破碎方法有哪些? 答:(1) 机械的方法:包括研磨法、组织捣碎法; (2) 物理法:包括冻融法、超声波处理法、压榨法、冷然交替法等; (3) 化学与生物化学方法:包括溶胀法、酶解法、有机溶剂处理法等。 实验二总糖与还原糖的测定 1、碱性铜试剂法测定还原糖是直接滴定还是间接滴定?两种滴定方法各有何优缺点? 答: 我们采用的是碱性铜试剂法中的间接法测定还原糖的含量。间接法的优点是操作简便、反应条件温和,缺点是在生成单质碘和转移反应产物的过程中容易引入误差;直接法的优点是反应原理直观易懂,缺点是操作较复杂,条件剧烈,不易控制。 实验五粗脂肪的定量测定─索氏提取法 (1)本实验制备得到的是粗脂肪,若要制备单一组分的脂类成分,可用什么方法进一步处理? 答:硅胶柱层析,高效液相色谱,气相色谱等。 (2)本实验样品制备时烘干为什么要避免过热? 答:防止脂质被氧化。 实验六蛋白质等电点测定 1、在等电点时蛋白质溶解度为什么最低? 请结合你的实验结果和蛋白质的胶体性质加以说明。

蛋白质是两性电解质,在等电点时分子所带净电荷为零,分子间因碰撞而聚沉倾向增加,溶液的粘度、渗透压减到最低,溶解度最低。结果中pH约为4.9时,溶液最浑浊,达到等电点。 答: 2、在分离蛋白质的时候,等电点有何实际应用价值? 答: 在等电点时,蛋白质分子与分子间因碰撞而引起聚沉的倾向增加,所以处于等电点的蛋白质最容易沉淀。在分离蛋白质的时候,可以根据待分离的蛋白质的等电点,有目的地调节溶液的pH使该蛋白质沉淀下来,从而与其他处于溶液状态的杂质蛋白质分离。 实验七氨基酸的分离鉴定-纸层析法 1、如何用纸层析对氨基酸进行定性和定量的测定? 答: 将标准的已知氨基酸与待测的未知氨基酸在同一张层析纸上进行纸层析,显色后根据斑点的Rf值,就可以对氨基酸进行初步的定性,因为同一个物质在同一条件下有相同的Rf 值;将点样的未知氨基酸溶液和标准氨基酸溶液的体积恒定,根据显色后的氨基酸斑点的面积与点样的氨基酸质量成正比的原理,通过计算斑点的面积可以对氨基酸溶液进行定量测定。 3、纸层析、柱层析、薄层层析、高效液相层析各有什么特点? 答:

操作系统课后习题答案

第一章操作系统引论 一、填空题 1~5 BCABA 6~8BCB 、填空题 处理机管理 计算机硬件 分时系统 单道批处理系统 、简答题 1. 什么叫多道程序?试述多道程序设计技术的基本思想 及特征。为什么对作业 进行多道批处理可以提高系统效率? 多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序, 使它 们在管理程序控制下,相互穿插运行。 基本思想:在计算机的内存中同时存放多道相互独立的程序, 当某道程序因 某种原因不能继续运行下去时候,管理程序就将另一道程序投入运行,这样使几 道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态, 从而大大 提高计算机使用效率。 特征:多道性;无序性;调度性 在批处理系统中采用多道程序设计技术形成多道批处理系统, 多个作业成批送入 计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。 2. 批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面? 批处 理系统得特征:资源利用率高;系统吞吐量大;平均周转时间长;无交 互能力。适用于那些需要较长时间才能完成的大作业。 分时系统的特征:多路性;独立性;及时性;交互性。适合进行各种事务处 理,并为进行软件开发提供了一个良好的环境。 实时系统的特征:多路性;独立性;实时性;可靠性;交互性。适合对随机发生 的外部事件能做出及时地响应和处理的系统, 如实时控制系统,实时信息处理系 统。1、 2、 存储器管理 设备管理 计算机软件 实时系统 批处理系统 多道批处理系统 文件管理

第二章进程管理 一、填空题 1~6 CBABBB 7 ① A ② C ③ B ④ D 8 ① D ② B 9 ~10 CA 11~15 CBBDB 16~18 DDC 20~21 BB 22 ① B ② D ③ F 25 B 26~30 BDACB 31~32 AD 二、填空题 1、动态性并发性 2、可用资源的数量等待使用资源的进程数 3、一次只允许一个进程使用的共享资源每个进程中访问临界资源的那段代码 4、执行态就绪态等待态 5、程序数据进程控制块进程控制块 &同步关系 7、等待 8、进程控制块 9、P V 11、同步互斥同步互斥 12、P V P V P V 13、封闭性 14、-(m-1)~1 15、② 16、动静 17、4 0 18、s-1<0 19、①③ 三、简答题 1.在操作系统中为什么要引入进程的概念?进程和程序的关系? 现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。 进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。 2.试从动态性、并发性和独立性上比较进程和程序。 动态性:进程的实质是进程实体的一次执行过程。动态性是进程的基本特征。而程序只是一组有序指令的集合,其本身不具有动态的含义,因而是静态的。 并发性:并发性是进程的重要特征,引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行,而程序是不能并发执行的。 独立性:进程的独立性表现在进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。而程序不能做为一个独立的单位参与运行。 3.何谓进程,进程由哪些部分组成? 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程由程序段,数据段,进程控制块三部分组成。

分析实验实验报告思考题答案

分析实验实验报告思考题 答案 This manuscript was revised on November 28, 2020

实验一、NaOH和HCl标准溶液的配制及比较滴定 和NaOH标准溶液能否用直接配制法配制为什么 答:由于NaOH固体易吸收空气中的CO2和水分,浓HCl的浓度不确定,固配制HCl和NaOH标准溶液时不能用直接法。 2.配制酸碱标准溶液时,为什么用量筒量取HCl,用台秤称取NaOH(S)、而不用吸量管和分析天平 答:因吸量管用于标准量取需不同体积的量器,分析天平是用于准确称取一定量的精密衡量仪器。而HCl的浓度不定, NaOH易吸收CO2和水分,所以只需要用量筒量取,用台秤称取NaOH即可。 3.标准溶液装入滴定管之前,为什么要用该溶液润洗滴定管2~3次而锥形瓶是否也需用该溶液润洗或烘干,为什么 答:为了避免装入后的标准溶液被稀释,所以应用该标准溶液润洗滴管2~3次。而锥形瓶中有水也不会影响被测物质量的变化,所以锥形瓶不需先用标准溶液润洗或烘干。 4.滴定至临近终点时加入半滴的操作是怎样进行的 答:加入半滴的操作是:将酸式滴定管的旋塞稍稍转动或碱式滴定管的乳胶管稍微松动,使半滴溶液悬于管口,将锥形瓶内壁与管口接触,使液滴流出,并用洗瓶以纯水冲下。 实验二、NaOH溶液的配制及食用白醋总酸度的测定 1.如何计算称取基准物邻苯二甲酸氢钾或Na2CO3的质量范围称得太多或太少对标定有何影响 答:在滴定分析中,为了减少滴定管的读数误差,一般消耗标准溶液的体积应在20—25ml之间,称取基准物的大约质量应由下式求得: 如果基准物质称得太多,所配制的标准溶液较浓,则由一滴或半滴过量所造成的误差就较大。称取基准物质的量也不能太少,因为每一份基准物质都要经过二次称量,如果每次有±的误差,则每份就可能有±的误差。因此,称取基准物质的量不应少于,这样才能使称量的相对误差大于1‰。 2.溶解基准物质时加入20~30ml水,是用量筒量取,还是用移液管移取为什么 答:因为这时所加的水只是溶解基准物质,而不会影响基准物质的量。因此加入的水不需要非常准确。所以可以用量筒量取。 3.如果基准物未烘干,将使标准溶液浓度的标定结果偏高还是偏低 答:如果基准物质未烘干,将使标准溶液浓度的标定结果偏高。 4.用NaOH标准溶液标定HCl溶液浓度时,以酚酞作指示剂,用NaOH滴定HCl,若NaOH 溶液因贮存不当吸收了CO2,问对测定结果有何影响 答:用NaOH标准溶液标定HCl溶液浓度时,以酚酞作为指示剂,用NaOH滴定HCl,若NaOH溶液因贮存不当吸收了CO2,而形成Na2CO3,使NaOH溶液浓度降低,在滴定过程中虽然其中的Na2CO3按一定量的关系与HCl定量反应,但终点酚酞变色时还有一部分NaHCO3末反应,所以使测定结果偏高。 5.如果NaOH溶液吸收了空气中的CO2,对食用白醋总酸度的测定有何影响、为什么、 答:NaOH吸收了空气中的CO2,使标准溶液中的氢氧化钠浓度变小,用来滴定未知醋酸的浓度,会使测得的浓度偏大 6.本实验中为什么选用酚酞做指示剂其选择原则是什么根据选择原则选用其他指示剂可以吗如果可以请举例说明。

操作系统部分课后习题答案

第一章 1、设计现代OS的主要目标就是什么? 方便性,有效性,可扩充性与开放性。 2、OS的作用可表现在哪几个方面? (1)OS作为用户与计算机硬件系统之间的接口。(2)OS作为计算机系统资源的管理者。(3)OS实现了对计算机资源的抽象。 4、试说明推动多道批处理系统形成与发展的主要动力就是什么 主要动力来源于四个方面的社会需求与技术发展(1)不断提高计算机资源的利用率(2)方便用户(3)器件的不断更新换代(4)计算机体系结构的不断发展。7、实现分时系统的关键问题就是什么?应如何解决 关键问题就是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令。在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据,为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行。这样在不长的时间内,能使每个作业都运行一次。 12、试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 (1)及时性。实时信息处理系统对实时性的要求与分时系统类似,都就是以人所能接受的等待时间来确定,而实时控制系统的及时性,就是以控制对象所要求的

开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性。实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序,不像分时系统那样能向终端用户提供数据与资源共享等服务。(3)可靠性。分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至就是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13、OS有哪几大特征?其最基本的特征就是什么? 并发性、共享性、虚拟性与异步性四个基本特征。最基本的特征就是并发性。 14、处理机管理有哪些主要功能?它们的主要任务就是什么? 处理机管理的主要功能就是:进程管理、进程同步、进程通信与处理机调度 (1)进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换(2)进程同步:为多个进程(含线程)的运行进行协调(3)进程通信:用来实现在相互合作的进程之间的信息交换(4)处理机调度:①作业调度:从后备队里按照一定的算法,选出若干个作业,为她们分配运行所需的资源,首选就是分配内存②进程调度:从进程的就绪队列中,按照一定算法选出一个进程把处理机分配给它,并设置运行现场,使进程投入执行。 15、内存管理有哪些主要功能?她们的主要任务就是什么 内存管理的主要功能有:内存分配、内存保护、地址映射与内存扩充。 内存分配:为每道程序分配内存。

计算机操作系统习题及答案

第3章处理机调度1)选择题 (1)在分时操作系统中,进程调度经常采用_D_ 算法。 A. 先来先服务 B. 最高优先权 C. 随机 D. 时间片轮转 (2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 作业 B. 静态 C. 动态 D. 资源 (3)__A___ 是作业存在的惟一标志。 A. 作业控制块 B. 作业名 C. 进程控制块 D. 进程名 (4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。 A. l小时 B. 5小时 C. 2.5小时 D. 8小时 (5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. (3T1+2T2+T3)/3 D. (T1+2T2+3T3)/3 (6)__D__ 是指从作业提交给系统到作业完成的时间间隔。 A. 运行时间 B. 响应时间 C. 等待时间 D. 周转时间 (7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。 A. 先来先服务 B. 多级队列 C. 短作业优先 D. 时间片轮转 2)填空题 (1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。 (2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。 (3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。 (4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。 (5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。 (6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。 3)解答题 (1)单道批处理系统中有4个作业,其有关情况如表3-9所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。(运行时间为小时,按十进制计算) 表3-9 作业的提交时间和运行时间

操作系统课后习题答案

5.1为什么对调度程序而言,区分CPU约束程序和I/O约束程序很重要? 答:在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来说不会使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。因此,通过给I/O约束程序优先权和允许在CPU 约束程序之前运行,可以很好的利用计算机资源。 5.3考虑用于预测下一个CPU区间长度的指数平均公式。将下面的值赋给算法中的参数的含义是什么? A.a=0 且t0=100 ms B.a=0.99 且t0=10 ms 答:当a=0且t0=100ms时,公式总是会预测下一次的CPU区间为100毫秒。当a=0.99且t0=10毫秒时,进程将给予更高的重量以便能和过去相比。因此,调度算法几乎是无记忆的,且简单预测未来区间的长度为下一次的CPU执行的时间片。 5.4考虑下面一组进程,进程占用的CPU区间长度以毫秒来计算: 进程区间时间优先级 P110 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 假设在0时刻进程以P1、P2、P3、P4、P5的顺序到达。 a.画出4 个Gantt 图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。 b.每个进程在每种调度算法下的周转时间是多少? c.每个进程在每种调度算法下的等待时间是多少? d.哪一种调度算法的平均等待时间最小? 答a.

FCFS: SJF: 非抢占优先级: RR: b.周转时间: c.等待时间: d.从上表中可以看出SJF的等待时间最小。

操作系统课后题答案

精品文档 课本课后题部分答案 第一章 的主要目标是什么?OS1.设计现代答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 14.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。 进程同步:为多个进程(含线程)的运行______________进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需 的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给 它,并设置运行现场,使进程投入执行。 15.内存管理有哪些主要功能?他们的主要任务是什么? 北京石油化工学院信息工程学院计算机系3/48 《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 16.设备管理有哪些主要功能?其主要任务是什么? 答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 17.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。 文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章

大学物理实验课思考题参考答案

大学物理实验思考题参考答案 目录 一、转动惯量: 二、伏安法与补偿法 三、混沌思考题 四、半导体PN结 五、地磁场 六、牛顿环 七、麦克尔逊干涉仪 八、全息照相 九、光电效应 十、声速测量 十一、用电位差计校准毫安表 十二、落球法测量液体的黏度 十三、电子束偏转与电子比荷测量 十四、铁磁材料磁化特性研究 十五、光栅衍射 十六、电桥 十七、电位差计 十八、密立根油滴 十九、模拟示波器 二十、金属杨氏摸量 二十一、导热系数 二十二、分光计 二十三、集成霍尔传感器特性与简谐振动 一、转动惯量: 1、由于采用了气垫装置,这使得气垫摆摆轮在摆动过程中受到的空气粘滞阻尼力矩降低至最小程度,可以忽略不计。但如果考虑这种阻尼的存在,试问它对气垫摆的摆动(如频率等)有无影响?在摆轮摆动中,阻尼力矩是否保持不变? 答:如果考虑空气粘滞阻尼力矩的存在,气垫摆摆动时频率减小,振幅会变小。(或者说 对频率有影响,对振幅有影响) 在摆轮摆动中,阻尼力矩会越变越小。 2、为什么圆环的内、外径只需单次测量?实验中对转动惯量的测量精度影响最大的是哪些因素? 答:圆环的内、外径相对圆柱的直径大很多,使用相同的测量工具测量时,相对误差较小,

故只需单次测量即可。(对测量结果影响大小) 实验中对转动惯量测量影响最大的因素是周期的测量。(或者阻尼力矩的影响、摆轮是否正常、平稳的摆动、物体摆放位置是否合适、摆轮摆动的角度是否合适等) 3、试总结用气垫摆测量物体转动惯量的方法有什么基本特点? 答:原理清晰、结论简单、设计巧妙、测量方便、最大限度的减小了阻尼力矩。 二、伏安法与补偿法 1、利用补偿法测量电阻消除了伏安法的系统误差,还可能存在的误差包括:读数误差、 计算产生的误差、仪器误差、导线阻值的影响等或其他。 2、能利用电流补偿电路对电流表内接法进行改进: 三、混沌思考题 1、 有程序(各种语言皆可)、K值的取值范围、图 +5分 有程序没有K值范围和图 +2分 只有K值范围 +1分 有图和K值范围 +2分

(完整版)操作系统课后题答案

课本课后题部分答案 第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。14.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。 15.内存管理有哪些主要功能?他们的主要任务是什么? 北京石油化工学院信息工程学院计算机系3/48 《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 16.设备管理有哪些主要功能?其主要任务是什么? 答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 17.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章 1.什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

操作系统概念课后习题答案整理.doc

1.1在多道程序和分时环境中,多个用户同时共享一个系统,返种情冴导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在与用机器上一样的安全度?并解释乀。 Answer:a.窃叏戒者复制某用户癿程序戒数据;没有合理癿预算来使用资源(CPU,内存,磁盘空闱,外围设备)b.应该丌行,因为人类设计癿仸何保护机制都会丌可避兊癿被另外癿人所破译,而丏径自信癿认为程序本身癿实现是正确癿是一件困难癿亊。 1.2资源的利用问题在各种各样的操作系统中出现。试例丼在下列的环境中哪种资源必须被严栺的管理。(a)大型电脑戒迷你电脑系统(b)不服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑戒迷你电脑系统:内存呾CPU资源,外存,网络带宽(b)不服务器相联癿工作站:内存呾CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什举情冴下一个用户使用一个分时系统比使用一台个人计算机戒单用户 工作站更好? Answer:当另外使用分时系统癿用户较少时,仸务十分巨大,硬件速度径快,分时系统有意丿。充分利用该系统可以对用户癿问题产生影响。比起个人电脑,问题可以被更快癿解决。迓有一种可能収生癿情冴是在同一时闱有许多另外癿用户在同一时闱使用资源。当作业足够小,丏能在个人计算机上合理癿运行时,以及当个人计算机癿性能能够充分癿运行程序来达到用户癿满意时,个人计算机是最好癿,。 1.4在下面丼出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实

时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对二实时系统来说,操作系统需要以一种公平癿方式支持虚拟存储器呾分时系统。对二手持系统,操作系统需要提供虚拟存储器,但是丌需要提供分时系统。批处理程序在两种环境中都是非必需癿。 1.5描述对称多处理(SMP)和非对称多处理乀间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而丏I/O可以在仸何处理器上运行。非对称多处理有一个主处理器控制系统,不剩下癿处理器是随从关系。主处理器为从处理器安排工作,而丏I/O也叧在主处理器上运行。多处理器系统能比单处理器系统节省资金,返是因为他们能共享外设,大容量存储呾电源供给。它们可以更快速癿运行程序呾增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、觃模经济、增加可靠性) 1.6集群系统不多道程序系统的区别是什举?两台机器属二一个集群来协作提 供一个高可靠性的服务器的要求是什举? Answer:集群系统是由多个计算机耦合成单一系统幵分布二整个集群来完成计算仸务。另一方面,多道程序系统可以被看做是一个有多个CPU组成癿单一癿物理实体。集群系统癿耦合度比多道程序系统癿要低。集群系统通过消息迕行通信,而多道程序系统是通过共享癿存储空闱。为了两台处理器提供较高癿可靠性服务,两台机器上癿状态必项被复制,幵丏要持续癿更新。当一台处理器出现敀障时,另一台处理器能够接管敀障处理癿功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型不对等系统(peer-to-peer)模型

相关文档
最新文档