文档库 最新最全的文档下载
当前位置:文档库 › 唐策善+刘黄生+《数据结构——用C语言描述》+课后题答案

唐策善+刘黄生+《数据结构——用C语言描述》+课后题答案

唐策善+刘黄生+《数据结构——用C语言描述》+课后题答案
唐策善+刘黄生+《数据结构——用C语言描述》+课后题答案

https://www.wendangku.net/doc/675457777.html,/computer/book/read/data-structure/h971111102.html 习题解答(唐策善版)(其他版本在上面)

第一章绪论(参考答案)

1.3 (1) O(n)

(2)(2)O(n)

(3)(3)O(n)

(4)(4)O(n1/2)

(5)(5)执行程序段的过程中,x,y值变化如下:

循环次数x y

0(初始)91 100

1 9

2 100

2 9

3 100

………………

9 100 100

10 101 100

11 91 99

12 92 100

………………

20 101 99

21 91 98

………………

30 101 98

31 91 97

到y=0时,要执行10*100次,可记为O(10*y)=O(n)

1.5 2100 , (2/3)n , log2n , n1/2 ,n3/2, (3/2)n , n log2n , 2 n ,n! , n n

第二章线性表(参考答案)

在以下习题解答中,假定使用如下类型定义:

(1)顺序存储结构:

#define MAXSIZE 1024

typedef int ElemType;// 实际上,ElemType可以是任意类型

typedef struct

{ ElemType data[MAXSIZE];

int last; // last表示终端结点在向量中的位置

}sequenlist;

(2)链式存储结构(单链表)

typedef struct node

{ElemType data;

struct node *next;

}linklist;

(3)链式存储结构(双链表)

typedef struct node

{ElemType data;

struct node *prior,*next;

}dlinklist;

(4)静态链表

typedef struct

{ElemType data;

int next;

}node;

node sa[MAXSIZE];

2.1 头指针:指向链表的指针。因为对链表的所有操均需从头指针开始,即头指针具有标识链表的作用,所以链表的名字往往用头指针来标识。如:链表的头指针是la,往往简称为“链表la”。

头结点:为了链表操作统一,在链表第一元素结点(称为首元结点,或首结点)之前增加的一个结点,该结点称为头结点,其数据域不无实际意义(当然,也可以存储链表长度,这只是副产品),其指针域指向头结点。这样在插入和删除中头结点不变。

开始结点:即上面所讲第一个元素的结点。

2.2 只设尾指针的单循环链表,从尾指针出发能访问链表上的任何结点。

2·3

void insert(ElemType A[],int elenum,ElemType x)

// 向量A目前有elenum个元素,且递增有序,本算法将x插入到向量A中,并保持向量的递增有序。

{ int i=0,j;

while (i

for (j= elenum-1;j>=i;j--) A[j+1]=A[j];// 向后移动元素

A[i]=x; // 插入元素

} // 算法结束

2·4

void rightrotate(ElemType A[],int n,k)

// 以向量作存储结构,本算法将向量中的n个元素循环右移k位,且只用一个辅助空间。{ int num=0; // 计数,最终应等于n

int start=0; // 记录开始位置(下标)

while (num

{ temp=A[start]; //暂存起点元素值,temp与向量中元素类型相同

empty=start; //保存空位置下标

next=(start-K+n) %n; // 计算下一右移元素的下标

while (next !=start)

{ A[empty]=A[next];// 右移

num++; // 右移元素数加1

empty=next;

next=(next-K+n) %n; // 计算新右移元素的下标

}

A[empty]=temp; // 把一轮右移中最后一个元素放到合适位置

num++;

start++; // 起点增1,若num

}

} // 算法结束

算法二

算法思想:先将左面n-k个元素逆置,接着将右面k个元素逆置,最后再将这n个元素逆置。

void rightrotate(ElemType A[],int n,k)

// 以向量作存储结构,本算法将向量中的n个元素循环右移k位,且只用一个辅助空间。

{ ElemType temp;

for(i=0;i<(n-k)/2;i++) //左面n-k个元素逆置

{temp=A[i]; A[i]=A[n-k-1-i]; A[n-k-1-i]=temp; }

for(i=1;i<=k;i++) //右面k个元素逆置

{temp=A[n-k-i]; A[n-k-i]=A[n-i]; A[n-i]=temp; }

for(i=0;i

{temp=A[i]; A[i]=A[n-1-i]; A[n-1-i]=temp; }

} // 算法结束

2·5

void insert(linklist *L,ElemType x)

// 带头结点的单链表L递增有序,本算法将x插入到链表中,并保持链表的递增有序。{ linklist *p=L->next, *pre=L,*s;

// p为工作指针,指向当前元素,pre为前驱指针,指向当前元素的前驱

s=(linklist *)malloc(sizeof(linklist));//申请空间,不判断溢出

s->data=x;

while (p && p->data<=x) {pre=p; p=p->next;} // 查找插入位置

pre->next=s; s->next=p; // 插入元素

} // 算法结束

2·6

void invert(linklist *L)

// 本算法将带头结点的单链表L逆置。

//算法思想是先将头结点从表上摘下,然后从第一个元素结点开始,依次前插入以L为头结点的链表中。

{ linklist *p=L->next,*s;

// p为工作指针,指向当前元素,s为p的后继指针

L->next=null;//头结点摘下,指针域置空。算法中头指针L始终不变

while (p)

{s=p->next; // 保留后继结点的指针

p->next=L->next; // 逆置

L->next=p;

p=s; // 将p指向下个待逆置结点

}

} // 算法结束

2·7

(1) int length1(linklist *L)

// 本算法计算带头结点的单链表L的长度

{ linklist *p=L->next; int i=0;

// p为工作指针,指向当前元素,i 表示链表的长度

while (p)

{ i++; p=p->next; }

return(i);

} // 算法结束

(2) int length1(node sa[MAXSIZE])

// 本算法计算静态链表s中元素的个数。

{ int p=sa[0].next, i=0;

// p为工作指针,指向当前元素,i 表示元素的个数,静态链指针等于-1时链表结束

while (p!=-1)

{ i++; p=sa[p].next; }

return(i);

} // 算法结束

2·8

void union_invert(linklist *A,*B,*C)

// A和B是两个带头结点的递增有序的单链表,本算法将两表合并成

// 一个带头结点的递减有序单链表C,利用原表空间。

{ linklist *pa=A->next,*pb=B->next,*C=A,*r;

// pa,pb为工作指针,分别指向A表和B表的当前元素,r为当前逆置

//元素的后继指针, 使逆置元素的表避免断开。

//算法思想是边合并边逆置,使递增有序的单链表合并为递减有序的单链表。

C->next=null;//头结点摘下,指针域置空。算法中头指针C始终不变

while (pa && pb) // 两表均不空时作

if (pa->data<=pb->data) // 将A表中元素合并且逆置

{ r=pa->next; // 保留后继结点的指针

pa->next=C->next; // 逆置

C->next=pa;

pa=r; // 恢复待逆置结点的指针

}

else // 将B表中元素合并且逆置

{ r=pb->next; // 保留后继结点的指针

pb->next=C->next; // 逆置

C->next=pb;

pb=r; // 恢复待逆置结点的指针

}

// 以下while (pa)和while (pb)语句,只执行一个

while (pa) // 将A表中剩余元素逆置

{ r=pa->next; // 保留后继结点的指针

pa->next=C->next; // 逆置

C->next=pa;

pa=r; // 恢复待逆置结点的指针

}

while (pb) // 将B表中剩余元素逆置

{ r=pb->next; // 保留后继结点的指针

pb->next=C->next; // 逆置

C->next=pb;

pb=r; // 恢复待逆置结点的指针

}

free(B);//释放B表头结点

} // 算法结束

2·9

void deleteprior(linklist *L)

// 长度大于1的单循环链表,既无头结点,也无头指针,本算法删除*s 的前驱结点{ linklist *p=s->next,*pre=s; // p为工作指针,指向当前元素,

// pre为前驱指针,指向当前元素*p的前驱

while (p->next!=s) {pre=p; p=p->next;} // 查找*s的前驱

pre->next=s;

free(p); // 删除元素

} // 算法结束

2·10

void one_to_three(linklist *A,*B,*C)

// A是带头结点的的单链表,其数据元素是字符字母、字符、数字字符、其他字符。本算法//将A表分成

// 三个带头结点的循环单链表A、B和C,分别含有字母、数字和其它符号的同一类字符,利用原表空间。

{ linklist *p=A->next,r;

// p为工作指针,指向A表的当前元素,r为当前元素的后继指针,使表避免断开。

//算法思想是取出当前元素,根据是字母、数字或其它符号,分别插入相应表中。

B=(linklist *)malloc(sizeof(linklist));//申请空间,不判断溢出

B->next=null; // 准备循环链表的头结点

C=(linklist *)malloc(sizeof(linklist));//申请空间,不判断溢出

C->next=null; // 准备循环链表的头结点

while(p)

{ r=p->next; // 用以记住后继结点

if (p->data>=’a’&&p->data<=’z’||p->data>=’A’&& p->data<=’Z’)

{p-> next=A->next; A->next=p;} // 将字母字符插入A表

else if (p->data>=’0’&&p->data<=’9’)

{p->next=B->next; B->next=p;} // 将数字字符插入B 表

else {p->next=C->next; C->next=p;}// 将其它符号插入C 表p=r; // 恢复后继结点的指针

}//while

} // 算法结束

2·11

void locate(dlinklist *L)

// L是带头结点的按访问频度递减的双向链表,本算法先查找数据x,

// 查找成功时结点的访问频度域增1,最后将该结点按频度递减插入链表中适当位置。{ linklist *p=L->next,*q;

//p为工作指针,指向L表的当前元素,q为p的前驱,用于查找插入位置。

while (p && p->data !=x) p=p->next; // 查找值为x的结点。

if (!p) return (“不存在值为x的结点”);

else { p->freq++; // 令元素值为x的结点的freq域加1 。

p->next->prir=p->prior; // 将p结点从链表上摘下。

p->prior->next=p->next;

q=p->prior; // 以下查找p结点的插入位置

while (q !=L && q->freqprior;

p->next=q->next; q->next->prior=p;// 将p结点插入

p->prior=q; q->next=p;

}

} // 算法结束

第三章栈和队列(参考答案)

// 从数据结构角度看,栈和队列是操作受限的线性结构,其顺序存储结构

// 和链式存储结构的定义与线性表相同,请参考教材,这里不再重复。

3.1 1 2 3 4 2 1 3 4 3 2 1 4 4 3 2 1

1 2 4 3 2 1 4 3 3 2 4 1

1 3

2 4 2

3 1

4 3 4 2 1

1 3 4

2 2

3

4 1

1 4 3

2 2 4

3 1

设入栈序列元素数为n,则可能的出栈序列数为C2n n=(1/n+1)*(2n!/(n!)2)

3.2 证明:由j

然后p

k 出栈;由j

j

>p

k

说明p

j

在p

k

之后出栈,即p

j

被p

k

压在下面,后进先出。由

以上两条,不可能存在i

j

k

i

。也就是说,若有1,2,3顺序入栈,不可能有3,

1,2的出栈序列。

3.3 void sympthy(linklist *head, stack *s)

//判断长为n的字符串是否中心对称

{ int i=1; linklist *p=head->next;

while (i<=n/2) // 前一半字符进栈

{ push(s,p->data); p=p->next; }

if (n % 2 !==0) p=p->next;// 奇数个结点时跳过中心结点

while (p && p->data==pop(s)) p=p->next;

if (p==null) printf(“链表中心对称”);

e lse printf(“链表不是中心对称”);

} // 算法结束

3.4

int match()

//从键盘读入算术表达式,本算法判断圆括号是否正确配对

(init s;//初始化栈s

scanf(“%c”,&ch);

while (ch!=’#’) //’#’是表达式输入结束符号

switch (ch)

{ case ’(’: push(s,ch); break;

case ’)’: if (empty(s)) {printf(“括号不配对”); exit(0);} pop(s);

}

if (!empty(s)) printf(“括号不配对”);

else printf(“括号配对”);

} // 算法结束

3.5

typedef struct // 两栈共享一向量空间

{ ElemType v[m]; // 栈可用空间0—m-1

int top[2] // 栈顶指针

}twostack;

int push(twostack *s,int i, ElemType x)

// 两栈共享向量空间,i是0或1,表示两个栈,x是进栈元素,

// 本算法是入栈操作

{ if (abs(s->top[0] - s->top[1])==1) return(0);// 栈满

else {switch (i)

{case 0: s->v[++(s->top)]=x; break;

case 1: s->v[--(s->top)]=x; break;

default: printf(“栈编号输入错误”); return(0);

}

return(1); // 入栈成功

}

} // 算法结束

ElemType pop(twostack *s,int i)

// 两栈共享向量空间,i是0或1,表示两个栈,本算法是退栈操作

{ ElemType x;

if (i!=0 && i!=1) return(0);// 栈编号错误

else {switch (i)

{case 0: if(s->top[0]==-1) return(0);//栈空

else x=s->v[s->top--];break;

case 1: if(s->top[1]==m) return(0);//栈空

else x=s->v[s->top++]; break;

default: printf(“栈编号输入错误”);return(0);

}

return(x); // 退栈成功

}

} // 算法结束

ElemType top (twostack *s,int i)

// 两栈共享向量空间,i是0或1,表示两个栈,本算法是取栈顶元素操作{ ElemType x;

switch (i)

{case 0: if(s->top[0]==-1) return(0);//栈空

else x=s->v[s->top]; break;

case 1: if(s->top[1]==m) return(0);//栈空

else x=s->v[s->top]; break;

default: printf(“栈编号输入错误”);return(0);

}

return(x); // 取栈顶元素成功

} // 算法结束

3.6

void Ackerman(int m,int n)

// Ackerman 函数的递归算法

{ if (m==0) return(n+1);

else if (m!=0 && n==0) return(Ackerman(m-1,1);

else return(Ackerman(m-1,Ackerman(m,n-1))

} // 算法结束

3.7

(1) linklist *init(linklist *q)

// q是以带头结点的循环链表表示的队列的尾指针,本算法将队列置空

{ q=(linklist *)malloc(sizeof(linklist));//申请空间,不判断空间溢出q->next=q;

return (q);

} // 算法结束

(2) linklist *enqueue(linklist *q,ElemType x)

// q是以带头结点的循环链表表示的队列的尾指针,本算法将元素x入队{ s=(linklist *)malloc(sizeof(linklist));//申请空间,不判断空间溢出s->next=q->next; // 将元素结点s入队列

q->next=s;

q=s; // 修改队尾指针

return (q);

} // 算法结束

(3) linklist *delqueue(linklist *q)

//q是以带头结点的循环链表表示的队列的尾指针,这是出队算法

{ if (q==q->next) return (null); // 判断队列是否为空

else {linklist *s=q->next->next; // s指向出队元素

if (s==q) q=q->next; // 若队列中只一个元素,置空队列

else q->next->next=s->next;// 修改队头元素指针

free (s); // 释放出队结点

}

return (q);

} // 算法结束。算法并未返回出队元素

3.8

typedef struct

{ElemType data[m];// 循环队列占m个存储单元

int front,rear; // front和rear为队头元素和队尾元素的指针

// 约定front指向队头元素的前一位置,rear指向队尾元素}sequeue;

int queuelength(sequeue *cq)

// cq为循环队列,本算法计算其长度

{ return (cq->rear - cq->front + m) % m;

} // 算法结束

3.9

typedef struct

{ElemType sequ[m];// 循环队列占m个存储单元

int rear,quelen; // rear指向队尾元素,quelen为元素个数

}sequeue;

(1) int empty(sequeue *cq)

// cq为循环队列,本算法判断队列是否为空

{ return (cq->quelen==0 ? 1: 0);

} // 算法结束

(2) sequeue *enqueue(sequeue *cq,ElemType x)

// cq是如上定义的循环队列,本算法将元素x入队

{if (cq->quelen==m) return(0); // 队满

else { cq->rear=(cq->rear+1) % m; // 计算插入元素位置

cq->sequ[cq->rear]=x; // 将元素x入队列

cq->quelen++; // 修改队列长度

}

return (cq);

} // 算法结束

ElemType delqueue(sequeue *cq)

// cq是以如上定义的循环队列,本算法是出队算法,且返回出队元素

{if (cq->quelen==0) return(0); // 队空

else { int front=(cq->rear - cq->quelen + 1+m) % m;// 出队元素位置

cq->quelen--; // 修改队列长度

return (cq->sequ[front]); // 返回队头元素

}

} // 算法结束

第四章串 (参考答案)

在以下习题解答中,假定使用如下类型定义:

#define MAXSIZE 1024

typedef struct

{ char data[MAXSIZE];

int curlen; // curlen表示终端结点在向量中的位置

}seqstring;

typedef struct node

{char data;

struct node *next ;

}linkstring;

4.2 int index(string s,t)

//s,t是字符串,本算法求子串t在主串s中的第一次出现,若s串中包含t串,返回其//第一个字符在s中的位置,否则返回0

{m=length(s); n=length(t);

i=1;

while(i<=m-n+1)

if(strcmp(substr(s,i,n),t)==0) break;

else i++;

if(i<=m-n+1) return(i);//模式匹配成功

else return(0);//s串中无子串t

}//算法index结束

4.3 设A=” ”, B=”mule”, C=”old”, D=”my” 则:

(a)(a)strcat(A,B)=”mule”

(b)(b)strcat(B,A)=”mule”

(c)(c)strcat(strcat(D,C),B)=”myoldmule”

(d)(d)substr(B,3,2)=”le”

(e)(e)substr(C,1,0)=” ”

(f)(f)strlen(A)=0

(g)(g)strlen(D)=2

(h)(h)index(B,D)=0

(i)(i)index(C,”d”)=3

(j)(j)insert(D,2,C)=”moldy”

(k)(k)insert(B,1,A)=”mule”

(l)(l)delete(B,2,2)=”me”

(m)(m)delete(B,2,0)=”mule”

(n)(n)replace(C,2,2,”k”)=”ok”

4.4 将S=“(xyz)*”转为T=“(x+z)*y”

S=concat(S, substr(S,3,1)) // ”(xyz)*y”

S=rep lace(S,3,1,”+”) // ”(x+z)*y”

4.5

char search(linkstring *X, linkstring *Y)

// X和Y是用带头结点的结点大小为1的单链表表示的串,本算法查找X中第一个不在Y 中出现的字符。算法思想是先从X中取出一个字符,到Y中去查找,如找到,则在X中取下一字符,重复以上过程;若没找到,则该字符为所求

{ linkstring *p, *q,*pre; // p,q为工作指针,pre控制循环

p=X->next; q=Y->next; pre=p;

while (p && q)

{ ch=p->data; // 取X中的字符

while (q && q->data!=ch) q=q->next; // 和Y中字符比较

if (!q) return(ch); // 找到Y中没有的字符

else { pre=p->next; // 上一字符在Y中存在,

p=pre; // 取X中下一字符。

q=Y->next; // 再从Y的第一个字符开始比较

}

}

return(null); // X中字符在Y中均存在

}// 算法结束

4.6

int strcmp(seqstring *S, seqstring *T)

// S和T是指向两个顺序串的指针,本算法比较两个串的大小,若S串大于T串,返回1;若S串等于T串,返回0;否则返回-1

{int i=0;

while (s->ch[i]!=’\0’ && t->ch[i]!=’\0’)

if (s->ch[i]>t->ch[i]) return(1);

else if (s->ch[i]ch[i]) return(-1);

else i++; // 比较下一字符

if (s->ch[i]!=’\0’&& t->ch[i]==0) return(1);

else if (s->ch[i]==’\0’&& t->ch[i]!=0) return(-1);

else return(0);

}// 算法结束

4.7

linkstring *invert(linkstring *S, linkstring *T)

// S和T是用带头结点的结点大小为1的单链表表示的串,S是主串,T是

// 模式串。本算法是先模式匹配,查找T在S中的第一次出现。如模式匹

// 配成功,则将S中的子串(T串)逆置。

{linkstring *pre,*sp, *tp;

pre=S; // pre是前驱指针,指向S中与T匹配时,T 中的前驱

sp=S->next; tp=T->next;//sp 和tp分别是S和T串上的工作指针

while (sp && tp)

if (sp->data==tp->data) // 相等时后移指针

{sp=sp->next; tp=tp->next;}

else // 失配时主串回溯到下一个字符,子串再以第一个字符开始

{pre=pre->next; sp=pre->next; tp=T->next;}

if (tp!=null) return (null); // 匹配失败,没有逆置

else // 以下是T串逆置

{tp=pre->next; // tp是逆置的工作指针,现在指向待逆置的第一个字符pre->next=sp; // 将S中与T串匹配时的前驱指向匹配后的后继

while (tp!=sp)

{ r=tp->next;

tp->next=pre->next;

pre->next=tp;

tp=r

}

}

}// 算法结束

第五章多维数组和广义表(参考答案)

5.1 A[2][3][2][3]

A0000, A0001, A0002

A0010, A0011, A0012

A0100, A0101, A0102

A0110, A0111, A0112

A0200, A0201, A0202

A0210, A0211, A0212

将第一维的0变为1后,可列出另外18个元素。以行序为主(即行优先)时,先改

变右边的下标,从右到左进行。

5.2 设各维上下号为c1…d1,c2…d2,c3…d3,每个元素占l个单元。

LOC(a ijk)=LOC(a c1c2c3)+[(i-c1)*(d2-c2+1)*(d3-c3+1)+(j-c2)*(d3-c3+1)+(k-c3)]*l

推广到n维数组!!(下界和上界)为(ci,di),其中1<=i<=n.则:其数据元素的存储位置为:

LOC(a j1j2….jn)=LOC(a c1c2…cn)+[(d2-c2+1)…(d n-c n+1)(j1-c1)+(d3-c3+1) …(d n-c n+1)

n

(j2-c2)+…+(d n-c n+1)(j n-1-c n-1)+(j n-c n)]*l=LOC(a c1c2c3)+ ∑αi(j i-c i)

i=1

n

其中α

i ∏(d

k

-c

k

+1)(1<=i<=n)

k=i+1

若从c开始,c数组下标从0开始,各维长度为b i(1<=i<=n)则:

LOC(a j1j2…jn)=LOC(a00…0)+(b2* b3*…* b n*j1+ b3* …* b n*+ j2…+ b n* j n-1+ j n)*l

n

=LOC(a00…0)+ ∑αi j i其中:αi=l,αi-1=b i*αi,1

5.3 (1) k=2*i+j ( 0<=k<3n-2 )

(2) i=(k+1)/3 ( 0<=k<3n-2 )

j=k-2*i

5.4

void saddlepoint(int a[m][n]);

// a是m行n列的二维数组,本算法求所有马鞍点

// b是一维数组,存放一行中可能的马鞍点的列值,k记相等值个数

// c是一维数组,存放某列可能马鞍点的行值,kk记相等值个数

{for(i=0;i

{min=a[i,0]; // 最小值初始化

b[0]=0; k=1; // b数组记最小值的列号,k记最小值的个数

for(j=1;j

if (a[i][j]

else if (a[i][j]==min) {b[k+1]=j; k++;} // 有相等的最小值

for (jj=0;jj

{j=b[jj]; max=a[i][jj]; kk=0; // a[i][j]是否是马鞍点

while (kk=a[i][kk]) kk++;

if(kk>=m)printf(“马鞍点 i=%d,j=%d,a[i][j]=%d”,i,j,a[i][j]);

} // END OF for jj

} // END OF for i

最坏时间复杂度为O(m*(n+n*m)). (最坏时所有元素相同,都是马鞍点)

解法2: 若矩阵中元素值互不相同,则用一维数组row记下各行最小值,再用一维数组col 记下各列最大值,相等者为马鞍点。

for (i=0;i

{row[i]=a[i][0]; // 最小值初始化

for (j=1;j

if (a[i][j]

}

for (j=0;j

{col[j]=a[0,j]; // 最大值初始化

for (i=1;i

if (a[i][j]>col[j]) col[j]=a[i][j]; // 重新确定最大值

}

for (i=0;i

for (j=1;j

if(row[i]==col[j])

printf(“马鞍点 i=%d,j=%d,a[i][j]=%d”,i,j,a[i][j]);

时间复杂度O( (m*n)).

解法3: 设定两个数组: max[0..n-1] 记各列的最大值所在行号

min[0..m-1] 记各行的最小值所在列号

第j 列的最大值为A[max[j]][j],第i行的最小值是A[i][min[i]]

void saddlepoint(int a[m][n]);

// a是m行n列的二维数组,本算法求所有马鞍点

{ int max[]=0,min[]=0;for(i=0;i

for(i=0; i

for (j=0; j

{ if (A[i][j]>A[max[j]][j]) max[j]=i; // 重新确定第j列最大值的行号if (A[i][j]

}

for (i=0;i

{j=min[i]; // a[i][j]是否是马鞍点

if( max[j]==i) printf(“马鞍点 A[%d][%d]=%d”,i,j,a[i][j]);

} // END OF for jj

}

时间复杂度为O(m*n+m).

5.5 (1)三元组表(行号0—5,列号0—5)

S=((0,0,15),(0,3,22),(0,5,-15),(1,1,11),(1,2,3),(2,3,-6),(4,0,91),(5,2,28))

(2)

5.6算法分析:两矩阵A和B相加的结果是一矩阵C,其元素C ij有三种情况;(1)C ij=A ij (B ij =0);(2)C ij=B ij(A ij =0);(3)C ij=A ij+B ij。在(3)种情况下,要看结果是否为0,C矩阵只有非零元素。

V oid matrixaddition(crosslist *A,*B)

//稀疏矩阵A和B用十字链表存储结构,本算法将稀疏矩阵B加到矩阵A上

{ca=A->next;cb=B->next;

while(ca!=A&&cb!=B)

//设pa和pb为矩阵A和B想加时的工作指针

{pa=ca->right;pb=cb->right;}

if(pa==ca)ca=ca->next;//A表在该行无非0元素;

else

if(pb==cb)cb=cb->next//B表在该行无非0元素;

else if(pb->colcol)//B的非0元素插入A中;

{j=pb->col;pt=chb[j];pre=pt// 取到表头指针;

while(pt->down_colcol)

{pre=pt;pt=pt->down;}

pre->down=pt->down;//该结点从B表相应列摘下

i=pb->right;pt=chb[i];pre=pt;//取B表行表头指针

while(pt->right->rowrow

{pre=pt;pt=pt->right;}

pre->right=pt->riht;//该结点从B表相应行链表中摘下。

Pbt=pb;pb=pb->right;//B表移至下一结点

//以下是将pbt插入A表的相应列链表中

j=pbt->col;pt=cha[j];pre=pt;

while(pt->down !=cha[j]&&pt->down->rowrow)

{pre=pt;pt=pt->down}

pre->down=pbt;pbt->down=pt;

//以下是将pbt插入A表相应行链表中

i=pbt->right;pt=cha[i];pre=pt;

while(pt->right !=cha[i]&&pt->right-colcol)

{pre=pt;pt=pt->right;}

pre->right=ptb;

ptb->right=pt;

}//end of “if (pb->colcol)

else if(pa->col=pb->col)//处理两表中行列相同的非0元素

{v=pa->data+pb->data;

if(v !=0)

{pa->data+=pb->data;pa=pa->right;

将pb从行链表中删除;pb=pb->right;

}

else{将pa,pb从链表中删除;然后

pa=pa->right;

pb=pb->right;

}

5.7 (1) head((p,h,w))=p

(2) tail((b,k,p,h))=(k,p,h)

(3) head(((a,b),(c,d)))=(a,b)

(4) tail(((a,b),(c,d)))=((c,d))

(5) head(tail(((a,b),(c,d)))=(c,d)

(6) tail(head(((a,b),(c,d))))=(b)

5.8 (1) (2)

5.9(1)

第6章树和二叉树(参考答案)

6.1

(1)根结点a

6.2

三个结点的树的形态:三个结点的二叉树的形态:

(1)(1)(2)(4)(5)

6.3 设树的结点数是n,则

n=n0+n1+n2+……+nm+ (1)

设树的分支数为B,有

n=B+1

n=1n1+2n2+……+mnm+1 (2)

由(1)和(2)有:

n0=n2+2n3+……+(m-1)nm+1

6.4

(1) k i-1 (i为层数)

(2) (n-2)/k+1

(3) (n-1)*k+i+1

(4) (n-1)%k !=0; 其右兄弟的编号 n+1

6.5(1)顺序存储结构

注:#为空结点

6.6

(1) 前序 ABDGCEFH

(2) 中序 DGBAECHF

(3) 后序 GDBEHFCA

6.7

(1) 空二叉树或任何结点均无左子树的非空二叉树

(2) 空二叉树或任何结点均无右子树的非空二叉树

(3) 空二叉树或只有根结点的二叉树

6.8

int height(bitree bt)

// bt是以二叉链表为存储结构的二叉树,本算法求二叉树bt的高度

{ int bl,br; // 局部变量,分别表示二叉树左、右子树的高度

if (bt==null) return(0);

else { bl=height(bt->lchild);

br=height(bt->rchild);

return(bl>br? bl+1: br+1); // 左右子树高度的大者加1(根) }

}// 算法结束

6.9

void preorder(cbt[],int n,int i);

// cbt是以完全二叉树形式存储的n个结点的二叉树,i是数

// 组下标,初始调用时为1。本算法以非递归形式前序遍历该二叉树

{ int i=1,s[],top=0; // s是栈,栈中元素是二叉树结点在cbt中的序号

// top是栈顶指针,栈空时top=0

if (n<=0) { printf(“输入错误”);exit(0);}

while (i<=n ||top>0)

{ while(i<=n)

{visit(cbt[i]); // 访问根结点

if (2*i+1<=n) s[++top]=2*i+1; //若右子树非空,其编号进栈

i=2*i;// 先序访问左子树

}

if (top>0) i=s[top--]; // 退栈,先序访问右子树

} // END OF while (i<=n ||top>0)

}// 算法结束

//以下是非完全二叉树顺序存储时的递归遍历算法,“虚结点”用‘*’表示

void preorder(bt[],int n,int i);

// bt是以完全二叉树形式存储的一维数组,n是数组元素个数。i是数

// 组下标,初始调用时为1。

{ if (i<=n && bt[i]!=’*’)

{ visit(bt[i]);

preorder(bt,n,2*i);

preorder(bt,n,2*i+1);

}// 算法结束

6.10

int equal(bitree T1,bitree T2);

// T1和T2是两棵二叉树,本算法判断T1和T2是否等价

// T1和T2都是空二叉树则等价

// T1和T2只有一棵为空,另一棵非空,则不等价

// T1和T2均非空,且根结点值相等,则比较其左、右子树

{if (T1==null && T2==null) return(1); // 同为空二叉树

else if (T1==null || T2==null) return(0); // 只有一棵为空

else if (T1->data!=T2->data) return(0);// 根结点值不等

else return(equal(T1->lchild,T2->lchild)&&equal(T1->rchild,T2->rchild)) //判左右子树等价

}// 算法结束

6.11

void levelorder (bitree ht);

{本算法按层次遍历二叉树ht}

{if (ht!=null)

{initqueue(q); {处始化队列,队列元素为二叉树结点的指针}

enqueue(q,ht); {根结点指针入队列}

while (!empty(q))

{ p=delqueue(q);

visit(p); // 访问结点

if (p->lchild!=null) enqueue (q,p->lchild);

//若左子女非空,则左子女入队列

if (p->rchild!=null) enqueue (q,p->rchild);

//若右子女非空,则右子女入队列

}

}

} // 算法结束

6.12

void preorder (bitree *t); (前序非递归遍历)

{ bitree *s[n+1]; // s是指针数组,数组中元素为二叉树节点的指针top=0;

while (t!=null || top!=0)

{ while (t!=null) { visit(*t); s[++top]=t; t=t->lchild }

if (top!=0) { t=s[top--]; t=t->rchild;}

}

} // 算法结束

void inorder (bitree *t); (中序非递归遍历)

{bitree *s[n+1];

top=0;

while ((t!=null || top!=0)

{ while (t!=null) { s[++top]=t; t=t->lchild }

if (top!=0) { t=s[top--]; visit(*t); t=t->rchild; }

} // 算法结束

void postorder (bitree *t); (后序非递归遍历)

{typedef struct node

{ bitree *t; tag:0..1

} stack;

stack s[n+1] ;

top=0;

while (t || top)

{ while (t) { s[++top].t=t; s[top].tag=0; t=t->lchild; }

while (top && s[top].tag==1) { printf(s[top--].t->data:3);} if (top) { s[top].tag=1; t=s[top].t->rchild ;}

}

} // 算法结束

6.13

bitree *dissect(bitree **t,ElemType x)

// 二叉树t至多有一个结点的数据域为x,本算法拆去以x为根的子树// 拆开后的第一棵树用t表示,成功拆开后返回第二棵二叉树

{bitree *p,*find;

if (*t!=null)

{ if ((*t)->data==x) // 根结点数据域为x

{p=*t; *t=null;

return(p);

}

else {find=(dissect(&(*t)->lchild),x); // 在左子树中查找并拆开

// 若在左子树中未找到,就到右子树中查找并拆开

if (!find) find=(dissect(&(*t)->rchild),x);

return(find);

}

}

else return(null); // 空二叉树

} // 算法结束

6.14

int search(bitree t,ElemType x)

// 设二叉树t中,值为x的结点至多一个,本算法打印x的所有祖先

// 算法思想是,借助后序非递归遍历,用栈装遍历过程的结点,当查到

// 值为x的结点时,栈中元素都是x的祖先

{ typedef struct

{ bitree p;

int tag;

}snode;

snode s[];

int top=0;

while (t && t->data !=x || top)

{ while (t && t->data !=x) // 沿左分支向下

{ s[++top].p=t; s[top].tag=0; t=t->lchild; }

if (t->data==x) //

{for (i=1;i<=top;++i) printf(“%c\n”,s[i].p->data);// 输出,设元素为字符

return(1);

}

else

while (top>0 && s[top].tag==1) top--;//退出右子树已访问的结点

if (top>0) // 置访问标志1,访问右子树

{s[top].tag=1;t=s[top].p; t=t->rchild; }

}

return(0); // 没有值为x的结点

} // 算法结束

6.15 中序序列BDCEAFHG

后序序列DECBHGFA

前序序列 ABCDEFGH 6.16

null

只有空指针处才能加线索。

6.17

bitree *search(bitree *p)

// 查找前序线索二叉树上给定结点p 的前序后继

数字信号处理习题及答案1

数字信号处理习题及答案1 一、填空题(每空1分, 共10分) 1.序列()sin(3/5)x n n π=的周期为 。 2.线性时不变系统的性质有 律、 律、 律。 3.对4()()x n R n =的Z 变换为 ,其收敛域为 。 4.抽样序列的Z 变换与离散傅里叶变换DFT 的关系为 。 5.序列x(n)=(1,-2,0,3;n=0,1,2,3), 圆周左移2位得到的序列为 。 6.设LTI 系统输入为x(n) ,系统单位序列响应为h(n),则系统零状态输出 y(n)= 。 7.因果序列x(n),在Z →∞时,X(Z)= 。 二、单项选择题(每题2分, 共20分) 1.δ(n)的Z 变换是 ( )A.1 B.δ(ω) C.2πδ(ω) D.2π 2.序列x 1(n )的长度为4,序列x 2(n ) 的长度为3,则它们线性卷积的长度是 ( )A. 3 B. 4 C. 6 D. 7 3.LTI 系统,输入x (n )时,输出y (n );输入为3x (n-2),输出为 ( ) A. y (n-2) B.3y (n-2) C.3y (n ) D.y (n ) 4.下面描述中最适合离散傅立叶变换 DFT 的是 ( ) A.时域为离散序列,频域为连续信号 B.时域为离散周期序列,频域也为离散周期序列 C.时域为离散无限长序列,频域为连续周期信号 D.时域为离散有限长序列,频域也为离散有限长序列 5.若一模拟信号为带限,且对其抽样满足奈奎斯特条件,理想条件下将抽样信号通过 即 可完全不失真恢复原信号 ( )A.理想低通滤波器 B.理想高通滤波器 C.理想带通滤波器 D.理 想带阻滤波器 6.下列哪一个系统是因果系统 ( )A.y(n)=x (n+2) B. y(n)= cos(n+1)x (n) C. y(n)=x (2n) D.y(n)=x (- n)

胡泽洪逻辑学课后练习题参考答案

《逻辑学〉教材练习题参考答案(仅供参考) 2011/11/25 第二章 一、 1、违反同一律,“讲究语言形式”和“形式主义”是不同的语词。 2、答非所问,问“产值”问题,回答的是和产值不相干的问题,也是违反同一律。 3、没有违反同一律。 二、 1、违反矛盾律,差不多一百万是不够一百万,一百万以上是超出一百万,语词自相矛盾。 2、没有违反逻辑规律。 3、违反排中律,两种意见都不赞成,但只有这两种意见,所以他是否定两个互相矛盾的命题,暗含着还有第三种可能,但实际上没有第三种。 三、 1、违反矛盾律,既是永恒的,就不能是历史的,永恒和历史是相矛盾的。 2、没有违反逻辑规律。 3、违反矛盾律,从来没有人上去过,和有人上去过是两个互相矛盾的命题。 4、没有违反逻辑规律。 5、违反矛盾律,既说他完成了作业,也说他没有完成作业。 6、没有违反逻辑规律。 7、违反矛盾律,不孕症是没有后代,问能否传给后代,又表明他有后代,自相矛盾。 8、违反排中律,否定两个互相矛盾的命题:机器是进口的,机器不是进口的。 四、 1、思路:先找出两个互相矛盾的命题,然后根据已知条件推理。 甲乙两个命题互相矛盾:甲没拿,甲拿了。 假定甲为真,依据只有一真,其余皆假,则乙丙丁为假; 由丙是假的,依据排中律可知,丙的矛盾命题不能为假,所以丙的矛盾命题为真。 即并非“甲没拿”不能为假,这等于“甲拿了”。 由假定“甲没拿”推出了与之矛盾的命题“甲拿了”。 推出了矛盾,依据矛盾律,表示假定不成立。 再依据排中律,假定的反面成立,所以是“甲拿了”。 乙的判断是真的,其他都是假的。 2、给出一个能够产生悖论的话语,国王就无法执行他的规定。 如果囚犯对国王说:请处我以砍头。国王就有点难办了。 因为: 如果他把囚犯处以了砍头,囚犯就说了真话,他就不能处他砍头; 如果他把囚犯处以了绞刑,囚犯就说了假话,他就不能处他绞刑。 3、违反矛盾律,如果有万能溶液,那就没有装它的容器;如果有装它的容器,就没有万能溶液。这句话包含着两个互相矛盾的命题:有万能的溶液并且没有万能的溶液。

三年级语文下册课后习题参考答案

第1课古诗三首 1.有感情地朗读课文。背诵课文。默写《绝句》。 〔名师来指导〕有感情地朗读古诗,要正确划分古诗的节奏,如:“迟日/江山/丽,春风/花草/香。”韵脚要读得响亮而稍长,读出古诗的韵味。如“竹外桃花三两枝,春江水暖鸭先知”的韵脚是“zhī”,朗读时韵脚要重读;还要把握古诗的情感基调,感受古诗的节奏美和韵律美。如朗读《三衢道中》时语速要平缓,语调要欢快些,读出诗人山行时的愉悦心情。 背诵古诗要讲究方法,尝试回忆背诵法:朗读到一定程度后,合上书试背,尝试对记忆内容进行回忆,这样能增强记忆的效果。 2.结合诗句的意思,想象画面,说说三首诗分别写了怎样的景象。 〔答案大家找〕《绝句》描写的是春回大地,万物苏醒,暖融融的太阳,将万里江山照耀得非常美丽;春风吹拂,绿草如茵,鲜花飘香,春意盎然。春风吹送着初放的百花和茵茵芳草发出的芳香。冻土融化,土地湿润,燕子正繁忙地飞来飞去,衔泥筑巢,日丽沙暖,鸳鸯在溪边的沙洲上静睡不动。 《惠崇春江晚景》描写的是早春的清晨,诗人信步江畔。迷离的晨雾尚未散尽,令人仿佛置身仙境。转过青青的竹林,一株桃树闪入眼帘,看那满树花苞,已有两三枝绽放笑脸。一阵“嘎嘎”的欢叫传入耳中,循声望去,三两只鸭子迈着蹒跚的步子,游过水边的嫩苇丛,在江水中自在游弋。江水转暖了,河豚上市的时节也到了! 《三衢道中》描写的是梅子泛黄的时候,正是雨季,却遇上天天晴朗的日子坐上小船,游到了小溪的尽头。回程正好走山路,看到的是一路绿荫浓浓并不比以前看到的少,而绿荫深处传来的声声黄鹂的啼鸣,更增添了不少游兴。 第2课燕子

1.朗读课文,边读边想象画面,并读出对燕子的喜爱之情。背诵第1~3自然段。 〔名师来指导〕(1)朗读指导:首先把课文读正确、读流利,然后想象画面,什么样的燕子在怎样的春日里飞行、停歇。朗读时要突出燕子的活泼可爱和春天的美景,读出作者对春天和燕子的喜爱之情。 (2)背诵时要先反复朗读课文,想象画面进行背诵。 2.读一读,记一记,再说几个这样的词语。 〔名师来指导〕这些词语都是偏正式词语,前面的词修饰后面的词。形式是:形容词+名词,即中心语被修饰语修饰。 〔答案大家找〕壮丽的山河伟大的人民尊敬的长辈漂亮的蝴蝶崎岖的道路明媚的春光金灿灿的果实俊俏的脸庞 3.找出课文中优美生动的语句,读一读,再抄写下来。 〔答案大家找〕(1)一身乌黑的羽毛,一对轻快有力的翅膀,加上剪刀似的尾巴,凑成了那样可爱的活泼的小燕子。 (2)二三月的春日里,轻风微微地吹拂着,如毛的细雨由天上洒落着,千条万条的柔柳,红的白的黄的花,青的草,绿的叶,都像赶集似的聚拢来,形成了烂漫无比的春天。 (3)小燕子带了它的剪刀似的尾巴,在阳光满地时,斜飞于旷亮无比的天空,叽的一声,已由这里的稻田上,飞到那边的高柳下了。 (4)另有几只却在波光粼粼的湖面上横掠着,小燕子的翼尖或剪尾,偶尔沾了一下水面,那小圆晕便一圈一圈地荡漾开去。 第3课荷花 1.有感情地朗读课文,注意读好下面的词语。背诵第2~4自然段。 〔名师来指导〕(1)朗读指导:结合对课文的理解,把自己想象成作者也来到公园看荷花,体验入画的美好心境。朗读时,要把荷花的优

传热学第四版课后思考题答案(杨世铭-陶文铨)]

第一章 思考题 1. 试用简练的语言说明导热、对流换热及辐射换热三种热传递方式之间的联系和区别。 答:导热和对流的区别在于:物体内部依靠微观粒子的热运动而产生的热量传递现象,称为导热;对流则是流体各部分之间发生宏观相对位移及冷热流体的相互掺混。联系是:在发生对流换热的同时必然伴生有导热。 导热、对流这两种热量传递方式,只有在物质存在的条件下才能实现,而辐射可以在真空中传播,辐射换热时不仅有能 量的转移还伴有能量形式的转换。 2. 以热流密度表示的傅立叶定律、牛顿冷却公式及斯忒藩-玻耳兹曼定律是应当熟记的传热学公式。试 写出这三个公式并说明其中每一个符号及其意义。 答:① 傅立叶定律: dx dt q λ-=,其中,q -热流密度;λ-导热系数;dx dt -沿x 方向的温度变化率,“-”表示热量传递的方向是沿着温度降低的方向。 ② 牛顿冷却公式: )(f w t t h q -=,其中,q -热流密度;h -表面传热系数;w t -固体表面温度;f t -流体的温度。 ③ 斯忒藩-玻耳兹曼定律:4T q σ=,其中,q -热流密度;σ-斯忒藩-玻耳兹曼常数;T -辐射物体的热力学温度。 3. 导热系数、表面传热系数及传热系数的单位各是什么?哪些是物性参数,哪些与过程有关? 答:① 导热系数的单位是:W/(m.K);② 表面传热系数的单位是:W/(m 2.K);③ 传热系数的单位是:W/(m 2.K)。这三个参数中,只有导热系数是物性参数,其它均与过程有关。 4. 当热量从壁面一侧的流体穿过壁面传给另一侧的流体时,冷、热流体之间的换热量可以通过其中任何 一个环节来计算(过程是稳态的),但本章中又引入了传热方程式,并说它是“换热器热工计算的基本公式”。试分析引入传热方程式的工程实用意义。 答:因为在许多工业换热设备中,进行热量交换的冷、热流体也常处于固体壁面的两侧,是工程技术中经常遇到的一种典型热量传递过程。 5. 用铝制的水壶烧开水时,尽管炉火很旺,但水壶仍然安然无恙。而一旦壶内的水烧干后,水壶很快就 烧坏。试从传热学的观点分析这一现象。 答:当壶内有水时,可以对壶底进行很好的冷却(水对壶底的对流换热系数大),壶底的热量被很快传走而不至于温度升得很高;当没有水时,和壶底发生对流换热的是气体,因为气体发生对流换热的表面换热系数小,壶底的热量不能很快被传走,故此壶底升温很快,容易被烧坏。 6. 用一只手握住盛有热水的杯子,另一只手用筷子快速搅拌热水,握杯子的手会显著地感到热。试分析 其原因。 答:当没有搅拌时,杯内的水的流速几乎为零,杯内的水和杯壁之间为自然对流换热,自热对流换热的表面传热系数小,当快速搅拌时,杯内的水和杯壁之间为强制对流换热,表面传热系数大,热水有更多的热量被传递到杯壁的外侧,因此会显著地感觉到热。 7. 什么是串联热阻叠加原则,它在什么前提下成立?以固体中的导热为例,试讨论有哪些情况可能使热 量传递方向上不同截面的热流量不相等。 答:在一个串联的热量传递过程中,如果通过每个环节的热流量都相同,则各串联环节的总热阻等于各串联环节热阻的和。例如:三块无限大平板叠加构成的平壁。例如通过圆筒壁,对于各个传热环节的传热面积不相等,可能造成热量传递方向上不同截面的热流量不相等。 8.有两个外形相同的保温杯A 与B ,注入同样温度、同样体积的热水后不久,A 杯的外表面就可以感觉到热,而B 杯的外表面则感觉不到温度的变化,试问哪个保温杯的质量较好? 答:B:杯子的保温质量好。因为保温好的杯子热量从杯子内部传出的热量少,经外部散热以后,温度变化很小,因此几乎感觉不到热。 第二章 思考题 1 试写出导热傅里叶定律的一般形式,并说明其中各个符号的意义。 答:傅立叶定律的一般形式为:n x t gradt q ??-=λλ=-,其中:gradt 为空间某点的温度梯度;n 是通过该点的等温线上的法向单位矢量,指向温度升高的方向;q 为该处的热流密度矢量。

数字信号处理课后答案

1.4 习题与上机题解答 1. 用单位脉冲序列δ(n)及其加权和表示题1图所示的序列。 题1图 解:x(n)=δ(n+4)+2δ(n+2)-δ(n+1)+2δ(n)+δ(n -1)+2δ(n -2)+4δ(n -3)+0.5δ(n -4)+2δ(n -6) 2. 给定信号: ?? ? ??≤≤-≤≤-+=其它04 061 452)(n n n n x (1) 画出x(n)序列的波形, 标上各序列值; (2) 试用延迟的单位脉冲序列及其加权和表示x(n)序列; (3) 令x 1(n)=2x(n -2),试画出x 1(n)波形; (4) 令x 2(n)=2x(n+2),试画出x 2(n)波形; (5) 令x 3(n)=x(2-n),试画出x 3(n)波形。 解:(1) x(n)序列的波形如题2解图(一)所示。 (2) x(n)=-3δ(n+4)-δ(n+3)+δ(n+2)+3δ(n+1)+6δ(n)+6δ(n -1)+6δ(n -2)+6δ(n -3)+6δ(n -4) (3)x 1(n)的波形是x(n)的波形右移2位,再乘以2,画出图形如题2解图(二)所示。 (4) x 2(n)的波形是x(n)的波形左移2位,再乘以2,画出图形如题2解图(三)所示。 (5) 画x 3(n)时,先画x(-n)的波形(即将x(n)的波形以纵轴为中心翻转180°),然后再右移

2位, x 3(n)波形如题2解图(四)所示。 3.判断下面的序列是否是周期的; 若是周期的, 确定其周期。 (1)是常数 A n A n x 8π73 cos )(??? ??-=π (2))8 1 (j e )(π-= n n x 解:(1) 因为ω=7 3 π, 所以314 π 2= ω , 这是有理数,因此是周期序列,周期T=14。 (2) 因为ω=81 , 所以ωπ2=16π, 这是无理数, 因此是非周期序列。 4. 对题1图给出的x(n)要求: (1) 画出x(-n)的波形; (2) 计算x e (n)=1/2[x(n)+x(-n)], 并画出x e (n)波形; (3) 计算x o (n)=1/2[x(n)-x(-n)], 并画出x o (n)波形; (4) 令x 1(n)=x e (n)+x o (n), 将x 1(n)与x(n)进行比较, 你能得到什么结论? 解:(1)x(-n)的波形如题4解图(一)所示。 (2) 将x(n)与x(-n)的波形对应相加,再除以2,得到x e (n)。毫无疑问,这是一个偶对称序列。x e (n)的波形如题4解图(二)所示。 (3) 画出x o (n)的波形如题4解图(三)所示。 (4) 很容易证明:x(n)=x 1(n)=x e (n)+x o (n) 上面等式说明实序列可以分解成偶对称序列和奇对称序列。偶对称序列可以用题中(2)的公式计算,奇对称序列可以用题中(3)的公式计算。 5.设系统分别用下面的差分方程描述,x(n)与y(n)分别表示系统输入和输出,判断系统是否是线性非时变的。

现代汉语课后习题答案(全)

第一章绪论”习题答案 “绪论”思考和练习一 一、什么是现代汉民族共同语?它是怎样形成的? 现代汉民族的共同语就是“以北京语音为标准音,以北方话为基础方言,以典范的现代白话文著作为语法规范的普通话”。 现代汉民族共同语是在北方话基础上形成的。在形成的过程中,北京话占有特殊的地位。早在唐代,北京已是北方军事要镇。北京是辽、金、元、明、清各代的都城。近千年来,北京一直是我国政治、经济、文化的中心,北京话的影响越来越大。一方面,它作为官府的通用语言传播到了全国各地,发展成为“官话”,另一方面,白话文学作品更多地接受了北京话的影响。 本世纪初,特别是“五四”运动以后,掀起了“白话文运动”,动摇了文言文的统治地位;另一方面,“国语运动”的开展促使北京语音成为全民族共同语的标准音。两个运动互相推动和影响,这就使得书面语和口语接近起来,形成了现代汉民族共同语。 二、共同语和方言的关系是怎样的? 方言是一种民族语言的地方分支或变体,是局部地区的人们所使用的语言。一民族语言的共同语,则是通用于这个民族全体成员的语言。对于各地方言来说,规范化的共同语是民族语言的高级形式,它比任何方言都富有表现力。共同语形成后,对于方言的语音、词汇、语法都有一定的影响。它的词语经常传播到各方言中去。规范化的共同语,往往促使地域方言向它靠拢,对方言的发展起一种制约的作用。与此同时,共同语也要从方言中吸收种种语言成分,以丰富和发展自己。但是,地域方言间差异的缩小,以至于消失,则须经过一个长期而复杂的过程。 “第二章语音”习题答案 “语音”思考和练习一 四、语音具有物理属性、生理属性、社会属性。 “语音”思考和练习二 二、普通话声母的发音部位和发音方法各包括哪几种?请画成一个总表把声母填上。 普通话声母的发音部位包括双唇、唇齿、舌尖前、舌尖中、舌尖后、舌面、舌根七种。发音方法,从阻碍的方式看,包括塞音、擦音、塞擦音、鼻音、边音五种;从声带是否颤动看,包括清音、浊音两种;从气流的强弱看,包括送气音、不送气音两种。声母总表(略)。 三、根据所提供的发音部位和发音方法,在下面横杠上填上相应的声母。 1.双唇送气清塞音是p。

传热学课后题答案整理

3-15 一种火焰报警器采用低熔点的金属丝作为传热元件,当该导线受火焰或高温烟气的作 用而熔断时报警系统即被触发,一报警系统的熔点为5000C ,)/(210 K m W ?=λ,3/7200m kg =ρ,)/(420K kg J c ?=,初始温度为250C 。问当它突然受到6500C 烟气加热 后,为在1min 内发生报警讯号,导线的直径应限在多少以下?设复合换热器的表面换热系 数为 )/(122 K m W ?。 解:采用集总参数法得: ) exp(0 τρθθcv hA -=,要使元件报警则C 0500≥τ ) exp(65025650500τρcv hA -=--,代入数据得D =0.669mm 验证Bi 数: 05.0100095.04) /(3

数字信号处理习题解答1

第一章 第二章 11-=--m/2 m=-m -/2 12 m=--/2 -/21 2 m=-m=-()121.7DTFT[x(2n)]=(2n)e m=2n DTFT[x(2n)]=(m)e =[()(1) ()]e [()e e ()e ] [()()] j n n j m j m j m j m j m j j x x x m x m x m x m X e X e ωωωωπ ωωωπ∞ ∞∞ ∞∞ ∞∞ ∞ ∞ ∞-+-=+ =+∑∑ ∑∑∑,为偶数 求下列序列的傅里叶变换()x(2n) 令,于是 -n 1 1 121 z (1) 2u(n)()2 ()2 1,|(2)|11(2),||n n n n n n X z u n z z z z z z z +∞ --=-∞+∞ --=-∞ --=== <-=>-∑∑14.求出下列序列的变换及收敛域 3.3(1).()cos(),781() 8 (2).()5.25n 640() (5)()x n A n A j n x n e x n y n e πππω=--==判断下面的序列是否周期的是常数 试判断系统是否为线性时不变的()y(n)=x (n)(7) y(n)=x(n)sin() .试判断系统是否为因果稳定系统()y(n)=x(n-n )

-1 -1-2 -1 -1112 1-317.X(z)=,2-5+2105< | z | < 2x(n)(2) | z | > 2x(n) 11 X(z)= -1-z 1-2z 05< | z | < 2(n)=2(-n-1)+()(n) | z | > 2(n)=()(n)-2(n)n n n n z z z u u u u 已知分别求:()收敛域.对应的原序列收敛域对应的原序列解:收敛域.时: x 收敛域时: x -1-1 -1 -1-1 -1 21.(n)=0.9y(n-1)+x(n)+0.9x(n-1)(1)h(n)(2)H(e )1+0.9(1)H(z)=,|z|>0.91-0.91+0.9F(z)=H(z)z =z 1-0.9n 1z=0.9(n j n n z z z z h ω≥已知线性因果网络用下面差分方程表示: y 求网络的系统函数及单位脉冲响应写出网络频率响应函数的表达式,并定性画出其幅频特性曲线解: 令当时,有极点-1-1=0.9-112-1-1-1-1=0=0.9-1-1)=Res[F(z),0.9]1+0.9=z (z-0.9)|1-0.9=20.9(n)=0,n<0 n=0z =0,=0.9(n)=Res[F(z),0]+Res[F(z),0.9]1+0.91+0.9=z z|+z (z-0.9)|1-0.91-0.9=-1+2=1 h(n)=n z n z z z z z h z z z z ?∴因为系统是因果系统,所以有h 当时,有极点00000000=0n-m =0n -m =0 n n 20.9(n-1)+(n)+0.9 (2)H(e )=-0.9 (3)y(n)=h(n)*x(n) =(m)x(n-m) =(m)e =(m)e e =e H(e )+0.9=e -0.9 n j j j m j m j j m j j j j j u e e h h h e e ωω ω ωωωωωωωωδ∞ ∞ ∞ ?∑∑∑( )

大学语文(第三版)课后练习题参考答案

《采薇》课后练习 1、诗的前三节主要表现了什么情感?它通过什么方式表现出来的?这样表现有什么好 处? 诗的前三节主要表现了士兵因久在前线而思念家乡的情绪;这种情绪是通过采摘不同季节 的薇这一活动烘托出来的;由于采薇时间的持久性和连续性,让人感到士兵无时无刻不被思 念家乡的痛苦折磨着,从而使全诗的思想感情得到了强化。 2、当兵服役、保家卫国是一个人对国家义不容辞的责任和义务,它既让人感到神圣和自 豪,但同时又让人承受巨大的痛苦折磨,甚至要付出高昂的生命代价。试结合《采薇》这首 诗的学习,谈谈你对这一问题的认识和看法。 《采薇》中表现了士兵对敌人入侵使自己不能安居乐业强烈不满,体现了大敌当前、国家 民族利益高于一切,个人与国家同仇敌忾的爱国主义思想感情,这一点值得我们仔细体会学 习。国家民族危难之际,无论何时,无论何人,都应把国家利益放在第一位,随时随地接受 国家的召唤。当兵服役,保家卫国,这是一个人对国家义不容辞的责任和义务,每个人都应 为此感到神圣和骄傲。 另一方面,战争又是残酷的,参加战争的人要承受巨大的痛苦折磨,甚至要付出高昂的 生命代价,这一点在《采薇》中也有深刻的反映。这一点既让我们在心理上对战争的本质有 清醒的认识,更激励我们努力争取和珍惜和平的好时光。 3、“昔我往矣,杨柳依依。今我来思,雨雪霏霏”这四句为什么会成为千古名句?分析这 四句诗的抒情特点。 1、原因主要有:①用生动的形象写出了丰富的内容和复杂的感情。②把多种修辞手法成功 熔在一起:⑴对仗工整;⑵叠字(依依、霏霏)形象生动;⑶借代(用杨柳依依代指春天, 雨雪霏霏代指冬天)准确而形象⑷对比(阳春与寒冬)鲜明。③文字雅俗共赏。 这四句诗里含有两个典型画面,一是春天里微风轻吹,柳枝飘拂的画面,一是寒冬时节 雪花纷飞的画面,抒情主人公的感情就蕴涵在这两个画面中,而没有明说出来。这样,以景 写情,情景交融,显得既富于形象性,又含而不露,耐人寻味,给读者的欣赏活动创造了很 大的空间。 清人王夫之在《姜斋诗话》里这样评价这四句诗:“以乐景写哀,以哀景写乐,一倍增其 哀乐。”也就是说当初离家出征的时候,心里是悲伤的,却用杨柳春风这样的明媚春光来反衬; 如今走在回家的路上,心里是高兴的,却用大雪纷飞这样的严寒景象来反衬。王夫之认为走 在回乡路上的士卒心里是“乐”的,这种理解未必正确。这位士卒一直非常牵挂家里,心里 非常痛苦,当他终于能够结束服役回家的时候,他的心里不只是单纯的高兴,而是百感交集。 他希望马上能回到家中,与家人团聚,而同时又会不由自主地担心家里发生什么不好的事情, 因为自己离开家已经很久了。因此,从这个角度看,“杨柳依依”和“雨雪霏霏”的对比给他 一种不胜今昔之感,正符合此时他复杂的感情。 2、这四句诗通过融情入景和对比的方法,把感情表达得更深刻、形象、含蓄。其中2、4两句分写乐和哀,分别拟喻国家的和平安宁与破败纷乱,两相对比,足见主人公前后感情心 理变化之大,以及战争给国家带来的灾难;1、3两句,前句当哀不哀,强化了战士的参战心 情和决心,后句当乐不乐,强化了战争对国家和人民的摧残。 4、解释下列各句中加点的字,注意这些字的用法: 1.曰归曰归,岁亦莫.止。读mò,同“暮”,一年将尽的意思。 2.我心伤悲,莫.知我哀。没有谁。 3.今我来思,雨.雪霏霏。读yù,下,降落,用作动词。 4.行道迟迟,载.渴载饥。又……又……。 5.忧心孔.疚,我行不来。很、甚。 6.我戍未定,靡.使归聘。无,没有。 《山鬼》思考练习题 1、屈原为什么会受到全世界人民的尊敬?谈谈你对屈原的认识和了解。 屈原是中国古代最伟大的爱国志士和诗人,他崇高无私的爱国精神受到了全世界人民的 尊敬,每年五月端午这一天,许多国家和民族包棕子、划龙船,以纪念这位伟大的爱国诗人。 作为一位卓有才华的政治家和诗人,无论国家怎样对待他,无论自己的处境多么艰难,他都 一心一意热爱着自己的祖国,决不向黑暗邪恶低头妥协,宁死不肯离开自己的祖国,并用诗 歌将自己的心声记录下来,让千秋万代的人们感受他的思想和情感,这就是屈原为什么受到 全世界人民尊敬的原因。 2、山鬼是一个怎样的形象?分析诗中山鬼感情变化的轨迹? 诗中的山鬼是一个美丽痴情的女子形象,她怀着对爱情的美好愿望,精心打扮准备,在 凄风苦雨中痴痴等待自己的爱人,为此承受了巨大的喜悦和痛苦。作者屈原通过塑造这一形 象,表现了人类对美好爱情的热烈追求和忠贞态度,也寄托着自己虽遭流放而心中依然苦苦 思念关心楚国、楚王的高尚爱国热情。 诗中第一节,山鬼在赴约途中的感情是喜悦、兴奋的;第二节,随着等待时间的不断延 迟,天空黑暗下来,天上刮起了风、下起了雨,这时山鬼的心情也变得暗淡下来,发出了岁 月不饶人的感慨;第三节,山鬼一方面对自己的纯洁和忠贞行为感到自豪,对对方迟迟不至 的行为自我宽解,但另一方面,随着时间的不断迁移,她渐渐开始对自己的宽解产生了怀疑, 这种怀疑伴随着雷电和暴风雨的加强逐渐加深,最终使她陷入了因爱人迟迟不来而带来的极 度孤独和忧愁中。诗人通过山鬼从兴奋到忧愁这一心理过程的变化,真实反映了爱情给人带 来的缠绵、痛苦和折磨。 3、将这首诗与《诗经·采薇》对照,结合过去学过的其他作品,说说屈原的诗歌和《诗 经》有什么不同。 主要表现在:《诗经》侧重于写实,重章叠句突出,语言朴素,民歌色彩很强,句式是以 四言为主;而屈原的诗歌则侧重于表现理想,抒情性更强,语言富有变化和文采,句式则是 每句七个字,且每句都有一个语气词“兮”字等。 4、、注意下面句子中加点字的意思及用法: (1)若有人兮山之阿,被薜荔兮带女萝。被:同“披”。

大一英语课后题答案

Unit 1 Passage A 3. 1 B 2 D 3B 4A 5A 4.1 elected 2 minimum 3 distinct 4 responsibility 5 pursue 6 expoit 7 restrict 8 equip 9 granted 10 awarded 5 1 at large 2 on the basis of 3 in support of 4 apply for 5 is aiming at 6 1 At the meeting, the scholars raised some challenging questions for the city government. 2 She had taken the money out of the joint account she had with her husband.

3 They will be given a range of topics to choose from. 4 To do this kind of experient needs specialized equipment. 5 Learning to drive was a whole new venture for me. 7 1 Anyone over the age of 18 is eligible to vote. 2 A form to apply for these scholarships is sent by the university to each student before the start of each semester. 3 On the advice of my doctor, I decided t give up smoking. 4 The park is located right in the center of town. 5 The university provides all the materials and facilities we desire. 8 1 Lu Xun is one of t he greatest writer in China and one of the world’s outstanding men of letters. 2 Most graduate students chose literature as their field of study, and the rest made linguistics their choice. 3 People buy what kind of houses to live in on the basis of their special needs and on the advice fo relevant experts. 4 These virtual teaching facilities enable overseas students from Asia and Africa to learn a foreign language in a real-life situation for a minimum of three months. 5 Students should check carefully that they are eligible to join this club before making their decision, as each of them is restricted to only one choice. Passage B 11 1 Because a terrible tragedy took place in America on the morning of September 11th .

传热学第五版课后习题答案

传热学第五版课后习题答案

传热学习题_建工版V 0-14 一大平板,高3m ,宽2m ,厚0.2m ,导热系数为45W/(m.K), 两侧表面温度分别为 w1t 150C =?及 w1t 285C =? ,试求热流密度计热流量。 解:根据付立叶定律热流密度为: 2w2w121t t 285150q gradt=-4530375(w/m )x x 0.2λλ??--?? =-=-=- ? ?-???? 负号表示传热方向与x 轴的方向相反。 通过整个导热面的热流量为: q A 30375(32)182250(W) Φ=?=-??= 0-15 空气在一根内经50mm ,长2.5米的管子内流动并被加热,已知空气的平均温度为85℃,管壁对空气的h=73(W/m2.k),热流密度q=5110w/ m2, 是确定管壁温度及热流量?。 解:热流量 qA=q(dl)=5110(3.140.05 2.5) =2005.675(W) πΦ=?? 又根据牛顿冷却公式 w f hA t=h A(t t )qA Φ=??-= 管内壁温度为: w f q 5110t t 85155(C)h 73 =+ =+=?

1-1.按20℃时,铜、碳钢(1.5%C)、铝和黄铜导热系数的大小,排列它们的顺序;隔热保温材料导热系数的数值最大为多少?列举膨胀珍珠岩散料、矿渣棉和软泡沫塑料导热系数的数值。 解: (1)由附录7可知,在温度为20℃的情况下, λ铜=398 W/(m·K),λ碳钢=36W/(m·K), λ 铝=237W/(m·K),λ 黄铜 =109W/(m·K). 所以,按导热系数大小排列为: λ 铜>λ 铝 >λ 黄铜 >λ 钢 (2) 隔热保温材料定义为导热系数最大不超过0.12 W/(m·K). (3) 由附录8得知,当材料的平均温度为20℃时的导热系数为: 膨胀珍珠岩散料:λ=0.0424+0.000137t W/(m·K) =0.0424+0.000137×20=0.04514 W/(m·K); 矿渣棉: λ=0.0674+0.000215t W/(m·K) =0.0674+0.000215×20=0.0717 W/(m·K); 由附录7知聚乙烯泡沫塑料在常温下, λ=0.035~0.

linux课后习题答案教材课后习题参考答案

第 1 章Linux 概况 一、选择题 1、下列哪个选项不是Linux 支持的? A. 多用户 B. 超进程 C. 可移植 D. 多进程 2、Linux 是所谓的“Free Software”,这个“Free”的含义是什么? A. Linux 不需要付费 B. Linux 发行商不能向用户收费 C. Linux 可自由修改和发布 D.只有Linux 的作者才能向用户收费 3、以下关于Linux 内核版本的说法,错误的是? A. 依次表示为主版本号.次版本号.修正次数的形式 B. 1.2.2 表示稳定的发行版 C. 2.2.6 表示对内核2.2 的第6 次修正 D. 1.3.2 表示稳定的发行版 4、以下哪个软件不是Linux 发行版本? A. 红旗 Server 4 B. Solaris 10 C. RedHat 9 D. Fedora 8 5、与Windows 相比Linux 在哪个方面相对应用得较少? A. 桌面 B. 嵌入式系统 C. 服务器 D. 集群 A6、Linux 系统各组成部分中哪一项是基础? A.内核 B. X Window C. Shell D. Gnome B7、Linux 内核管理不包括的子系统是哪个? A. 进程管理系统 B. 内存管理系统 C. 文件管理系统 D. 硬件管理系统 A8、下面关于Shell 的说法,不正确的是哪个? A. 操作系统的外壳 B. 用户与Linux 内核之间的接口 C. 一种和C 类似的高级程序设计语言 D. 一个命令语言解释器 B9、以下哪种Shell 类型在Linux 环境下不能使用? A.B Shell B.K Shel C.R Shell D.Bash 10、在Linux 中把声卡当作何种设备? A. 字符设备 B. 输出设备 C. 块设备 D. 网络设备 二、填空题 1、Linux 采用 LRU 算法(最近最少使用)算法,淘汰最近没有访问的

专业英语课后习题答案

1.two-terminal element 二端口元件 2.associated reference direction 关联参考方向 3.Ohm’s Law 欧姆定律 4.electric field 电场 5.displacement current 转移电流 6.short circuit 短路 7.magnetic field 磁场 8.conduction current 传导电流 1.capacitance 2.capacitor 3.resistance 4.resistor 5.Inductance 6.Inductor We can make two important observations here.在此,我们可以得到两条重要的结论:第一,如果电流是常数,理想电感器的端电压为0,这样电感器在恒量或直流中可以当作短路;第二,在电感器中电流不能瞬时变化,也就是说,在0时间内电流不能以有限量改变。 2 1.能量转换energy conversion 2.正极positive terminal 3串联电路series circuit 4.电路化简方法circuit simplification technique 5.电路分析方法circuit analysis technique 6.阻性电路resistive circuit 7.戴维南和诺顿等效电路Thevenin and Norton Equivalent Circuit 8.节点电压法node-voltage method 9.网孔电流法mesh-current method 10.参考节点reference node We can use those approaches for all circuits,对于所有的电路都可以使用这些方法,但是当电路结构更复杂、引入更多元件的时候,这种直接求解的方法很快就变得麻烦了。此时,可以使用两种常规的分析方法。 3 1. amplify current 放大电流 2. electronic component 电子元器件 3. complex circuit 复杂电路 4. vacuum tube 真空管 5. hand-held calculator便携式计算机 6. integrated circuit chip集成电路芯片 7. semiconductor material 半导体材料 8. microprocessor 微处理器 Bardeen和Brattain认为问题在于液体,所以他们用本质是锗锈的氧化锗来代替液体。Gibney准备了一块特殊的锗片,锗片的一面上有一层绿色的氧化层。12月12日Brattain开始插入接触点。

传热学第五版完整版答案

1.冰雹落地后,即慢慢融化,试分析一下,它融化所需的热量是由哪些途径得到的? 答:冰雹融化所需热量主要由三种途径得到: a 、地面向冰雹导热所得热量; b 、冰雹与周围的空气对流换热所得到的热量; c 、冰雹周围的物体对冰雹辐射所得的热量。 2.秋天地上草叶在夜间向外界放出热量,温度降低,叶面有露珠生成,请分析这部分热量是通过什么途径放出的?放到哪里去了?到了白天,叶面的露水又会慢慢蒸发掉,试分析蒸发所需的热量又是通过哪些途径获得的? 答:通过对流换热,草叶把热量散发到空气中;通过辐射,草叶把热量散发到周围的物体上。白天,通过辐射,太阳和草叶周围的物体把热量传给露水;通过对流换热,空气把热量传给露水。 4.现在冬季室内供暖可以采用多种方法。就你所知试分析每一种供暖方法为人们提供热量的主要传热方式是什么?填写在各箭头上。 答:暖气片内的蒸汽或热水 对流换热 暖气片内壁 导热 暖气片外壁 对流换热和 辐射 室内空气 对流换热和辐射 人体;暖气片外壁 辐射 墙壁辐射 人体 电热暖气片:电加热后的油 对流换热 暖气片内壁 导热 暖气片外壁 对流换热和 辐射 室内空气 对流换热和辐射 人体 红外电热器:红外电热元件辐射 人体;红外电热元件辐射 墙壁 辐射 人体 电热暖机:电加热器 对流换热和辐射加热风 对流换热和辐射 人体 冷暖两用空调机(供热时):加热风对流换热和辐射 人体 太阳照射:阳光 辐射 人体 5.自然界和日常生活中存在大量传热现象,如加热、冷却、冷凝、沸

腾、升华、凝固、融熔等,试各举一例说明这些现象中热量的传递方式? 答:加热:用炭火对锅进行加热——辐射换热 冷却:烙铁在水中冷却——对流换热和辐射换热 凝固:冬天湖水结冰——对流换热和辐射换热 沸腾:水在容器中沸腾——对流换热和辐射换热 升华:结冰的衣物变干——对流换热和辐射换热 冷凝:制冷剂在冷凝器中冷凝——对流换热和导热 融熔:冰在空气中熔化——对流换热和辐射换热 5.夏季在维持20℃的室内,穿单衣感到舒服,而冬季在保持同样温度的室内却必须穿绒衣,试从传热的观点分析其原因?冬季挂上窗帘布后顿觉暖和,原因又何在? 答:夏季室内温度低,室外温度高,室外物体向室内辐射热量,故在20℃的环境中穿单衣感到舒服;而冬季室外温度低于室内,室内向室外辐射散热,所以需要穿绒衣。挂上窗帘布后,辐射减弱,所以感觉暖和。 6.“热对流”和“对流换热”是否同一现象?试以实例说明。对流换热是否为基本传热方式? 答:热对流和对流换热不是同一现象。流体与固体壁直接接触时的换热过程为对流换热,两种温度不同的流体相混合的换热过程为热对流,对流换热不是基本传热方式,因为其中既有热对流,亦有导热过程。 9.一般保温瓶胆为真空玻璃夹层,夹层内两侧镀银,为什么它能较长时间地保持热水的温度?并分析热水的热量是如何通过胆壁传到外界

《数字信号处理》第三版课后答案(完整版)

西安电子 ( 高西全丁美玉第三版 ) 数字信号处理课后答案 1.2 教材第一章习题解答 1. 用单位脉冲序列 (n) 及其加权和表示 题 1 图所示的序列。 解: x( n)(n 4) 2 (n 2) ( n 1) 2 (n)(n 1) 2 (n 2) 4 ( n 3) 0.5 (n 4) 2 (n 6) 2n 5, 4 n 1 2. 给定信号: x( n) 6,0 n 4 0, 其它 (1)画出 x( n) 序列的波形,标上各序列的值; (2)试用延迟单位脉冲序列及其加权和表示 x(n) 序列; (3)令 x 1( n) 2x(n 2) ,试画出 x 1( n) 波形; (4)令 x 2 (n) 2x(n 2) ,试画出 x 2 (n) 波形; (5)令 x 3 (n) 2x(2 n) ,试画出 x 3 (n) 波形。 解: ( 1) x(n) 的波形如 题 2 解图(一) 所示。 ( 2) x(n)3 ( n 4) (n 3) (n 2) 3 ( n 1) 6 (n) 6 (n 1) 6 ( n 2) 6 (n 3) 6 (n 4) ( 3) x 1 (n) 的波形是 x(n) 的波形右移 2 位,在乘以 2,画出图形如 题 2 解图(二) 所示。 ( 4) x 2 (n) 的波形是 x(n) 的波形左移 2 位,在乘以 2,画出图形如 题 2 解图(三) 所示。 ( 5)画 x 3 (n) 时,先画 x(-n) 的波形,然后再右移 2 位, x 3 ( n) 波形如 题 2 解图(四) 所 示。 3. 判断下面的序列是否是周期的,若是周期的,确定其周期。 (1) x( n) Acos( 3 n ) ,A 是常数; 7 8 (2) x(n) j ( 1 n ) e 8 。 解:

课后练习题答案

第三章 练习题 1.某公司拟购置一项设备,目前有A 、B 两种可供选择。A设备的价格比B设备高50000元,但每年可节约维修保养费等费用10000元。假设A 、B 设备的经济寿命均为6年,利率为8%,该公司在A 、B 两种设备中必须择一的情况下,应选择哪一种设备? [答案:] 如果选择A 项目,则多支付投资额50000元,而可以每年节约保养费用1000元, -37714.622910000-5000068%P/A 1000050000-=?+=?+),,( 所以,A 方案不可选。 2.某人现在存入银行一笔现金,计划8年后每年年末从银行提取现金6000元,连续提取10年,在利率为7%的情况下,现在应存入银行多少元? [答案:] 10 -10) 1(1 i i)(1-16000 107%P/F 107%P/A 6000i +?+?=?),,)(,,( 41.24526582.00236.76000元=??= 3.某人5年后需用现金40000元,如果每年年末存款一次,在年利率为6%的情况下,此人每年年末应存入现金多少元? [答案:] 元,,7095.855 6%F/A 40000 A == 4.某企业集团准备对外投资,现有三家公司可供选择,分别为甲公司、乙

公司、丙公司,这三家公司的年预期收益及其概率的资料如表3-4所示: 表3-4 某企业集团预期收益及其概率资料 要求:假定你是该企业集团的稳健型决策者,请依据风险与收益原理作出选择 [答案:] 230.250.5200.340E =?+?+?=甲 240.25-0.5200.350E =?+?+?=)(乙 80.230-0.520-0.380E =?+?+?=)()(丙 12.490.223-50.523-200.323-40222=?+?+?=)()()(甲σ 19.470.224-5-0.524-200.324-50222=?+?+?=)()()(甲σ 0.5432312.49 == 甲q 0.8112419.47==乙q 选择甲方案。 第四章 练 习 题 某企业2007年度资产负债表如下: ××公司资产负债表 (2007年12月31日)

相关文档
相关文档 最新文档