数据结构习题集答案解析--清华大学版

数据结构习题集答案解析--清华大学版
数据结构习题集答案解析--清华大学版

第1章 绪论

简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。

解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。

解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 设有数据结构(D,R),其中

{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =

试按图论中图的画法惯例画出其逻辑结构图。

解:

试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 解:

ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={} 基本操作: InitComplex(&C,re,im)

操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)

操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为e

IsAscending(C)

操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0

IsDescending(C)

操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)

操作结果:用e返回复数C的两个元素中值较大的一个

Min(C,&e)

操作结果:用e返回复数C的两个元素中值较小的一个}ADT Complex

ADT RationalNumber{

数据对象:D={s,m|s,m为自然数,且m不为0}

数据关系:R={}

基本操作:

InitRationalNumber(&R,s,m)

操作结果:构造一个有理数R,其分子和分母分别为s和m

DestroyRationalNumber(&R)

操作结果:销毁有理数R

Get(R,k,&e)

操作结果:用e返回有理数R的第k元的值

Put(&R,k,e)

操作结果:改变有理数R的第k元的值为e

IsAscending(R)

操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)

操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)

操作结果:用e返回有理数R的两个元素中值较大的一个

Min(R,&e)

操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber

试画出与下列程序段等价的框图。

(1) product=1; i=1;

while(i<=n){

product *= i;

i++;

}

(2) i=0;

do {

i++;

} while((i!=n) && (a[i]!=x));

(3) switch {

case x

case x=y: z=abs(x*y); break;

default: z=(x-y)/abs(x)*abs(y);

}

在程序设计中,常用下列三种不同的出错处理方式:

(1) 用exit语句终止执行并报告错误;

(2) 以函数的返回值区别正确返回或错误返回;

(3) 设置一个整型变量的函数参数以区别正确返回或某种错误返回。

试讨论这三种方法各自的优缺点。

解:(1)exit常用于异常错误处理,它可以强行中断程序的执行,返回操作系统。

(2)以函数的返回值判断正确与否常用于子程序的测试,便于实现程序的局部控制。

(3)用整型函数进行错误处理的优点是可以给出错误类型,便于迅速确定错误。

在程序设计中,可采用下列三种方法实现输出和输入:

(1) 通过scanf和printf语句;

(2) 通过函数的参数显式传递;

(3) 通过全局变量隐式传递。

试讨论这三种方法的优缺点。

解:(1)用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。

(2)通过函数的参数传递进行输入输出,便于实现信息的隐蔽,减少出错的可能。

(3)通过全局变量的隐式传递进行输入输出最为方便,只需修改变量的值即可,但过多的全局变量使程序的维护较为困难。

设n为正整数。试确定下列各程序段中前置以记号@的语句的频度:

(1) i=1; k=0;

while(i<=n-1){

@ k += 10*i;

i++;

}

(2) i=1; k=0;

do {

@ k += 10*i;

i++;

} while(i<=n-1);

(3) i=1; k=0;

while (i<=n-1) {

i++;

@ k += 10*i;

}

(4) k=0;

for(i=1; i<=n; i++) {

for(j=i; j<=n; j++)

@ k++;

}

(5) for(i=1; i<=n; i++) {

for(j=1; j<=i; j++) {

for(k=1; k<=j; k++)

@ x += delta;

}

(6) i=1; j=0; while(i+j<=n) { @ if(i>j) j++; else i++; }

(7) x=n; y=0; .+1=

2

)

1(+n n (5) 1+(1+2)+(1+2+3)+...+(1+2+3+...+n)=

=+n

i i i 1

2

)

1( =∑∑∑∑====+=+=+n

i n i n i n i i i i i i i 1

121212121)(21)1(21

=

)32)(1(12

1

)1(41)12)(1(121++=++++n n n n n n n n (6) n (7)

??n 向下取整

(8) 1100

假设n 为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count 的值(以n 的函数形式表示)。

int Time(int n) { count = 0; x=2;

while(x

x *= 2; count++;

}

return count;

}

解:)(log 2n o count=2log 2

-n

已知有实现同一功能的两个算法,其时间复杂度分别为()n

O

2和()10

n O ,假设现实计算机可连续运算

的时间为7

10秒(100多天),又每秒可执行基本操作(根据这些操作来估算算法时间复杂度)5

10次。试问在此条件下,这两个算法可解问题的规模(即n 值的范围)各为多少哪个算法更适宜请说明理由。

解:12102

=n

n=40 1210

10=n

n=16

则对于同样的循环次数n ,在这个规模下,第二种算法所花费的代价要大得多。故在这个规模下,第一种算法更适宜。 设有以下三个函数:

()1000

2124++=n n n f ,()3450015n n n g

+=,()n n n n h log 5005.3+=

请判断以下断言正确与否:

(1) f(n)是O(g(n)) (2) h(n)是O(f(n)) (3) g(n)是O(h(n)) (4) h(n)是O (5) h(n)是O(nlogn)

解:(1)对 (2)错 (3)错 (4)对 (5)错 试设定若干n 值,比较两函数2

n 和n n 2

log 50的增长趋势,并确定n 在什么范围内,函数2n 的值大于

n n 2log 50的值。

解:2

n 的增长趋势快。但在n 较小的时候,n n 2log 50的值较大。

当n>438时,n n n

22

log 50>

判断下列各对函数

()n f 和()n g ,当∞→n 时,哪个函数增长更快

(1) ()(

)

3

10!ln 102n

n n n f ++=,()724++=n n n g

(2)

()()()

2

5!ln +=n n f ,()5.213n n g

=

(3) ()141.2++=n n n f ,()()()n n n g +=2

!ln

(4)

()()()2

223

n

n n f +=,()(

)52

n n n g n +=

解:(1)g(n)快 (2)g(n)快 (3)f(n)快 (4) f(n)快 试用数学归纳法证明:

(1)

()()6/12112

++=∑=n n n i

n

i ()0≥n (2)

()

()1/11

0--=+=∑x x

x n n

i i

()0,1≥≠n x

(3)

122

11

-=∑=-n n

i i

()1≥n (4)

()2

1

12n

i n

i =-∑=

()1≥n

试写一算法,自大至小依次输出顺序读入的三个整数X ,Y 和Z 的值

解:

int max3(int x,int y,int z) {

if(x>y)

if(x>z) return x; else return z; else

if(y>z) return y;

else return z;

}

已知k 阶斐波那契序列的定义为 00=f ,01=f ,…,02=-k f ,11=-k f ;

k n n n n f f f f ---+++= 21, ,1,+=k k n

试编写求k 阶斐波那契序列的第m 项值的函数算法,k 和m 均以值调用的形式在函数参数表中出现。

解:k>0为阶数,n 为数列的第n 项 int Fibonacci(int k,int n) { if(k<1) exit(OVERFLOW); int *p,x; p=new int[k+1]; if(!p) exit(OVERFLOW); int i,j;

for(i=0;i

}

for(i=k+1;i

for(j=0;j

return p[k];

}

假设有A ,B ,C ,D ,E 五个高等院校进行田径对抗赛,各院校的单项成绩均已存入计算机,并构成一张表,表中每一行的形式为

编写算法,处理上述表格,以统计各院校的男、女总分和团体总分,并输出。

解:

typedef enum{A,B,C,D,E} SchoolName; typedef enum{Female,Male} SexType; typedef struct{ char event[3]; chool==sn){ if(a[i].sex==Male) +=a[i].score; if(a[i].sex==Female) +=a[i].score;

}

}

=+;

return temp;

}

试编写算法,计算i

i 2!*的值并存入数组a[0..arrsize-1]的第i-1个分量中(i=1,2,…,n)。假设计算机中允许的整数最大值为maxint ,则当n>arrsize 或对某个()n k k ≤≤1,使int max 2!>?k

k 时,应按

出错处理。注意选择你认为较好的出错处理方法。

解: #include<> #include<>

#define MAXINT 65535 #define ArrSize 100 int fun(int i);

int main() { int i,k; int a[ArrSize]; cout<<"Enter k:"; cin>>k;

if(k>ArrSize-1) exit(0); for(i=0;i<=k;i++){ if(i==0) a[i]=1; else{ if(2*i*a[i-1]>MAXINT) exit(0); else a[i]=2*i*a[i-1];

}

}

for(i=0;i<=k;i++){ if(a[i]>MAXINT) exit(0); else cout<

return 0;

}

试编写算法求一元多项式的值()∑==n

i i i n

x a x P 0

的值()0x P n ,并确定算法中每一语句的执行次数和整

个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为()n i a i ,,1,0 =,0x 和n ,

输出为()0x P n

解: #include<> #include<>

#define N 10

double polynomail(int a[],int i,double x,int n);

int main()

{

double x;

int n,i;

int a[N];

cout<<"输入变量的值x:";

cin>>x;

cout<<"输入多项式的阶次n:";

cin>>n;

if(n>N-1) exit(0);

cout<<"输入多项式的系数a[0]--a[n]:";

for(i=0;i<=n;i++) cin>>a[i];

cout<<"The polynomail value is "<

return 0;

}

double polynomail(int a[],int i,double x,int n)

{

if(i>0) return a[n-i]+polynomail(a,i-1,x,n)*x;

else return a[n];

}

本算法的时间复杂度为o(n)。

第2章线性表

描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。

解:头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。

填空题。

解:(1) 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与元素在表中的位置有关。

(2) 顺序表中逻辑上相邻的元素的物理位置必定紧邻。单链表中逻辑上相邻的元素的物理位置不一定紧邻。

(3) 在单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的链域的值指示。

(4) 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理。

在什么情况下用顺序表比链表好

解:当线性表的数据元素在物理位置上是连续存储的时候,用顺序表比用链表好,其特点是可以进行随机存取。

对以下单链表分别执行下列各程序段,并画出结果示意图。

解:

画出执行下列各行语句后各指针及链表的示意图。

L=(LinkList)malloc(sizeof(LNode)); P=L;

for(i=1;i<=4;i++){

P->next=(LinkList)malloc(sizeof(LNode));

P=P->next; P->data=i*2-1;

}

P->next=NULL;

for(i=4;i>=1;i--) Ins_LinkList(L,i+1,i*2);

for(i=1;i<=3;i++) Del_LinkList(L,i);

解:

已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

a. 在P结点后插入S结点的语句序列是__________________。

b. 在P结点前插入S结点的语句序列是__________________。

c. 在表首插入S结点的语句序列是__________________。

d. 在表尾插入S结点的语句序列是__________________。

(1) P->next=S;

(2) P->next=P->next->next;

(3) P->next=S->next;

(4) S->next=P->next;

(5) S->next=L;

(6) S->next=NULL;

(7) Q=P;

(8) while(P->next!=Q) P=P->next;

(9) while(P->next!=NULL) P=P->next;

(10) P=Q;

(11) P=L;

(12) L=S;

(13) L=P;

解:a. (4) (1)

b. (7) (11) (8) (4) (1)

c. (5) (12)

d. (9) (1) (6)

已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

a. 删除P结点的直接后继结点的语句序列是____________________。

b. 删除P结点的直接前驱结点的语句序列是____________________。

c. 删除P结点的语句序列是____________________。

d. 删除首元结点的语句序列是____________________。

e. 删除尾元结点的语句序列是____________________。

(1) P=P->next;

(2) P->next=P;

(3) P->next=P->next->next;

(4) P=P->next->next;

(5) while(P!=NULL) P=P->next;

(6) while(Q->next!=NULL) { P=Q; Q=Q->next; }

(7) while(P->next!=Q) P=P->next;

(8) while(P->next->next!=Q) P=P->next;

(9) while(P->next->next!=NULL) P=P->next;

(10) Q=P;

(11) Q=P->next;

(12) P=L;

(13) L=L->next;

(14) free(Q);

解:a. (11) (3) (14)

b. (10) (12) (8) (3) (14)

c. (10) (12) (7) (3) (14)

d. (12) (11) (3) (14)

e. (9) (11) (3) (14)

已知P结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。

a. 在P结点后插入S结点的语句序列是_______________________。

b. 在P结点前插入S结点的语句序列是_______________________。

c. 删除P结点的直接后继结点的语句序列是_______________________。

d. 删除P结点的直接前驱结点的语句序列是_______________________。

e. 删除P结点的语句序列是_______________________。

(1) P->next=P->next->next;

(2) P->priou=P->priou->priou;

(3) P->next=S;

(4) P->priou=S;

(5) S->next=P;

(6) S->priou=P;

(7) S->next=P->next;

(8) S->priou=P->priou;

(9) P->priou->next=P->next;

(10) P->priou->next=P;

(11) P->next->priou=P;

(12) P->next->priou=S;

(13) P->priou->next=S;

(14) P->next->priou=P->priou;

(15) Q=P->next;

(16) Q=P->priou;

(17) free(P);

(18) free(Q);

解:a. (7) (3) (6) (12)

b. (8) (4) (5) (13)

c. (15) (1) (11) (18)

d. (16) (2) (10) (18)

e. (14) (9) (17)

简述以下算法的功能。

(1) Status

A(LinkedList

L)

{

()m a a A ,,1 =()n b b B ,,1 =A 'B 'A B ='='B A B A =A '≠'B A 'B 'B

A <

B A >A B

()n a a ,,1 ()1,,a a n ()m a a a A ,,,21 =()

n b b b B ,,,21 =()n m m m b b b a b a C ,,,,,,,111 +=n m ≤()m n n n a a b a b a C ,,,,,,,111 +=n m >()n a a a L ,,,21 =()2431,,,,,,a a a a a L n =.,an)改造为(a1,a3,...,an,...,a2)

Status ListChange_DuL(DuLinkList &L) { int i;

DuLinkList p,q,r; p=L->next; r=L->pre; i=1; while(p!=r){ if(i%2==0){ q=p;

p=p->next;

()m

e m e e n x c x c x c x P +++= 21210

11≥>>>=-e e e n m m ()

m i c i ,,2,10 =≠1≥m ()0x P n 0x ()()()x P x P x P n n 21-= 3.1.1n p p p 21j p k p i p j p k p i p j p k p i p i

p j p k p j p k p i p

12n -2’-1’olor;

Push(s,g[][]);

while(!StackEmpty(s)){

Pop(s,e);

CurPos=;

g[][].Color=FillColor;

g[][].Visited=1;

if

!g[+1][].Visited &&

g[+1][].Color==OldColor )

Push(s,g[+1][]);

if>0 &&

!g[][].Visited &&

g[][].Color==OldColor

)

Push(s,g[][]);

if

!g[][+1].Visited &&

g[][+1].Color==OldColor

)

Push(s,g[][+1]);

if>0 &&

!g[][].Visited &&

g[][].Color==OldColor

)

Push(s,g[][]);

}

}

void CreateGDS(ElemType g[M][N])

{

int i,j;

for(i=0;i

for(j=0;j

g[i][j].=i;

g[i][j].=j;

g[i][j].Visited=0;

g[i][j].Color=0;

}

for(i=2;i<5;i++)

for(j=2;j<4;j++)

g[i][j].Color=3;

for(i=5;i

g[i][j].Color=3;

}

void ShowGraphArray(ElemType g[M][N]) { int i,j;

for(i=0;i

cout<

}

}

假设表达式有单字母变量和双目四则运算符构成。试写一个算法,将一个通常书写形式且书写正确的表达式转换为逆波兰表达式。

解: .#格式

void InversePolandExpression(char Buffer[]) { Stack s; InitStack(s); int i=0,j=0; ElemType e; Push(s,Buffer[i]); i++;

while(Buffer[i]!='#'){

if(!IsOperator(Buffer[i])){ ()()??

?

≥>+-≥==0

,02,10,00,n m n n m g n m n m g

()()

??

??

?>?=+=0

20

1n n F n n n n F A

()??

?

??≥-????

?????? ??+<-=e

A p e p A p A sqrt e A p p e p A sqrt 22,21,,,()()()()??

?

??

≠≠--=≠-=+=0,01,,10,01,101,n m n m akm m akm n m m akm m n n m akm 1

1

1

1

1

1 1 1

1

1

3

2

1

1

3

2

1

1

3

2

1 1 3

2 1 1 3

2 1

3 2 1 3 1 3 1

max ≤n f max

1>+n f 3.4.1

b 2)1a (a k ++=

12

)

1i (i )j n (ni k -----=1i ≥1j ≥j i ≥21i 2

1

i )21n ()i (f -+=j )j (f =)1n (c +-=1j i ≤-1n 3k 0-≤≤2n 2n 2n 2m 2

n

d )1n (a )1n (s a )1n (s )n (s 1n -++-=+-=0

b 0b )

b ,a (add a

)b ,a (add >=??

?--++=.,

总共需进行n-k 次交换。注意最后一组可能出现不足k 个元素的情况,此时最后一组为剩余元素加第一组

的前几个元素共k 个构成最后一组。 void RRMove(ElemType A[],int k,int n) { ElemType e; int i=0,j,p; while(i

for(j=0;j

A[j]=A[(p*k+j)%n]; A[(p*k+j)%n]=e; i++;

}

}

} 解: #include <> #define RS 4 #define CS 4

typedef int ElemType; typedef struct{

ElemType e;

int i,j;

int Flags;

}NodeType;

void Initialize(NodeType a[RS][CS],ElemType A[RS][CS]); void SaddlePoint(NodeType a[RS][CS]);

ElemType RowMin(NodeType a[RS][CS],int k);

ElemType ColMax(NodeType a[RS][CS],int k);

void Show(NodeType a[RS][CS]);

int main()

{

ElemType A[RS][CS]={

{2,1,3,4},

{1,3,1,2},

{2,7,1,3},

{3,2,4,1}

};

NodeType a[RS][CS];

Initialize(a,A);

SaddlePoint(a);

Show(a);

return 0;

}

void Initialize(NodeType a[RS][CS],ElemType A[RS][CS]) {

int i,j;

for(i=0;i

for(j=0;j

a[i][j].e=A[i][j];

a[i][j].i=i;

a[i][j].j=j;

a[i][j].Flags=0;

}

}

}

void SaddlePoint(NodeType a[RS][CS])

{

int i,j;

ElemType x,y;

for(i=0;i

x=RowMin(a,i);

for(j=0;j

y=ColMax(a,j);

if(a[i][j].e==x&&a[i][j].e==y)

a[i][j].Flags=1;

}

}

}

ElemType RowMin(NodeType a[RS][CS],int k)

{

ElemType x;

x=a[k][0].e;

int i;

for(i=1;i

if(x>a[k][i].e){

x=a[k][i].e;

}

return x;

}

ElemType ColMax(NodeType a[RS][CS],int k)

{

ElemType x;

x=a[0][k].e;

int i;

for(i=1;i

if(x

x=a[i][k].e;

}

return x;

}

void Show(NodeType a[RS][CS])

{

for(int i=0;i

for(int j=0;j

if(a[i][j].Flags)

cout<

解:

typedef int ElemType;

class Triple{

public:

int row;

int col;

ElemType e;

Triple(){}

virtual ~Triple(){}

BOOL operator<(Triple b);

BOOL operator==(Triple b);

};

BOOL Triple::operator<(Triple b)

{

if(row< return TRUE;

if(row==&&col< return TRUE;

return FALSE;

}

BOOL Triple::operator==(Triple b)

{

if(row== && col==

return TRUE;

else

return FALSE;

}

class CSparseMat

{

public:

CSparseMat(){}

virtual ~CSparseMat(){}

CSparseMat(int r,int c,int n);

CSparseMat operator+(CSparseMat B);

void ShowSparse(CDC* pDC);

Triple *m_pt; ow=;

m_pt[i].col=;

m_pt[i].e=;

}

}

}

void CSparseMat::ShowSparse(CDC *pDC)

{

char str[10];

int k=0;

for(int i=0;i

for(int j=0;j

if(m_pt[k].row==i && m_pt[k].col==j){

itoa(m_pt[k].e,str,10);

k++;

}

else itoa(0,str,10);

pDC->TextOut(0+j*20,0+i*20,str,strlen(str));

}

}

}

ow=m_pt[i].row;

[k].col=m_pt[i].col;

[k].e=m_pt[i].e;

i++;

}

else{

if(m_pt[i]==[j]){

[k].row=m_pt[i].row;

[k].col=m_pt[i].col;

[k].e=m_pt[i].e+[j].e;

i++; j++;

}

else{

[k].row=[j].row;

[k].col=[j].col;

[k].e=[j].e;

j++;

}

}

k++;

}

while(i

[k].row=m_pt[i].row;

[k].col=m_pt[i].col;

[k].e=m_pt[i].e;

i++;

k++;

}

while(j<{

[k].row=[j].row;

[k].col=[j].col;

[k].e=[j].e;

j++;

k++;

}

=k;

return temp;

}

解:

#include<>

#include<>

#define Max 128

typedef int ElemType;

typedef struct{

int col;

ElemType e;

}Twin;

class CSparseMat

{

public:

CSparseMat(){}

CSparseMat(int r,int c,int n);

virtual ~CSparseMat(){}

void ShowSparse(int i,int j);

Twin* m_pt; ol>>m_pt[i].e;

}

for(i=0;i

cout<<"请输入每行第一个非零元在二元组中的序号(没有输入-1):";

cin>>rpos[i]; ol==j)

x=m_pt[k].e;

k++;

}

}

cout<

}

int main()

{

CSparseMat A(3,3,5);

(2,1);

return 0;

}

解:

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=3997 https://www.360docs.net/doc/df11954073.html,快速开发新闻系统在线播放 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=1243 https://www.360docs.net/doc/df11954073.html, 2.0快速入门(12)-https://www.360docs.net/doc/df11954073.html, 2.0网站快速导航 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=4825 https://www.360docs.net/doc/df11954073.html, 高级排错技巧 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.360docs.net/doc/df11954073.html,开发SQL Server 2005 OLAP应用 https://www.360docs.net/doc/df11954073.html,/so/so138.aspx?id=2535

清华大学数字电路汇总题库

清华大学数字电路题库 一、填空题 : (每空1分,共10分) 1. (30.25) 10 = ( ) 2 = ( ) 16 。 2 . 逻辑函数L = + A+ B+ C +D = 。 3 . 三态门输出的三种状态分别为:、和。 4 . 主从型JK触发器的特性方程= 。 5 . 用4个触发器可以存储位二进制数。 6 . 存储容量为4K×8位的RAM存储器,其地址线为条、数据线为条。 二、选择题: (选择一个正确的答案填入括号内,每题3分,共30分 ) 1.设下图中所有触发器的初始状态皆为0,找出图中触发器在时钟信号作用下,输出电压波形恒为0的是:()图。 2.下列几种TTL电路中,输出端可实现线与功能的电路是()。 A、或非门 B、与非门 C、异或门 D、OC门 3.对CMOS与非门电路,其多余输入端正确的处理方法是()。 A、通过大电阻接地(>1.5KΩ) B、悬空 C、通过小电阻接地(<1KΩ)

B、 D、通过电阻接V CC 4.图2所示电路为由555定时器构成的()。 A、施密特触发器 B、多谐振荡器 C、单稳态触发器 D、T触发器 5.请判断以下哪个电路不是时序逻辑电路()。 A、计数器 B、寄存器 C、译码器 D、触发器 6.下列几种A/D转换器中,转换速度最快的是()。 A、并行A/D转换器 B、计数型A/D转换器 C、逐次渐进型A/D转换器 B、 D、双积分A/D转换器 7.某电路的输入波形 u I 和输出波形 u O 如下图所示,则该电路为()。 A、施密特触发器 B、反相器 C、单稳态触发器 D、JK触发器 8.要将方波脉冲的周期扩展10倍,可采用()。 A、10级施密特触发器 B、10位二进制计数器 C、十进制计数器 B、D、10位D/A转换器 9、已知逻辑函数与其相等的函数为()。 A、 B、 C、 D、 10、一个数据选择器的地址输入端有3个时,最多可以有()个数据信号输出。 A、4 B、6 C、8 D、16 三、逻辑函数化简(每题5分,共10分) 1、用代数法化简为最简与或式 Y= A +

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(著)答案

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)答案 第三章答案1-22 1. (1)立即寻址没有 (2)直接寻址 7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址 0D5F0H (6) 基址变址寻址 8E18H (7)相对基址变址 004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H 3. (1)寄存器间接寻址 MOV BX,OFFSET [BLOCK][0AH] MOV DX ,[BX] (2)寄存器相对寻址 MOV SI,OAH MOV DX,[BLOCK][SI] (3)基址变址寻址 MOV BX ,BLOCK MOV SI,OAH MOV DX,[BX][SI] 4. 现有(DS)=2000H, (BX)=0100H, (SI)=0002H,(20100)=12H, (20101)=34H,(20102)=56H, (20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。 (1)MOV AX,1200H 1200H (2) MOV AX,BX 0100H

(3) MOV AX,[1200] 4C2AH 注意,是字单元!! (4)MOV AX,[BX] 同上 (5)MOV 1100[BX] 4C2AH (6) MOV AX,[BX][SI] 7856H (7) MOV AX,1100[BX][SI] 65B7H 5.(1) 7CD9H (2) 1200H (3) 6319H 6. MOV BX,2000H LES DI ,[BX] MOV AX, ES:DI 7.转向地址OBJ的值分别为:(1)064DH (2)0691H (3)05E0H 注意有符号数的符号位 8.(1) MOV AX,0ABH 立即数寻址无物理地址 (2) MOV AX,BX 寄存器寻址同上 (3) MOV AX,[100] 直接寻址 20100H (4) MOV AX,VAL 直接寻址 20050H (5) MOV AX,[BX] 寄存器间接寻址 20100H (6) MOV AX,ES:[BX] 直接寻址 21100H (7) MOV AX,[BP] 寄存器间接寻址 20010H (8)MOV AX,[SI] 同上 200A0H (9) MOV AX,[BX+10] 寄存器相对寻址 20110H (10)MOV AX,VAL[BX] 同上 20150H (11) MOV AX,[BX][SI] 基址变址寻址 201A0H (12) MOV AX,VAL[BX][SI] 相对基相变址寻址 201F0H 9.(1)的指令: MOV AX, [BX][0CH] MOV ZREO ,AX (2) 的指令: MOV AX,ARRAY[BX] MOV ZREO,AX 10. MOV AX,TABLE 是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H 11. 执行完指令后,(AX)=1E00H 12. LEA AX,CSTRING MOV DL,AX MOV DH,[AX+6] 13. 这参考课本P51--P53 14.LES BX,[2000]

清华大学运筹学考试

一、不定向选择 1、若线性规划问题有可行解则: A其可行域可能无界 B其可行域为凸集 C至少有一个可行解为基本可行解 D可行域边界上点都为基本可行解 E一定存在某一可行解使目标函数达最优值 F任一可行解均能表示为所有可行域顶点线性组合表示 G某一可行解为最优解必要条件为它是一个基本解。 2、线性规划问题和其对偶问题关系: A对偶问题的对偶问题为原问题 B若原问题无解,其对偶问题有无界解 C若原问题无界解,其对偶问题无解或者无界解 D即使原问题有最优解,其对偶问题也未必有最优解 E原问题目标函数达到最大时,其对偶问题取最小值 F只有原问题达最优解时,其对偶问题才有可行解 G若原问题有无穷多最优解,其对偶问题有无界解。 二、已知线性规划问题,如下: max z=x1+x2-x3 -x1+2x2+x3<=2 st. -2x1+x2-x3<=3 x1,x2,x3>=0 据对偶理论分析此问题有解的情况(最优,无界或无解)三、已知线性规划问题 max z=x1+4x2+x3+2x4 x1+2x2 +x4<=8 x2 +2x4<=6 st. x2+x3+x4<=9 x1+x2+x3 <=6 x1,x2,x3,x4>=0 最优解为(0,2,4,2)据对偶理论找出其对偶问题最优解四、单纯形法解下列线性规划问题 max z=3x1+2x2

x1+2x2<=6 st. 2x1+x2<=8 -x1+x2<=1 x2<=2 x1,x2>=0 1)第一、二、四约束的影子价格为多少? 2)变量x1价值系数增加2,最优解是否变化? 五、运输问题单价表如下,确定总运费最小的调运方案 B1 B2 B3 B4 产量 A1 3 10 3 11 14 A2 2 8 1 9 8 A3 10 6 7 4 18 销量10 12 6 12 40 六、设备更新题:某设备收益r(万元),维修保养费w(万元) 更新费g(万元)与役龄t(年)关系如下: r(t)=10-1/2 t w(t)=1+5/4 t g(t)=1/2+4/5 t 考虑资金占用利率I ,试建立10年更新计划动态规划模型

汇编语言

武汉理工大学华夏学院课程设计报告书 课程名称:汇编语言课程设计 题目:在屏幕上显示变换的图形 系名:信息工程系 专业班级:软件工程1131 姓名: 学号: 102128131 指导教师:李捷 2015 年 1 月 9 日

课程设计任务书 学生姓名: 专业班级: 软件1131 指导教师: 李捷 工作单位: 信息工程系 设计题目:在显示器上显示对称图1、图2 初始条件: PC 机上实现课程设计 要求完成的主要任务: 主要任务:(在规定的时间内完成下列任务) 1. 按”Esc ”退出程序;能有2种图形显示,2种色彩方案(见上图) 2. 按“1 , 2” 黑白----------显示图形1,图形2 3. 按“3 , 4”色彩方案1---显示图形1,图形2(颜色自定) 4. 按“5 , 6”色彩方案2---显示图形1,图形2(颜色自定)+ 时间安排: 设计报告撰写格式要求:(按提供的设计报告统一格式撰写) 1、 题目:在显示器上显示有色彩变换的数字对称图 2、设计目的:在课程设计实验中,利用顺序结构、循环结构和主、子程序的调用,更进 一步的学习和掌握汇编语言课程设计。 2、设计内容:写出简要的程序功能描述、程序运行条件--所需工具软件、输入/输出描述等。 3、程序结构:① 主要的段定义说明; ② 用到的子程序(宏)的功能说明、调用关系说明、参数传送方式说明等; ③ 主要算法描述等(各模块功能实现及典型指令的应用)。 4、设计步骤(注明时间安排) 5、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录) 6、实验结果(输出) 7、其他值得说明的内容(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。 附录:①源程序代码(必须有简单注释) ②参考文献 指 导 教 师 签 字: 2015年 1 月1日 系 主 任 签 字: 年 月 日

清华大学《大学物理》习题库试题及答案__07_热学习题

清华大学《大学物理》习题库试题及答案热学习题 一、选择题 1.4251:一定量的理想气体贮于某一容器中,温度为T ,气体分子的质量为m 。根据 理想气体的分子模型和统计假设,分子速度在x 方向的分量平方的平均值 (A) m kT x 32=v (B) m kT x 3312=v (C) m kT x /32=v (D) m kT x /2=v [ ] 2.4252:一定量的理想气体贮于某一容器中,温度为T ,气体分子的质量为m 。根据 理想气体分子模型和统计假设,分子速度在x 方向的分量的平均值 (A) m kT π8=x v (B) m kT π831=x v (C) m kT π38=x v (D) =x v 0 [ ] 3.4014:温度、压强相同的氦气和氧气,它们分子的平均动能ε和平均平动动能w 有如下关系: (A) ε和w 都相等 (B) ε相等,而w 不相等 (C) w 相等,而ε不相等 (D) ε和w 都不相等 [ ] 4.4022:在标准状态下,若氧气(视为刚性双原子分子的理想气体)和氦气的体积比V 1 / V 2=1 / 2 ,则其内能之比E 1 / E 2为: (A) 3 / 10 (B) 1 / 2 (C) 5 / 6 (D) 5 / 3 [ ] 5.4023:水蒸气分解成同温度的氢气和氧气,内能增加了百分之几(不计振动自由度和 化学能)? (A) 66.7% (B) 50% (C) 25% (D) 0 [ ] 6.4058:两瓶不同种类的理想气体,它们的温度和压强都相同,但体积不同,则单位 体积内的气体分子数n ,单位体积内的气体分子的总平动动能(E K /V ),单位体积内的气体质 量ρ,分别有如下关系: (A) n 不同,(E K /V )不同,ρ不同 (B) n 不同,(E K /V )不同,ρ相同 (C) n 相同,(E K /V )相同,ρ不同 (D) n 相同,(E K /V )相同,ρ相同 [ ] 7.4013:一瓶氦气和一瓶氮气密度相同,分子平均平动动能相同,而且它们都处于平 衡状态,则它们 (A) 温度相同、压强相同 (B) 温度、压强都不相同 (C) 温度相同,但氦气的压强大于氮气的压强 (D) 温度相同,但氦气的压强小于氮气的压强 [ ] 8.4012:关于温度的意义,有下列几种说法:(1) 气体的温度是分子平均平动动能的 量度;(2) 气体的温度是大量气体分子热运动的集体表现,具有统计意义;(3) 温度的高低 反映物质内部分子运动剧烈程度的不同;(4) 从微观上看,气体的温度表示每个气体分子的 冷热程度。这些说法中正确的是 (A) (1)、(2)、(4);(B) (1)、(2)、(3);(C) (2)、(3)、(4);(D) (1)、(3) 、(4); [ ] 9.4039:设声波通过理想气体的速率正比于气体分子的热运动平均速率,则声波通过 具有相同温度的氧气和氢气的速率之比22 H O /v v 为 (A) 1 (B) 1/2 (C) 1/3 (D) 1/4 [ ] 10.4041:设图示的两条曲线分别表示在相同温度下氧气和氢气分子的速率分布曲线;

80X86汇编语言程序设计教程+课后习题答案(清华大学版)

第二章答案 Tarzan 版 题2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些 寄存器可作为存储器寻址方式的指针寄存器? 答:8086/8088通用寄存器的通用性表现在: 这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存 算术逻辑运算中的操作数和运算结果; 8个通用寄存器的专门用途如下: AX 字乘法,字除法,字I/O BX 存储器指针 CX 串操作或循环控制中的计数器 DX 字乘法,字除法,间接I/O SI 存储器指针(串操作中的源指针) DI 存储器指针(串操作中的目的指针) BP 存储器指针(存取堆栈的指针) SP 堆栈指针 其中BX,SI,DI,BP可作为存储器寻址方式的指针寄存器 题2.2 从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8位 寄存器? 答:从程序员的角度看,8086/8088有14个可访问的16位寄存器;有8个可访问的8位寄存器; 题2.3 寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器 AX的内容: MOV AX,1234H MOV AL,98H MOV AH,76H ADD AL,81H SUB AL,35H

ADD AL,AH ADC AH,AL ADD AX,0D2H SUB AX,0FFH 答: MOV AX,1234H AX=1234H MOV AL,98H AX=1298H MOV AH,76H AX=7698H ADD AL,81H AX=7619H SUB AL,35H AX=76E4H ADD AL,AH AX=765AH ADC AH,AL AX=D15AH ADD AX,0D2H AX=D22CH SUB AX,0FFH AX=D12DH 题2.4 8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志 的状态? 答: 8086/8088标志寄存器中定义了9个标志,如下: CF: Carry Flag ZF: Zero Flag SF: Sign Flag OF: Overflow Flag PF: Parity Flag AF: Auxiliary Carry Flag DF: Direction Flag IF: Interrupt-enable Flag TF: Trap Flag 这些标志可分为两类,分别为: 1、运算结果标志; 2、状态控制标志; 采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF; 采用CLC可清除CF,置CF到0 采用STC可置CF到1 采用CLD可置DF到0 采用sTD可置DF到1

2015年清华大学826运筹学与统计学

2015年清华大学826运筹学与统计学(数学规划、应用随机模型、统计学各占1/3)考研复习参考书 科目:826 运筹学与统计学(数学规划、应用随机模型、统计学各占1/3)参考书:《运筹学(数学规划)(第3版)清华大学出版社,2004年1月 W.L.Winston 《运筹学》(应用随机模型)清华大学出版社,2004年2月 V.G. Kulkarni 《概率论与数理统计》(第1~9章)高等教育出版社,2001年盛聚等 考研复习方法,这里不详细展开。简单归纳为: 新祥旭考研提醒:首先,清楚考试明细,掌握真题,真题为本。通过真题,了解和熟知:考什么、怎么考、考了什么、没考什么;通过练习真题,了解:目前我的能力、复习过程中我的进步、我的考试目标。提醒一句:千万不要浪费大量时间做不相关的模拟题;千万不要把考研复习等同于做题目,搞题海战术。 其次,把握参考书,参考书为锚。弄懂、弄熟。考研复习如何才能成功?借用《卖油翁》里的一句话,那就是:手熟而已。明确考试之后,考研就基本上是一个熟悉吃透的过程。无论何时,参考书第一,不能轻视。所以,千万不要本末倒置,把做题凌驾于看书之上。如何才叫熟悉?我认为,要打破“讲速度,不讲效率”的做法,看了多少遍并不是检验熟悉与否的指标,合上书本,随时自我检测,能否心中有数、一问便知,这才是关键。 再次,制定计划,合理分配时间。不是每一本参考书都很重要,都一样重要,所以,在了解真题的基础上,要了解每一本书占多少分,如何命题考试,在此基础上,每一本参考书的主次轻重、复习方略也就清楚了,复习才不会像开摊卖药,平均用力。一个月制定一份计划书,每天写一句话鼓励自己,一个月调整一次复习重点,这都是必要的。 最后,快乐复习。考研复习是以什么样状态进行的,根源在于能否克服不良情绪。第一,报考对外汉语,你是因为喜欢这个专业吗?如果是,那么,就继续给自己这种暗示,那么你一定会发现,复习再紧张,也是愉悦的,因为你是为了兴趣而考研的;第二,规律的作息,不大时间战,消耗战,养精蓄锐。运动加休息,如果能每天都很规律,那么成功也就有了保障,负面情绪少了,效率也就高了。 总结为几个关键词,就是:知己知彼、本末分明。

运筹学教程清华第三版课后答案(第一章,第五章部分)

1.某饲养场饲养动物出售,设每头动物每天至少需700g蛋白质、30g矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg营养成分含量及单价如表1所示。表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 x表示满足动物生长的营养需要时,解:设总费用为Z。i=1,2,3,4,5代表5种饲料。 i 第i种饲料所需的数量。则有: 2.某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1)若护士上班后连续工作8h,该医院最少需要多少名护士,以满足轮班需要; (2)若除22:00上班的护士连续工作8h外(取消第6班),其他班次护士由医院排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。表2 x第i班开始上班的人数,i=1,2,3,4,5,6 解:(1)设 i x第i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设 i 班开始上班的人数,i=1,2,3,4。

a 3.要在长度为l的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n种,分别为 j (j=1,2,…n)。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设 x表示各种毛坯的数量,i=1,2,…n。 i 4.一艘货轮分前、中、后三个舱位,它们的与最大允许载重量如表3.1所示。现有三 种货物待运,已知有相关数据列于表3.2。 表3.1 表3.2 又为了航海安全,前、中、后舱实际载重量大体保持各舱最大允许载重量的比例关系。具体要求:前、后舱分别与中舱之间载重量比例的偏差不超过15%,前、后舱之间不超过10%。问该货轮应该载A,B,C各多少件运费收入才最大?试建立这个问题的线性规划模型。 x表示第i件商品在舱j的装载量,i,j=1,2,3 解:设 ij 1)商品的数量约束: 2)商品的容积约束: 3)最大载重量约束: 4)重量比例偏差的约束: 5.篮球队需要选择5名队员组成出场阵容参加比赛。8名队员的身高及擅长位置见表 5. 表5

清华大学《大学物理》习题库试题及答案--04-机械振动习题

一、选择题: 1.3001:把单摆摆球从平衡位置向位移正方向拉开,使摆线与竖直方向成一微小角度 θ ,然后由静止放手任其振动,从放手时开始计时。若用余弦函数表示其运动方程,则该单 摆振动的初相为 (A) π (B) π/2 (C) 0 (D) θ 2.3002:两个质点各自作简谐振动,它们的振幅相同、周期相同。第一个质点的振动方程为x 1 = A cos(ωt + α)。当第一个质点从相对于其平衡位置的正位移处回到平衡位置时,第二个质点正在最大正位移处。则第二个质点的振动方程为: (A) )π21cos(2++=αωt A x (B) ) π21 cos(2-+=αωt A x (C) ) π23 cos(2-+=αωt A x (D) )cos(2π++=αωt A x 3.3007:一质量为m 的物体挂在劲度系数为k 的轻弹簧下面,振动角频率为ω。若把此弹簧分割成二等份,将物体m 挂在分割后的一根弹簧上,则振动角频率是 (A) 2 ω (B) ω2 (C) 2/ω (D) ω /2 (B) 4.3396:一质点作简谐振动。其运动速度与时间的曲线如图所示。若质点的振动规律用余弦函数描述,则其初相应为 (A) π/6 (B) 5π/6 (C) -5π/6 (D) -π/6 (E) -2π/3 5.3552:一个弹簧振子和一个单摆(只考虑小幅度摆动),在地面上的固有振动周期分别为T 1和T 2。将它们拿到月球上去,相应的周期分别为1T '和2T '。则有 (A) 11T T >'且22T T >' (B) 11T T <'且22T T <' (C) 11T T ='且22T T =' (D) 11T T ='且22T T >' 6.5178:一质点沿x 轴作简谐振动,振动方程为 ) 31 2cos(1042π+π?=-t x (SI)。从t = 0时刻起,到质点位置在x = -2 cm 处,且向x 轴正方向运动的最短时间间隔为 (A) s 81 (B) s 61 (C) s 41 (D) s 31 (E) s 21 7.5179:一弹簧振子,重物的质量为m ,弹簧的劲度系数为k ,该振子作振幅为A 的简谐振动。当重物通过平衡位置且向规定的正方向运动时,开始计时。则其振动方程为: (A) )21/(cos π+=t m k A x (B) ) 21/cos(π-=t m k A x (C) ) π21/(cos +=t k m A x (D) )21/cos(π-=t k m A x (E) t m /k A x cos = 8.5312:一质点在x 轴上作简谐振动,振辐A = 4 cm ,周期T = 2 s ,其平衡位置取 v 2 1

清华大学《大学物理》习题库试题及答案__02_刚体习题

一、选择题 1.0148:几个力同时作用在一个具有光滑固定转轴的刚体上,如果这几个力的矢量和 为零,则此刚体 (A) 必然不会转动 (B) 转速必然不变 (C) 转速必然改变 (D) 转速可能不变,也可能改变 [ ] 2.0153:一圆盘绕过盘心且与盘面垂直的光滑固定轴O 以角速度ω按图示方向转动。 若如图所示的情况那样,将两个大小相等方向相反但不在同一条直线的力F 沿盘面同时作用到圆盘上,则圆盘的角速度ω (A) 必然增大 (B) 必然减少 (C) 不会改变 (D) 如何变化,不能确定 [ ] 3.0165:均匀细棒OA 可绕通过其一端O 而与棒垂直的水平固定光滑轴转动,如图所 示。今使棒从水平位置由静止开始自由下落,在棒摆动到竖直位置的过程中,下述说法哪一 种是正确的? (A) 角速度从小到大,角加速度从大到小 (B) 角速度从小到大,角加速度从小到大 (C) 角速度从大到小,角加速度从大到小 (D) 角速度从大到小,角加速度从小到大 [ ] 4.0289:关于刚体对轴的转动惯量,下列说法中正确的是 (A )只取决于刚体的质量,与质量的空间分布和轴的位置无关 (B )取决于刚体的质量和质量的空间分布,与轴的位置无关 (C )取决于刚体的质量、质量的空间分布和轴的位置 (D )只取决于转轴的位置,与刚体的质量和质量的空间分布无关 [ ] 5.0292:一轻绳绕在有水平轴的定滑轮上,滑轮的转动惯量为J ,绳下端挂一物体。 物体所受重力为P ,滑轮的角加速度为α。若将物体去掉而以与P 相等的力直接向下拉绳 子,滑轮的角加速度α将 (A) 不变 (B) 变小 (C) 变大 (D) 如何变化无法判断 [ ] 6.0126:花样滑冰运动员绕通过自身的竖直轴转动,开始时两臂伸开,转动惯量为J 0, 角速度为0ω。然后她将两臂收回,使转动惯量减少为31 J 0。这时她转动的角速度变为: (A) 031ω (B) () 03/1ω (C) 03ω (D) 03ω [ ] 7.0132:光滑的水平桌面上,有一长为2L 、质量为m 的匀质细杆,可绕过其中点且垂 直于杆的竖直光滑固定轴O 自由转动,其转动惯量为31 mL 2,起初杆静止。桌面上有两个质 量均为m v 相向运动,如图所示。当两小球同时与杆的两个端点发生完全非 弹性碰撞后,就与杆粘在一起转动,则这一系统碰撞后的转动角速 度应为: (A) L 32v (B) L 54v (C) L 76v (D) L 98v (E) L 712v [ ] 8.0133:如图所示,一静止的均匀细棒,长为L 、质量为M ,可绕通过棒的端点且垂 O v 俯视图

汇编语言(沈美明,温冬婵)课后答案

汇编语言程序设计(第二版) (清华大学IBM-PC 汇编语言程序设计(第二版)沈美明温冬婵编著) 第二章 1、答:直接由指令指定的I/O端口数为256个。 2、答: 3、答:字节单元:(30022H)= AB H,(30024H)= EF H 字单元:(30021H)= AB34 H,(30022H)= CDAB H。 4、答:3017:000A的存储单元的物理地址是3017AH, 3015:002A的存储单元的物理地址是3017AH, 3010:007A的存储单元的物理地址是3017AH。 5、答:该程序的第一个字的物理地址是0AAA40H。 6、答:条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。 7、答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、 SP、BP、DI、SI(注意:学生尽量不要用SP参与加减运算) (2)CX (3)DX、AX、AH、AL (4)CS、DS、ES、SS (5)FLAGS (6)IP (7)SS、SP、BP 8、答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、 ES、SS。 9、答:唯一正确的是D。 第三章 2、答: (1)ADD DX, BX (2)ADD AL, [BX][SI] (3)ADD [BX+0B2H], CX (4)ADD [0524H], 2A59H (5)ADD AL, 0B5H 3、答: (1)MOV BX, OFFSET BLOCK + 0AH MOV DX, [BX] (2)MOV BX, 0AH MOV DX, BLOCK[BX] (3)MOV BX, OFFSET BLOCK MOV SI, 0AH MOV DX, [BX][SI]

清华_第三版_运筹学教程_课后答案~(_第一章_第五章部分)

清华第三版 运筹学 答案[键入文字] [键入文字] [键入文字] 运筹学教程 1. 某饲养场饲养动物出售,设每头动物每天至少需700g 蛋白质、30g 矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg 营养成分含量及单价如表1所示。 表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 解:设总费用为Z 。i=1,2,3,4,5代表5种饲料。i x 表示满足动物生长的营养需要时,第i 种饲料所需的数量。则有: ????? ? ?=≥≥++++≥++++≥++++++++=5,4,3,2,1,01008.022.05.0305.022.05.07008623..8.03.04.07.02.0min 54321543215432154321i x x x x x x x x x x x x x x x x t s x x x x x Z i 2. 某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1) 若护士上班后连续工作8h ,该医院最少需要多少名护士,以满足轮班需要; (2) 若除22:00上班的护士连续工作8h 外(取消第6班),其他班次护士由医院 排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。 表2

6 2:00~6:00 30 解:(1)设x 第i 班开始上班的人数,i=1,2,3,4,5,6 ???????????=≥≥+≥+≥+≥+≥+≥++++++=且为整数 6,5,4,3,2,1,030 2050607060..min 655443 322161 654321i x x x x x x x x x x x x x t s x x x x x x Z i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设i x 第i 班开始上班的人数,i=1,2,3,4。 ??? ????? ?? ??? ??=≥=+++=≥+++=+++=≥+++=+++=≥+++=+++=≥+++++++=4 ,3,2,1,1002 1502 16021702 ,160..30 min i 444342414444433422411434 33323133 443333223113242322212244233222211214131211114413312211114321j i y x y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y t s x x x x Z ij 变量,—是,,,第四班约束,,第三班约束,,第二班约束,第一班约束 3. 要在长度为l 的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n 种,分别为j a (j=1,2,…n )。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设i x 表示各种毛坯的数量,i=1,2,…n 。

清华大学《大学物理》试题及答案

热学部分 一、选择题 1.4251:一定量的理想气体贮于某一容器中,温度为T ,气体分子的质量为m 。根据理想气体的分子模型和统计假设,分子速度在x 方向的分量平方的平均值 (A) (B) (C) (D) [ ] 2.4252:一定量的理想气体贮于某一容器中,温度为T ,气体分子的质量为m 。根据理想气体分子模型和统计假设,分子速度在x 方向的分量的平均值 (A) (B) (C) (D) 0 [ ] 3.4014:温度、压强相同的氦气和氧气,它们分子的平均动能和平均平动动能 有如下关系:(A) 和都相等 (B) 相等,而不相等 (C) 相等,而不相等 (D) 和都不相等 [ ] 4.4022:在标准状态下,若氧气(视为刚性双原子分子的理想气体)和氦气的体积比V 1 / V 2=1 / 2 ,则其内能之比E 1 / E 2为: (A) 3 / 10 (B) 1 / 2 (C) 5 / 6 (D) 5 / 3 [ ] 5.4023:水蒸气分解成同温度的氢气和氧气,内能增加了百分之几(不计振动自由度和化学能)? (A) 66.7% (B) 50% (C) 25% (D) 0 [ ] 6.4058:两瓶不同种类的理想气体,它们的温度和压强都相同,但体积不同,则单位体积内的气体分子数n ,单位体积内的气体分子的总平动动能(EK /V ),单位体积内的气体质量,分别有如下关系:(A) n 不同,(EK /V )不同,不同 (B) n 不同,(EK /V )不同,相同 (C) n 相同,(EK /V )相同,不同 (D) n 相同,(EK /V )相同,相同 [ ] 7.4013:一瓶氦气和一瓶氮气密度相同,分子平均平动动能相同,而且它们都处于平衡状态,则它们 (A) 温度相同、压强相同 (B) 温度、压强都不相同 (C) 温度相同,但氦气的压强大于氮气的压强 (D) 温度相同,但氦气的压强小于氮气的压强 [ ] 8.4012:关于温度的意义,有下列几种说法:(1) 气体的温度是分子平均平动动能的量度;(2) 气体的温度是大量气体分子热运动的集体表现,具有统计意义;(3) 温度的高低反映物质内部分子运动剧烈程度的不同;(4) 从微观上看,气体的温度表示每个气体分子的冷热程度。这些说法中正确的是 (A) (1)、(2)、(4);(B) (1)、(2)、(3);(C) (2)、(3)、(4);(D) (1)、(3) 、(4); [ ] 9.4039:设声波通过理想气体的速率正比于气体分子的热运动平均速率,则声波通过具有相同 温度的氧气和氢气的速率之比为 (A) 1 (B) 1/2 (C) 1/3 (D) 1/4 [ ] 10.4041:设图示的两条曲线分别表示在相同温度下氧气和氢气分子的速率分布曲线;令 和分别表示氧气和氢气的最概然速率,则: (A) 图中a表示氧气分子的速率分布曲线; /=4 (B) 图中a表示氧气分子的速率分布曲线; /=1/4 (C) 图中b表示氧气分子的速率分布曲线; /=1/4 (D) 图中b表示氧气分子的速率分布曲线; /= 4 [ ] m kT x 32= v m kT x 3312 =v m kT x /32=v m kT x /2 =v m kT π8= x v m kT π831=x v m kT π38= x v =x v εw εw εw w εεw ρρρρρ2 2H O /v v ()2 O p v ()2 H p v ()2 O p v ()2 H p v ()2O p v ()2H p v ()2 O p v ()2 H p v ()2 O p v ()2 H p v

《汇编语言》学习笔记(清华大学 王爽)

清华大学《汇编语言》(王爽)读书笔记 第一章基础知识 ◎汇编语言由3类指令组成 汇编指令:机器码的助记符,有对应机器码。 伪指令:没有对应机器码,由编译器执行,计算机并不执行 其他符号:如+-*/,由编译器识别,没有对应机器码 ◎一个CPU有n根地址线,则可以所这个CPU的地址线宽度为n,这样的CPU最多可以寻找2的n 次方个内存单元。 ◎ 1K=2^10B 1M=2^20B 1G=2^30B ◎8086 CPU地址总线宽度为20,寻址范围为00000~FFFFF 00000~9FFFF 主存储器地址空间(RAM) A0000~BFFFF 显存地址空间 C0000~FFFFF 各类ROM地址空间 第二章寄存器(CPU工作原理) ◎16位结构描述了一个CPU具有下面几个方面的结构特性 运算器一次最多可以处理16位的数据 寄存器的最大宽度为16位 寄存器和运算器之间的通路为16位 ◎8086有20位地址总线,可以传送20位地址,达到1M的寻址能力。采用在内部用两个16位地址合成的方法来形成一个20位的物理地址 ◎物理地址 = 段地址 × 16 + 偏移地址 ◎在编程是可以根据需要,将若干地址连续的内存单元看作一个段,用段地址×16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。段地址×16必然是16的倍数,所以一个段的起始地址也一定是16的倍数;偏移地址位16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB ◎8086有四个段寄存器 CS、DS、SS、ES ◎CS为代码段寄存器,IP为指令指针寄存器。任意时刻,设CS中内容为M、IP中内容为N,8086CPU从内存M×16+N读取一条指令执行 ◎不能用mov修改CS、IP,因为8086CPU没有提供这样功能,可用指令JMP 段地址:偏移地址。JMP 2AE3:3 JMP AX 修改IP 第三章寄存器(内存访问) ◎DS数据段寄存器。不能将数据直接送入段寄存器,所以『MOV DS, 1』不正确 ◎字在存储时要两个连续的内存单元,低位在低地址,高位在高地址 ◎[address]表示一个偏移地址为address的内存单元 ◎SS:SP指向栈顶元素 ◎PUSH AX:(1)SP = SP - 2;(2)AX送入SS:SP ◎POP AX:(1)SS:SP送入AX;(2)SP = SP + 2 ◎PUSH/POP 寄存器 PUSH/POP 段寄存器 PUSH/POP 内存单元 第四章第1个程序 ◎可执行文件包含两部分:程序和数据,相关的描述信息 ◎程序加载后, ds中存放这程序所在内存区的段地址,这个内存区的偏移地址为0,策程序所在的内存区的地址为ds:0;这个内存区的前256个字节中存放的是PSP,dos用来和程序进行通信。从256字节处向后的空间存放的是程序。 第五章 [BX]和loop指令 ◎[BX]表示一个内存单元,它的段地址在ds中,偏移地址在bx中。MOV AX,[BX] MOV AL,[BX]

运筹学教程 清华 第三版 课后答案( 第一章,第五章部分)

1. 某饲养场饲养动物出售,设每头动物每天至少需700g 蛋白质、30g 矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg 营养成分含量及单价如表1所示。 表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 解:设总费用为Z 。i=1,2,3,4,5代表5种饲料。i x 表示满足动物生长的营养需要时,第i 种饲料所需的数量。则有: ????? ? ?=≥≥++++≥++++≥++++++++=5,4,3,2,1,01008.022.05.0305.022.05.07008623..8.03.04.07.02.0min 54321543215432154321i x x x x x x x x x x x x x x x x t s x x x x x Z i 2. 某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1) 若护士上班后连续工作8h ,该医院最少需要多少名护士,以满足轮班需要; (2) 若除22:00上班的护士连续工作8h 外(取消第6班),其他班次护士由医院 排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。 表2

解:(1)设x 第i 班开始上班的人数,i=1,2,3,4,5,6 ???????????=≥≥+≥+≥+≥+≥+≥++++++=且为整数 6,5,4,3,2,1,030 2050607060..min 655443 322161 654321i x x x x x x x x x x x x x t s x x x x x x Z i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设i x 第i 班开始上班的人数,i=1,2,3,4。 ??? ????? ?? ??? ??=≥=+++=≥+++=+++=≥+++=+++=≥+++=+++=≥+++++++=4 ,3,2,1,1002 1502 16021702 ,160..30 min i 444342414444433422411434 33323133 443333223113242322212244233222211214131211114413312211114321j i y x y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y t s x x x x Z ij 变量,—是,,,第四班约束,,第三班约束,,第二班约束,第一班约束 3. 要在长度为l 的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n 种,分别为j a (j=1,2,…n )。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设i x 表示各种毛坯的数量,i=1,2,…n 。 ?????≤= ∑∑==是整数i 1 1 1max x x a x a Z i i n i i i n i

相关文档
最新文档