=10){buf[j+1]+=buf[j]/10;buf[j]=buf[j]%10;}}for(i=n-1;i>" />
当前位置:文档之家› 习题答案第四章 算法设计与分析 吕国英

习题答案第四章 算法设计与分析 吕国英

习题答案第四章 算法设计与分析 吕国英
习题答案第四章 算法设计与分析 吕国英

算法设计与分析(第二版)主编:吕国英

习题答案

第四章

1.

#include

int main(void)

{

int buf[100];

int n;

int i,j,k;

scanf("%d",&n);

for(i=0;i

buf[i]=2;

for(i=0;i

{

for(j=0;j

{

buf[j]+=2;

}

}

for(j=0;j

{

if(buf[j]>=10)

{

buf[j+1]+=buf[j]/10;

buf[j]=buf[j]%10;

}

}

for(i=n-1;i>=0;i--)

printf("%d",buf[i]);

printf("\n");

return 0;

}

2.

#include

int main(void)

{

int n=2;

int i;

for(i=1;i<=9;i++)

{

n=(n+2)*2;

}

printf("%d\n",n);

return 0;

}

3.

#include

int main(void)

{

int a=54;

int n;

int m;

printf("计算机先拿3张牌\n"); a=a-3;

while(a>=0)

{

printf("还剩%d张牌\n",a); printf("你拿几张?请输入:"); scanf("%d",&n);

if(n>4||n<1||n>a)

{

printf("错误!重新拿牌\n"); continue;

}

a=a-n;

printf("还剩%d张牌\n",a);

if(a==0)

break;

m=5-n;

printf("计算机拿%d\n",m);

a=a-m;

}

return 0;

}

4.

#include

int d;

int a1,a2;

int fun(int n);

int main(void)

{

int n;

printf("n=?,d=?,a1=?,a2=?");

scanf("%d%d%d%d\n",&n,&d,&a1,&a2); printf("%d\n",fun(n));

return 0;

}

int fun(int n)

{

if(n==1)

return a1;

if(n==2)

return a2;

return fun(n-2)-(fun(n-1)-d)*2;

}

5.

#include

char chess[8][8];

int is_safe(int row,int col);

int queen(int row,int col,int n); int main(void)

{

int i,j;

for(i=0;i<8;i++)

for(j=0;j<8;j++)

chess[i][j]='X';

queen(0,0,0);

for(i=0;i<8;i++)

{

for(j=0;j<8;j++)

printf("%c ",chess[i][j]);

printf("\n");

}

return 0;

}

int is_safe(int row,int col)

{

int i,j;

for(i=0;i<8;i++)

{

if(chess[row][i]=='Q')

return 0;

if(chess[i][col]=='Q')

return 0;

}

i=row;

j=col;

while(i!=-1&&j!=-1)

{

if(chess[i--][j--]=='Q')

return 0;

}

i=row;

j=col;

while(i!=-1&&j!=8)

{

if(chess[i--][j++]=='Q')

return 0;

}

i=row;

j=col;

while(i!=8&&j!=-1)

{

if(chess[i++][j--]=='Q')

return 0;

}

i=row;

j=col;

while(i!=8&&j!=8)

{

if(chess[i++][j++]=='Q')

return 0;

}

return 1;

}

int queen(int row,int col,int n) {

int i,j;

int result=0;

if(n==8)

return 1;

else

if(is_safe(row,col))

{

chess[row][col]='Q';

for(i=0;i<8;i++)

for(j=0;j<8;j++)

{

result+=queen(i,j,n+1);

if(result>0)

break;

}

if(result>0)

return 1;

else

{

chess[row][col]='X';

return 0;

}

}

else

return 0;

}

6.

#include

int main(void)

{

int i,j,k;

for(i=1;i<=33;i++)

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

{

k=100-i-j;

if(k%2==0)

{

if(3*i+2*j+k/2==100)

printf("大马%d\n中马%d\n小马%d\n\n\n",i,j,k); }

}

return 0;

}

7.

#include

int main(void)

{

int i;

for(i=1;i<=10000;i++)

{

if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0) printf("%d\n",i);

}

return 0;

}

8.

#include

int main(void)

{

int i;

int sum;

int a1,a2,a3,a4;

for(i=1000;i<=9999;i++)

{

a1=i%10;

a2=i/10%10;

if(a1!=a2)

{

a3=i/100%10;

if(a1!=a3&&a2!=a3)

{

a4=i/1000;

if(a1!=a4&&a2!=a4&&a3!=a4)

{

sum=(a1+a2+a3+a4)*(a1+a2+a3+a4);

if(i%sum==0)

printf("%d\n",i);

}

}

}

}

return 0;

}

9.

#include

#define N 10

void max_min(int *a,int m,int n,int *min1,int *min2,int *max1,int *max2); int main(void)

{

int a[N]={2,3,4,5,34,7,9,6,43,21};

int min1,min2;

int max1,max2;

max_min(a,0,N-1,&min1,&min2,&max1,&max2);

printf("min1=%d\nmin2=%d\nmax1=%d\nmax2=%d\n",min1,min2,max1,max2);

return 0;

}

void max_min(int *a,int m,int n,int *min1,int *min2,int *max1,int *max2) {

int lmin1,lmin2,lmax1,lmax2;

int rmin1,rmin2,rmax1,rmax2;

int mid;

if(m==n)

{

*min1=*min2=*max1=*max2=a[m];

}

else

if(m==n-1)

{

if(a[m]

{

*min1=a[m];

*min2=a[n];

*max1=a[n];

*max2=a[m];

}

else

{

*min1=a[n];

*min2=a[m];

*max1=a[m];

*max2=a[n];

}

}

else

{

mid=(m+n)/2;

max_min(a,m,mid,&lmin1,&lmin2,&lmax1,&lmax2); max_min(a,mid+1,n,&rmin1,&rmin2,&rmax1,&rmax2); if(lmin1

{

if(lmin2

{

*min1=lmin1;

*min2=lmin2;

}

else

{

*min1=lmin1;

*min2=rmin1;

}

}

else

if(rmin2

*min1=rmin1;

*min2=rmin2;

}

else

{

*min1=rmin1;

*min2=lmin1;

}

if(lmax1>rmax1)

{

if(lmax2>rmax1)

{

*max1=lmax1;

*max2=lmax2;

}

else

{

*max1=lmax1;

*max2=rmax1;

}

}

else

if(rmax2>lmax1)

{

*max1=rmax1;

*max2=rmax2;

}

else

{

*max1=rmax1;

*max2=lmax1;

}

}

}

10.

#include

int add(int *a,int flag,int right); int main(void)

{

int a[10]={1,2,3,4,5,6,7,8,9,10}; int sum=add(a,0,9);

printf("%d\n",sum);

return 0;

int add(int *a,int flag,int right)

{

int mid;

if(flag==right)

{

return a[flag];

}

else

if(flag==right-1)

{

return a[flag]+a[right];

}

else

{

mid=(flag+right)/2;

return add(a,flag,mid)+add(a,mid+1,right); }

}

11.

#include

int main(void)

{

int a[5][3]={

{-50,17,-42},

{-47,-19,-3},

{36,-34,-43},

{-30,-43,34},

{-23,-8,-45}

};

int i,j;

int max,n;

int sum=0;

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

{

max=a[i][0];

n=0;

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

{

if(a[i][j]>max)

{

max=a[i][j];

n=j;

}

sum+=max;

printf("a[%d][%d]=%d\n",i,n,max);

}

printf("%d\n",sum);

return 0;

}

12.

/*

* File: newmain.c

* Author: nirnava

*

* Created on 2010年4月22日, 下午5:21

*/

#include

#include

#define N 4

void matrix_mul(int *mul1,int *mul2,int *mul3,int length); void matrix_add_sub(int * A,int * B,int * C,int m,char ch); void update_half_value(int * A,int * B,int m);

void get_half_value(int * A,int * B,int m);

int main(void)

{

int i,j;

int mul1[N*N]={1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6};

int mul2[N*N]={7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2};

int mul3[N*N];

matrix_mul(mul1,mul2,mul3,N);

for(i=0;i

{

printf("%5d",mul3[i]);

if((i+1)%N==0)

printf("\n");

}

return 0;

}

void matrix_add_sub(int * A,int * B,int * C,int m,char ch) {

int i;

for(i=0;i

{

if(ch=='+')

C[i]=A[i]+B[i];

C[i]=A[i]-B[i];

}

}

void update_half_value(int * A,int * B,int m) {

int i,j;

for(i=0;i

{

for(j=0;j

{

B[i*m+j]=A[i*m/2+j];

}

}

}

void get_half_value(int * A,int * B,int m) {

int i,j;

for(i=0;i

{

for(j=0;j

{

A[i*m/2+j]=B[i*m+j];

}

}

}

void matrix_mul(int *A,int *B,int *C,int m) {

if(m==2)

{

int D,E,F,G,H,I,J;

D=A[0]*(B[1]-B[3]);

E=A[3]*(B[2]-B[0]);

F=(A[2]+A[3])*B[0];

G=(A[0]+A[1])*B[3];

H=(A[2]-A[0])*(B[0]+B[1]);

I=(A[1]-A[3])*(B[2]+B[3]);

J=(A[0]+A[3])*(B[0]+B[3]);

C[0]=E+I+J-G;

C[1]=D+G;

C[2]=E+F;

C[3]=D+H+J-F;

return ;

}

{

int A1[m*m/4],A2[m*m/4],A3[m*m/4],A4[m*m/4];

int B1[m*m/4],B2[m*m/4],B3[m*m/4],B4[m*m/4];

int C1[m*m/4],C2[m*m/4],C3[m*m/4],C4[m*m/4];

int D[m*m/4],E[m*m/4],F[m*m/4],G[m*m/4],H[m*m/4],I[m*m/4],J[m*m/4]; int temp1[m*m/4],temp2[m*m/4];

get_half_value(A1,&A[0],m);

get_half_value(A2,&A[m/2],m);

get_half_value(A3,&A[m*m/2],m);

get_half_value(A4,&A[m*m/2+m/2],m);

get_half_value(B1,&B[0],m);

get_half_value(B2,&B[m/2],m);

get_half_value(B3,&B[m*m/2],m);

get_half_value(B4,&B[m*m/2+m/2],m);

matrix_add_sub(B2,B4,temp1,m/2,'-');

matrix_mul(A1,temp1,D,m/2);

matrix_add_sub(B3,B1,temp1,m/2,'-');

matrix_mul(A4,temp1,E,m/2);

matrix_add_sub(A3,A4,temp1,m/2,'+');

matrix_mul(temp1,B1,F,m/2);

matrix_add_sub(A1,A2,temp1,m/2,'+');

matrix_mul(temp1,B4,G,m/2);

matrix_add_sub(A3,A1,temp1,m/2,'-');

matrix_add_sub(B1,B2,temp2,m/2,'+');

matrix_mul(temp1,temp2,H,m/2);

matrix_add_sub(A2,A4,temp1,m/2,'-');

matrix_add_sub(B3,B4,temp2,m/2,'+');

matrix_mul(temp1,temp2,I,m/2);

matrix_add_sub(A1,A4,temp1,m/2,'+');

matrix_add_sub(B1,B4,temp2,m/2,'+');

matrix_mul(temp1,temp2,J,m/2);

matrix_add_sub(E,I,temp1,m/2,'+');

matrix_add_sub(J,G,temp2,m/2,'-');

matrix_add_sub(temp1,temp2,C1,m/2,'+');

matrix_add_sub(D,G,C2,m/2,'+');

matrix_add_sub(E,F,C3,m/2,'+');

matrix_add_sub(D,H,temp1,m/2,'+');

matrix_add_sub(J,F,temp2,m/2,'-');

matrix_add_sub(temp1,temp2,C4,m/2,'+');

update_half_value(C1,&C[0],m);

update_half_value(C2,&C[m/2],m);

update_half_value(C3,&C[m*m/2],m);

update_half_value(C4,&C[m*m/2+m/2],m);

return ;

}

}

13.

#include

int main(void)

{

int a[6][7]={

{16,4,3,12,6,0,3},

{4,-5,6,7,0,0,2},

{6,0,-1,-2,3,6,8},

{5,3,4,0,0,-2,7},

{-1,7,4,0,7,-5,6},

{0,-1,3,4,12,4,2}

};

int b[6][7],c[6][7];

int i,j,k;

int max;

int flag;

int temp;

for(i=0;i<6;i++)

for(j=0;j<7;j++)

{

b[i][j]=a[i][j];

c[i][j]=-1;

}

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

{

for(j=0;j<7;j++)

{

max=0;

for(k=j-2;k<=j+2;k++) {

if(k<0)

continue;

else

if(k>6)

break;

else

{

if(b[i][j]+b[i-1][k]>max) {

max=b[i][j]+b[i-1][k]; flag=k;

}

}

}

b[i][j]=max;

c[i][j]=flag;

}

}

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

{

max=0;

for(k=j-2;k<=j+2;k++) {

if(k<0)

continue;

else

if(k>6)

break;

else

{

if(b[i][j]+b[i-1][k]>max) {

max=b[i][j]+b[i-1][k]; flag=k;

}

}

}

b[i][j]=max;

c[i][j]=flag;

}

max=0;

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

{

if(b[i][j]>max)

{

max=b[i][j];

flag=j;

}

}

printf("%d\n",max);

temp=c[i][flag];

printf("%5d",a[i][temp]); for(j=i;j>0;j--)

{

temp=c[j][temp];

printf("%5d",a[j-1][temp]); }

printf("\n");

return 0;

}

14.

#include

int main(void)

{

int A[6]={0,3,7,9,12,13}; int B[6]={0,5,10,11,11,11}; int C[6]={0,4,6,11,12,12}; int AB[6][6];

int temp[6];

int abc[6];

int max;

int flag;

int i,j,k;

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

{

max=0;

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

{

AB[i][j]=A[i-j]+B[j];

if(AB[i][j]>max)

max=AB[i][j];

}

temp[i]=max;

}

max=0;

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

{

abc[i]=temp[i]+C[5-i];

if(abc[i]>max)

{

max=abc[i];

flag=i;

}

}

printf("max=%d\n",max); printf("c=%d\n",5-flag); max=max-C[5-flag];

for(i=0;i<=flag;i++)

{

if(AB[flag][i]==max)

{

printf("b=%d\n",i);

printf("a=%d\n",flag-i);

break;

}

}

return 0;

}

16.

#include

#define N 100

int search(int *a,int left,int right); int sum_buf(int *a,int left,int right); int main(void)

{

int a[N];

int i;

int s;

for(i=0;i

a[i]=1;

a[24]=2;

s=search(a,0,N-1);

printf("%d\n",s);

return 0;

}

int sum_buf(int *a,int left,int right) {

int i;

int sum=0;

for(i=left;i<=right;i++)

sum+=a[i];

return sum;

}

int search(int *a,int left,int right) {

int mid=(left+right)/2;

if(left==right-1)

{

if(a[left]

return right;

else

return left;

}

if(mid*2!=(right+left-1))

{

if(sum_buf(a,left,mid-1)>sum_buf(a,mid+1,right)) {

return search(a,left,mid-1);

}

else

if(sum_buf(a,left,mid-1)

return search(a,mid+1,right);

}

else

return mid;

}

else

{

if(sum_buf(a,left,mid)>sum_buf(a,mid+1,right)) return search(a,left,mid);

else

return search(a,mid+1,right);

}

}

17.

#include

int job[6][2]={

{3,8},

{12,10},

{5,9},

{2,6},

{9.3},

{11,1}

};

int x[6],bestx[6],f1=0,bestf,f2[7]={0};

void try(int i);

void swap(int a,int b);

int main(void)

{

int i,j;

bestf=32767;

for(i=0;i<6;i++)

x[i]=i;

try(0);

for(i=0;i<6;i++)

printf("%d ",bestx[i]);

printf("\nbestf=%d\n",bestf); return 0;

}

void try(int i)

{

int j;

if(i==6)

{

for(j=0;j<6;j++)

bestx[j]=x[j];

bestf=f2[i];

}

else

{

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

{

f1=f1+job[x[j]][0];

if(f2[i]>f1)

f2[i+1]=f2[i]+job[x[j]][1]; else

f2[i+1]=f1+job[x[j]][1];

if(f2[i+1]

{

swap(i,j);

try(i+1);

swap(i,j);

}

f1=f1-job[x[j]][0];

}

}

}

void swap(int i,int j)

{

int temp;

temp=x[i];

x[i]=x[j];

x[j]=temp;

}

18.

#include

#define N 5 //N个数字

#define M 2 //M个加号

char buf[N];

int a[N];

char b[M+1][N];

int c[M+1];

int try(int t);

void swap(int t1,int t2); int add();

void output();

int min=99999;

int main()

{

int i;

for(i=0;i

{

scanf("%c",&buf[i]);

}

a[0]=0;

for(i=1;i<=M;i++)

{

a[i]=1;

}

for(;i

{

a[i]=0;

}

try(1);

output();

printf("%d\n",min);

return 0;

}

int try(int t)

{

int j;

int i;

int sum;

if(t>=N)

{

sum=add();

if(sum

{

min=sum;

for(i=0;i

{

c[i]=atoi(b[i]);

}

}

/*

for(i=0;i

{

printf("%d",a[i]);

}

printf("\n");

*/

}

else

{

for(j=t;j

{

//if(a[t]!=a[j])

{

swap(t,j);

try(t+1);

swap(t,j);

}

//else

//try(t+1);

}

}

}

void swap(int t1,int t2) {

int t;

t=a[t1];

a[t1]=a[t2];

a[t2]=t;

}

int add()

{

int sum=0;

int i=0;

int j;

int k=0;

int h=0;

for(i=0;i

for(j=0;j

b[i][j]='Q';

i=0;

j=0;

h=0;

k=0;

第四章练习及参考答案

第四章存货的确认与计价 练习一 假设某公司8月份存货资料如下: 日期入库发出数量结存数量 数量单位成本 8月1日500 20 8月5日400 22 8月10日600 8月15日700 25 8月20日900 8月28日100 26 要求:分别在定期盘存制和永续盘存制下,按下列方法计算8月份销售成本和期末结存货成本: (1)先进先出法 (2)加权平均法 (3)移动加权平均法。 答案: 定期盘存制下: (1)先进先出法 月末结存=100*26+100*25=5100 销售成本=500*20+400*22+700*25+100*26-5100=33800 (2)加权平均法 存货单位成本=(500*20+400*22+700*25+100*26)/(500+400+700+100)=22.88 销售成本=500*20+400*22+700*25+100*26-22.88*200=34320 (3)移动加权平均法 在定期盘存制下不能使用 永续盘存制下:

(1)先进先出法 销售成本=500*20+400*22+600*25=33800 期末结存货成本=100*26+100*25=5100 (2)加权平均法 存货单位成本=(500*20+400*22+700*25+100*26)/(500+400+700+100)=22.88 销售成本=(600+900)*22.88=34320 期末结存货成本=200*22.88=4576 (3)移动加权平均法 销售成本=600*20.89+900*23.77=33927 期末结存成本=4976.67 练习二 沿用练习一的数据和计算结果,分析确定企业在下列要求下,应选择何种计价方法? 并说明理由。 (1)为降低所得税;为本期最大收益; (3)为准确反映实际存货成本。 答案: (2)(1)为降低所得税宜采用加权平均法(因为加权平均法 计算的销售成本最高,利润最少) (2)为实现本期最大收益宜采用先进先出法(计算的销售成本最低,利润最高) (3)为准确反映实际存货成本宜采用移动加权平均法 练习三 雪松公司为增值税一般纳税企业,当月发生与存货有关的业务如下:

算法设计与分析 吕国英 习题答案第四章

算法设计与分析(第二版)主编:吕国英 习题答案 第四章 1. #include int main(void) { int buf[100]; int n; int i,j,k; scanf("%d",&n); for(i=0;i=10) { buf[j+1]+=buf[j]/10; buf[j]=buf[j]%10; } } for(i=n-1;i>=0;i--) printf("%d",buf[i]); printf("\n"); return 0; } 2. #include int main(void) { int n=2; int i;

for(i=1;i<=9;i++) { n=(n+2)*2; } printf("%d\n",n); return 0; } 3. #include int main(void) { int a=54; int n; int m; printf("计算机先拿3张牌\n"); a=a-3; while(a>=0) { printf("还剩%d张牌\n",a); printf("你拿几张?请输入:"); scanf("%d",&n); if(n>4||n<1||n>a) { printf("错误!重新拿牌\n"); continue; } a=a-n; printf("还剩%d张牌\n",a); if(a==0) break; m=5-n; printf("计算机拿%d\n",m); a=a-m; } return 0; } 4. #include int d; int a1,a2; int fun(int n); int main(void) { int n;

工程热力学例题答案解

例1:如图,已知大气压p b=101325Pa ,U 型管内 汞柱高度差H =300mm ,气体表B 读数为0.2543MPa ,求:A 室压力p A 及气压表A 的读数p e,A 。 解: 强调: P b 是测压仪表所在环境压力 例2:有一橡皮气球,当其内部压力为0.1MPa (和大气压相同)时是自由状态,其容积为0.3m 3。当气球受太阳照射而气体受热时,其容积膨胀一倍而压力上升到0.15MPa 。设气球压力的增加和容积的增加成正比。试求: (1)该膨胀过程的p~f (v )关系; (2)该过程中气体作的功; (3)用于克服橡皮球弹力所作的功。 解:气球受太阳照射而升温比较缓慢,可假定其 ,所以关键在于求出p~f (v ) (2) (3) 例3:如图,气缸内充以空气,活塞及负载195kg ,缸壁充分导热,取走100kg 负载,待平 衡后,不计摩擦时,求:(1)活塞上升的高度 ;(2)气体在过程中作的功和换热量,已 知 解:取缸内气体为热力系—闭口系 分析:非准静态,过程不可逆,用第一定律解析式。 计算状态1及2的参数: 过程中质量m 不变 据 因m 2=m 1,且 T 2=T 1 体系对外力作功 注意:活塞及其上重物位能增加 例4:如图,已知活塞与气缸无摩擦,初始时p 1=p b ,t 1=27℃,缓缓加热, 使 p 2=0.15MPa ,t 2=207℃ ,若m =0.1kg ,缸径=0.4m ,空气 求:过程加热量Q 。 解: 据题意 ()()121272.0T T m u u m U -=-=? 例6 已知:0.1MPa 、20℃的空气在压气机中绝热压缩后,导入换热器排走部分热量,再进入喷管膨胀到0.1MPa 、20℃。喷管出口截面积A =0.0324m2,气体流速c f2=300m/s 。已知压气机耗功率710kW ,问换热器的换热量。 解: 稳定流动能量方程 ——黑箱技术 例7:一台稳定工况运行的水冷式压缩机,运行参数如图。设空气比热 cp =1.003kJ/(kg·K),水的比热c w=4.187kJ/(kg·K)。若不计压气机向环境的散热损失、动能差及位能差,试确定驱动该压气机所需功率。[已知空气的焓差h 2-h 1=cp (T 2-T 1)] 解:取控制体为压气机(不包括水冷部分 流入: 流出: 6101325Pa 0.254310Pa 355600Pa B b eB p p p =+=+?=()()63 02160.110Pa 0.60.3m 0.0310J 30kJ W p V V =-=??-=?=斥L ?{}{}kJ/kg K 0.72u T =1 2T T =W U Q +?=()()212211U U U m u m u ?=-=-252 1.96010Pa (0.01m 0.05m)98J e W F L p A L =??=???=???={}{}kJ/kg K 0.72u T =W U Q +?=g V m pq q R T =()f 22g p c A R T =620.110Pa 300m/s 0.0324m 11.56kg/s 287J/(kg K)293K ???==??()111 11111m V m P e q p q P q u p v ++?++() 1 2 1 22222m V m e q p q q u p v ++Φ?Φ++水水

第四章习题答案

第四章 部分习题答案 4.1 如图(a )所示电路,F 2=C ,电压u 的波形如图(b )所示,求电流i ,并绘出波形图。 解:0~1s 期间, s V t u 1d d =,A 212d d =?==t u C i ; 1s 之后,0d d =t u ,0d d ==t u C i 4.2某设备中,需要一只4F μ,1000V 的电容器,。现有四只4F μ,500V 的电容器,问应当怎样联接才能满足要求? 解:可各将两只μF 4电容相串联,再将其并联即可;也可以先并联再串联 4.3 电路如图所示,F 441==C C ,F 232==C C 每个电容器的额定工作电压都为600V ,电源电压V 1000=U (1)当开关S 打开时,电容器是否会被击穿?(2)当开关S 闭合时, 电容器是否会被击穿? 解:(1)开关S 打开时,电容的连接方式为,C1、C2串联,C3、C4串联,然后并联,则 F 3 8 2424242443432121=+?++?=+++= C C C C C C C C C ,其中2F 电容上分压为667V ,4F 电容上 分压为333V ,电容器会被击穿。 (2)开关S 闭合时,电容的连接方式为,C1、C3并联,C2、C4并联,串联,则 u (a ) (b ) 题4.1图

()()()()F 36 66 642314231=+?=+++++= C C C C C C C C C ,每个电容上的电压均为500V ,安全。 4.4 通过电感L 的电流波形如图(b )所示,H 10m L =,求0≥t 时的电压u ,并绘出波形。 +--u L 题4.3图 (a ) (b ) 题4.4图 解:0~1ms 期间, s A t i 1d d =,mV 10110d d =?==t i L u ; 1~3ms 期间, s A t i 211310d d -=--=,mV 52110d d -=?? ? ??-?==t i L u ; 4.22 电路如图所示,已知Ω=k 201R ,Ω=k 802R ,V 20=U ,F 100μ=C ,S 闭合前电容两端电压为零,试求电路的时间常数τ及S 5=t 时电容两端的电压值。 解:()s 6.110016//21=?===C R R RC τ 0)0(=+C u ,V 16)(=∞C u ,V 1166.1???? ??-=-t C e u ()V 3.15116s 56.15 =??? ? ??-=-e u C

算法设计与分析习题解答

第一章作业 1.证明下列Ο、Ω和Θ的性质 1)f=Ο(g)当且仅当g=Ω(f) 证明:充分性。若f=Ο(g),则必然存在常数c1>0和n0,使得?n≥n0,有f≤c1*g(n)。由于c1≠0,故g(n) ≥ 1/ c1 *f(n),故g=Ω(f)。 必要性。同理,若g=Ω(f),则必然存在c2>0和n0,使得?n≥n0,有g(n) ≥ c2 *f(n).由于c2≠0,故f(n) ≤ 1/ c2*f(n),故f=Ο(g)。 2)若f=Θ(g)则g=Θ(f) 证明:若f=Θ(g),则必然存在常数c1>0,c2>0和n0,使得?n≥n0,有c1*g(n) ≤f(n) ≤ c2*g(n)。由于c1≠0,c2≠0,f(n) ≥c1*g(n)可得g(n) ≤ 1/c1*f(n),同时,f(n) ≤c2*g(n),有g(n) ≥ 1/c2*f(n),即1/c2*f(n) ≤g(n) ≤ 1/c1*f(n),故g=Θ(f)。 3)Ο(f+g)= Ο(max(f,g)),对于Ω和Θ同样成立。 证明:设F(n)= Ο(f+g),则存在c1>0,和n1,使得?n≥n1,有 F(n) ≤ c1 (f(n)+g(n)) = c1 f(n) + c1g(n) ≤ c1*max{f,g}+ c1*max{f,g} =2 c1*max{f,g} 所以,F(n)=Ο(max(f,g)),即Ο(f+g)= Ο(max(f,g)) 对于Ω和Θ同理证明可以成立。 4)log(n!)= Θ(nlogn)

证明: ?由于log(n!)=∑=n i i 1 log ≤∑=n i n 1 log =nlogn ,所以可得log(n!)= Ο(nlogn)。 ?由于对所有的偶数n 有, log(n!)= ∑=n i i 1 log ≥∑=n n i i 2 /log ≥∑=n n i n 2 /2/log ≥(n/2)log(n/2)=(nlogn)/2-n/2。 当n ≥4,(nlogn)/2-n/2≥(nlogn)/4,故可得?n ≥4,log(n!) ≥(nlogn)/4,即log(n!)= Ω(nlogn)。 综合以上两点可得log(n!)= Θ(nlogn) 2. 设计一个算法,求给定n 个元素的第二大元素,并给出算法在最坏情况下使用的比较次数。(复杂度至多为2n-3) 算法: V oid findsecond(ElemType A[]) { for (i=2; i<=n;i++) if (A[1]

哈工大工程热力学习题答案——杨玉顺版

第二章 热力学第一定律 思 考 题 1. 热量和热力学能有什么区别?有什么联系? 答:热量和热力学能是有明显区别的两个概念:热量指的是热力系通过界面与外界进行的热能交换量,是与热力过程有关的过程量。热力系经历不同的过程与外界交换的热量是不同的;而热力学能指的是热力系内部大量微观粒子本身所具有的能量的总合,是与热力过程无关而与热力系所处的热力状态有关的状态量。简言之,热量是热能的传输量,热力学能是能量?的储存量。二者的联系可由热力学第一定律表达式 d d q u p v δ=+ 看出;热量的传输除了可能引起做功或者消耗功外还会引起热力学能的变化。 2. 如果将能量方程写为 d d q u p v δ=+ 或 d d q h v p δ=- 那么它们的适用范围如何? 答:二式均适用于任意工质组成的闭口系所进行的无摩擦的内部平衡过程。因为 u h pv =-,()du d h pv dh pdv vdp =-=-- 对闭口系将 du 代入第一式得 q dh pdv vdp pdv δ=--+ 即 q dh vdp δ=-。 3. 能量方程 δq u p v =+d d (变大) 与焓的微分式 ()d d d h u pv =+(变大) 很相像,为什么热量 q 不是状态参数,而焓 h 是状态参数? 答:尽管能量方程 q du pdv δ=+ 与焓的微分式 ()d d d h u pv =+(变大)似乎相象,但两者 的数学本质不同,前者不是全微分的形式,而后者是全微分的形式。是否状态参数的数学检验就是,看该参数的循环积分是否为零。对焓的微分式来说,其循环积分:()dh du d pv =+??? 因为 0du =?,()0d pv =? 所以 0dh =?, 因此焓是状态参数。 而 对 于 能 量 方 程 来 说 ,其循环积分:

《概论》课第四章习题及参考答案

《概论》课第四章习题及答案 第四章社会主义改造理论 一、单项选择题(每小题2分,共20分) 1.新中国成立之初,我国人民民主专政的性质是() A.新民主主义 B.社会主义 C.共产主义 D.资本主义 2.社会主义改造完成后,全国人民面临的主要任务是() A.推翻三座大山 B.消灭民族资产阶级 C.土地改革 D.发展社会生产力 3.我国进行社会主义革命所用的方法是() A.暴力 B.革命 C.和平 D.暴力与和平相结合 4.党在过渡时期的总路线和总任务是() A.无产阶级领导的,人民大众的,反对帝国主义、封建主义、官僚资本主义的革命 B.在一个相当长的时期内,逐步实现国家的社会主义工业化,并逐步实现国家对农业、手工业和资本主义工商业的社会主义改造 C.鼓足干劲,力争上游,多快好省地建设社会主义 D.以经济建设为中心,坚持四项基本原则,坚持改革开放,自力更生,艰苦创业,为把我国建设成富强、民主、文明的社会主义现代化国家而奋斗 5.手工业供销小组的性质是() A.新民主主义性质 B.完全社会主义性质 C.半社会主义性质 D.具有社会主义萌芽性质 6.我国农业合作化过程中建立的初级农业生产合作社的性质是()

A.具有社会主义萌芽性质 B.完全社会主义性质 C.半社会主义性质 D.新民主主义性质 7. 1956年我国在生产资料所有制的社会主义改造基本完成后,开始进入() A.新民主主义时期 B.国民经济恢复时期 C.从新民主主义向社会主义过渡时期 D.全面建设社会主义时期 8.我国从新民主主义进入社会主义的标志是() A.中华人民共和国的成立 B.社会主义改造的基本完成 C.第一部《中华人民共和国宪法》的通过 D.十一届三中全会 9. 1953年到1956年中国国内的主要矛盾是() A.人民大众同帝国主义、封建主义及其走狗国民党反对派残余的矛盾 B.工人阶级同资产阶级的矛盾、社会主义道路同资本主义道路的矛盾 C.人民日益增长的物质文化需要同落后的社会生产之间的矛盾 D.帝国主义和中华民族的矛盾、封建主义和人民大众的矛盾 10.过渡时期总路线的主体是() A.对资本主义工商业的社会主义改造 B.对农业的社会主义改造 C.对手工业的社会主义改造 D.实现国家的社会主义工业化 二、多项选择题(每小题2分,共20分) 1.我国对个体农业实行社会主义改造必须遵循的原则有() A.自愿互利 B.典型示范 C.国家帮助 D.集体互助 2.我国对手工业进行社会主义改造的步骤是()

分析化学第四版上册 第四章 习题参考答案

第四章 习题参考答案 2.答: (1)系统误差中的仪器误差。减免方法:校准天平或更换天平。 (2)系统误差中的仪器误差。减免方法:校准容量瓶和移液管或更换成配套的 容量瓶和移液管。 (3)系统误差中的试剂误差。减免方法:做空白实验。 (4)随机误差。 (5)过失。 (6)系统误差中的试剂误差。减免方法:做空白实验。 3 解:滴定管的读数误差为mL 02.0±,即读数的绝对误差mL a 02.0±=E E r1= %1100500.202.0%100±=?±=?T E a E r2=%1.0%10000.2002.0%100±=?±=?T E a 结果表明,当用去的标准溶液的体积越大,读数的相对误差越小。 8 解:(1)2位;(2)5位;(3)4位;(4)3位;(5)2位;(6)2位 9 解:4位 %75.14%10024 .244015.182%1002H 2)(2222=??=??=O H BaCl O O H 理ω 可见,BaCl 2·2H 2O 中结晶水的质量分数大于10%,故测定结果应以4位有效数字报出。 10 解:甲报告的结果是合理的。因为题中所给的试样质量为3位有效数字,报告结果 也应保留3位有效数字。 或:甲报告的结果是合理的。因为当分析结果为1%-10%,报告结果应保留3位有效数 字。 或:称量的相对误差=01.000 .202.0±=± 甲结果的相对误差=01.002 .101.0±=± 乙结果的相对误差=001.0021 .1001.0±=± 可见,甲结果的相对误差与称量的相对误差相当,故甲报告的结果是合理的。

11解:%33.26%)33.26%35.26%36.26%27.26(4 1=+++=X %03.0%30.26%33.26=-=-=T X E a %2.0%100% 30.26%03.0%100=?=?=T E E a r 12 解:(1) %42.55%)40.55%38.55%46.55%47.55%45.55%36.55(6 1=+++++=X %42.552 %40.55%45.55=+=M X %04.0%)02.0%04.0%04.0%05.0%03.0%06.0(6 1=+++++=d %07.0%100% 42.55%04.0%100=?=?=x d d r %05.01 6%)02.0(%)04.0(2%)05.0(%)03.0(%)06.0(12 22222=-+?+++=-∑=n d S i %09.0%100% 42.55%05.0%100=?=?=X S Sr R=x max -x min = 55.47%-55.36%=0.11% 13解:19153918915912-?=++=g ng X 甲 19173 920911920-?=++=g ng X 乙 准确度:1)(1916915-?-=-=-=g ng T X E a 甲甲 %2.09161%100)()(-=-=?=T E E a r 甲甲 1)(1916917-?=-=-=g ng T X E a 乙乙 %2.0916 1%100) 4()(==?=T E E a r 乙 ∴甲、乙两人测定结果的准确度相当。 精密度:313)3(21 22=-?=-∑=n d S i 甲 %3.0%1009153%100)(=?= ?=甲甲 甲X S S r

(完整版)工程热力学习题集附答案

工程热力学习题集 一、填空题 1.能源按使用程度和技术可分为 能源和 能源。 2.孤立系是与外界无任何 和 交换的热力系。 3.单位质量的广延量参数具有 参数的性质,称为比参数。 4.测得容器的真空度48V p KPa =,大气压力MPa p b 102.0=,则容器内的绝对压力为 。 5.只有 过程且过程中无任何 效应的过程是可逆过程。 6.饱和水线和饱和蒸汽线将压容图和温熵图分成三个区域,位于三区和二线上的水和水蒸气呈现五种状态:未饱和水 饱和水 湿蒸气、 和 。 7.在湿空气温度一定条件下,露点温度越高说明湿空气中水蒸气分压力越 、水蒸气含量越 ,湿空气越潮湿。(填高、低和多、少) 8.克劳修斯积分 /Q T δ?? 为可逆循环。 9.熵流是由 引起的。 10.多原子理想气体的定值比热容V c = 。 11.能源按其有无加工、转换可分为 能源和 能源。 12.绝热系是与外界无 交换的热力系。 13.状态公理指出,对于简单可压缩系,只要给定 个相互独立的状态参数就可以确定它的平衡状态。 14.测得容器的表压力75g p KPa =,大气压力MPa p b 098.0=,则容器内的绝对压力为 。 15.如果系统完成某一热力过程后,再沿原来路径逆向进行时,能使 都返回原来状态而不留下任何变化,则这一过程称为可逆过程。 16.卡诺循环是由两个 和两个 过程所构成。 17.相对湿度越 ,湿空气越干燥,吸收水分的能力越 。(填大、小) 18.克劳修斯积分 /Q T δ?? 为不可逆循环。 19.熵产是由 引起的。 20.双原子理想气体的定值比热容p c = 。 21、基本热力学状态参数有:( )、( )、( )。 22、理想气体的热力学能是温度的( )函数。 23、热力平衡的充要条件是:( )。 24、不可逆绝热过程中,由于不可逆因素导致的熵增量,叫做( )。 25、卡诺循环由( )热力学过程组成。 26、熵增原理指出了热力过程进行的( )、( )、( )。 31.当热力系与外界既没有能量交换也没有物质交换时,该热力系为_______。 32.在国际单位制中温度的单位是_______。

第四章课后习题参考答案

1 数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据 链路接通了”的区别何在? 答:(1)数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的通信协议来控制数据的传输。因此,数据链路比链路多了实现通信协议所需要的硬件和软件。 (2)“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了。但是,数据传输并不可靠。在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”。此后,由于数据链路连接具有检测、确认和重传等功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输。当数据链路断开连接时,物理电路连接不一定跟着断开连接。 2 数据链路层中的链路控制包括哪些功能? 答:数据链路层中的链路控制包括链路管理;帧同步;流量控制;差错控制;将数据和控制信息分开;透明传输;寻址等功能。 数据链路层做成可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。 3数据链路层的三个基本问题(帧定界,透明传输和差错检测)为什么都必须加以解决? 答:帧定界是分组交换的必然要求;透明传输是避免二进制比特流中出现与帧定界符号相同的模式,使节点错误识别帧;差错检测是为了避免接收到错误信息和防止信道中出现的无效数据帧浪费后续路由上的传输和处理资源。 4 如果在数据链路层不进行帧定界,会发生什么问题? 答:在数据传输过程中的传输网中的结点及接收方将无法区分分组(帧),也将不能确定分组的控制域和数据域,也不能实现差错控制。 5 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输? 答:1,PPP是面向字节的点对点通信协议,适用于线路质量不太差的情况,其主要特点:(1)协议简单,不使用序号和确认机制,也不需要流量控制;具有检错能力,但无纠错功能;只支持点到点的链路通信和和全双工链路(2)PPP规定特殊的字符为帧界定符,且在同步传输链路时,采用比特填充法,当用在异步传输时,使用字符填充法来保证数据传输的透明性; (3)PPP可同时支持链路所连接的LAN或ROUTER上运行的多种网络层协议;(4)可在多种点到点的链路上运行(串行,并行,高速,低速,电的,光的,交换的或非交换的),并可自动检测链路的工作状态,同时对不同的链路设置最大传输单元MTU(帧的有效载荷)的标准默认值;(5)提供了网络地址协议和数据压缩功能. 2,在TCP/IP协议簇中,可靠的传输由TCP协议负责,而PPP只进行检错,它是一个不可靠的传输协议,因此不需要帧的编号。 3,PPP适用于质量不太差的点对点全双工通信链路,且上层协议要保证数据传输的可靠性,如用户通过ISP连接Internet. 4,(1)PPP只提供了检错功能,当发现帧出现错误时,只是将其丢弃;(2)PPP帧没有使用序号,接收端不能通过序号确认帧的顺序和是否完全到达。 6 要发送的数据为1101011011。采用CRC的生成多项式是P(x)=x4+x+1 。试求应添加在数 据后面的余数。 数据在传输过程中最后一个1变成了0,问接收端能否发现? 若数据在传输过程中最后两个1都变成了0,问接收端能否发现? 答:添加的检验序列(冗余码)为1110 (11010110110000除以数P=10011)

第四章习题答案

第4章习题 4-1 对信源?? ????=??????01.010.015.017.018.019.02.0s s s s s s s P S 7654321 进行二元编码,编码 方案为 (1)计算平均码长L ; (2)编码后信息传输率R ; (3)编码信息率R '; (4)编码效率η。 解:(1)()14.3L s p L i q 1 i i =?= ∑=(码元/信源符号) (2)()61.2S H =(比特/信源符号) ()831.014 .361 .2L S === H R (bit/码元) (3)logr L R ='=( bit/信源符号) (4)831.0R R max == η 或者()831.0R S H =' = η 4-2 设离散无记忆信源的概率空间为??? ? ????=??????414 3 s s S 21 P ,若对信源采取等长二元编码,要求编码效率96.0=η,允许译码错误概率5 10-≤δ,试计算需要的信源序列长度N 为多少

解:信源熵为 ()81103 4 log 434log 41S .Η=+= (bit/符号) 自信息量的方差 ()()()[] 2 2 i q 1 i i 2 S H logp p S -=∑=σ4715.0811.041log 4143log 4322 2=-?? ? ??+??? ??= 因为编码效率96.0=η,由 ()()ε += S S H H η 可得 ()3379.0811.096 .004 .0S H 1=?= -= η η ε 可得 ()7 5 2221013.410 3379.04715.0S N ?=?=≥-δεσ 所以,信源序列长度达到7 1013.4?以上,才能实现给定的要求,因此等长编码没有实际的意义,一般统计编码都是采用不等长编码。 4-6设离散无记忆信源的概率空间为?? ? ? ??=??????1.09.0s s S 21P ,对信源进行N 次扩展,采用霍 夫曼编码。当N=1,2,∞时的平均码长和编码效率为多少 解: (1)N=1时,将1s 编成0,2s 编成1,则 1L 1= 又因为信源熵 ()469.0))logp(s p(s S H q 1 i i i =-=∑=bit/符号 所以 ()469.0L S H 1 1== η (2)N=2时,编码过程如下 2S 概 率 霍夫曼编码

工程热力学习题解答

1. 热量和热力学能有什么区别?有什么联系? 答:热量和热力学能是有明显区别的两个概念:热量指的是热力系通过界面与外界进行的热能交换量,是与热力过程有关的过程量。热力系经历不同的过程与外界交换的热量是不同的;而热力学能指的是热力系内部大量微观粒子本身所具有的能量的总合,是与热力过程无关而与热力系所处的热力状态有关的状态量。简言之,热量是热能的传输量,热力学能是能量?的储存量。二者的联系可由热力学第一定律表达式 d d q u p v δ=+ 看出;热量的传输除了可能引起做功或者消耗功外还会引起热力学能的变化。 2. 如果将能量方程写为 d d q u p v δ=+ 或 d d q h v p δ=- 那么它们的适用范围如何? 答:二式均适用于任意工质组成的闭口系所进行的无摩擦的内部平衡过程。因为 u h p v =-,()du d h pv dh pdv vdp =-=-- 对闭口系将 du 代入第一式得 q dh pdv vdp pdv δ=--+ 即 q dh vdp δ=-。 3. 能量方程 δq u p v =+d d (变大) 与焓的微分式 ()d d d h u pv =+(变大) 很相像,为什么热量 q 不是状态参数,而焓 h 是状态参数? 答:尽管能量方程 q du pdv δ=+ 与焓的微分式 ()d d d h u pv =+(变大)似乎相象,但两者的数学本 质不同,前者不是全微分的形式,而后者是全微分的形式。是否状态参数的数学检验就是,看该参数的循环积分是否为零。对焓的微分式来说,其循环积分:()dh du d pv =+??? 因为 0du =?,()0d pv =? 所以 0dh =?, 因此焓是状态参数。 而对于能量方程来说,其循环积分: q du pdv δ=+??? 虽然: 0du =? 但是: 0pdv ≠? 所以: 0q δ≠? 因此热量q 不是状态参数。 4. 用隔板将绝热刚性容器分成A 、B 两部分(图2-13),A 部分装有1 kg 气体,B 部分为高度真空。将隔板抽去后,气体热力学能是否会发生变化?能不能用 d d q u p v δ=+ 来分析这一过程?

第四章习题及答案

课后习题参考答案 第四章竖曲线设计 4.3 某条道路变坡点桩号为K25+460.00,高程为780.72.m,i1=0.8%,i2=5%,竖曲线半径为5000m。(1)判断凸、凹性;(2)计算竖曲线要素;(3)计算竖曲线起点、K25+400.00、K25+460.00、K25+500.00、终点的设计高程。 解:ω=i1-i2=5%-0.8%=4.2%凹曲线 L=R?ω=5000×4.2%=210.00 m T=L/2=105.00 m E=T2/2R=1.10 m 竖曲线起点桩号:K25+460-T=K25+355.00 设计高程:780.72-105×0.8%=779.88 m K25+400: 横距:x=(K25+400)-(K25+355.00)=45m 竖距:h=x2/2R=0.20 m 切线高程:779.88+45×0.8%=780.2 m 设计高程:780.24+0.20=780.44 m K25+460:变坡点处 设计高程=变坡点高程+E=780.72+1.10=781.82 m 竖曲线终点桩号:K25+460+T=K25+565 设计高程:780.72+105×5%=785.97 m K25+500:两种方法 1、从竖曲线起点开始计算 横距:x=(K25+500)-(K25+355.00)=145m 竖距:h=x2/2R=2.10 m 切线高程(从竖曲线起点越过变坡点向前延伸):779.88+145×0.8%=781.04m 设计高程:781.04+2.10=783.14 m 2、从竖曲线终点开始计算 横距:x=(K25+565)-(K25+500)=65m 竖距:h=x2/2R=0.42 m 切线高程 (从竖曲线终点反向计算):785.97-65×5%=782.72m 或从变坡点计算:780.72+(105-65)×5%=782.72m 设计高程:782.72+0.42=783.14 m 两种方法结果相同 下图为Excel计算结果

第四章习题答案

教材习题答案 分析图电路的逻辑功能 解:(1)推导输出表达式 Y2=X2;Y1=X 1X2;Y0=(MY1+X 1M)X0 X2X1X0Y2Y1Y0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111000 001 011 010 110 111 101 100 000 001 011 010 111 110 100 101 (3)逻辑功能:当M=0时,实现3位自然二进制码转换成3位循环码。 当M=1时,实现3位循环码转换成3位自然二进制码。分析图电路的逻辑功能。 图 解:(1)从输入端开始,逐级推导出函数表达式。 F1 = A⊕B⊕C

F2 = A(B⊕C) + BC= A BC + AB C +ABC + ABC (2)列真值表 表4.3.2 A B C F1F2 000 001 010 011 100 101 110 11100 11 11 01 10 00 00 11 (3)确定逻辑功能。由真值表可知,该电路实现了一位全减器的功能。 A、B、C、F1、F2分别表示被减数、减数、来自低位的借位、本位差、本位向高位的借位。分析图电路的逻辑功能 解:(1)F1=A B C;F2=(A B)C+AB (2)真值表: A B C F2F1 000 001 010 011 100 101 110 11100 01 01 10 01 10 10 11

(3)逻辑功能:实现1位全加器。 设ABCD是一个8421BCD码,试用最少与非门设计一个能判断该8421BCD码是否大于等于5的电路,该数大于等于5,F= 1;否则为0。 解:(1)列真值表 表4.3.4 (2)写最简表达式

4 第四章 习题 参考答案

第四章习题参考答案P 135 7. 1)用OLS法建立居民人均消费支出与可支配收入的线性模型。create u 20; data consump income; ls consump c income Dependent Variable: CONSUMP Method: Least Squares Sample: 1 20 Included observations: 20 Variable Coefficient Std. Error t-Statistic Prob. C INCOME R-squared Mean dependent var Adjusted R-squared . dependent var . of regression Akaike info criterion Sum squared resid Schwarz criterion Log likelihood F-statistic Durbin-Watson stat Prob(F-statistic) 线性模型如下: CONSUMP = 5389 + *INCOME 2)检验模型是否存在异方差性

i) X Y -图:是否有明显的散点扩大/缩小/复杂型趋势 scat income consump ii)解释变量—残差图:是否形成一条斜率为0的直线 scat income resid^2 或者 genr ei2=resid^2; scat income ei2 由两个图形,均可判定存在递增型异方差。 还可以用帕克检验,戈里瑟检验,戈德菲尔德-匡特检验,怀 特检验等方法。 iii) 戈德菲尔德-匡特检验:共有20个样本,去掉中间1/4个样本(4 个),剩余大样本、小样本各8个。 Sort income ; smpl 1 8; ls consump C income Smpl 13 20; ls consump C income 21 0.050.05615472.0126528.3 4.86 (,)(81,81) 4.28 11 811811 1111RSS RSS F F F n k n k n k n k = ==--=>= --------------,存在异方差。

第四章 习题解答

4-1 如图是用频率为1 000 kHz 的载波信号同时传输两路信号的频谱图。试写出它的电压表达式,并画出相应的实现方框图。计算在单位负载上的平均功率P av 和频谱宽度BW AM 。 解:(1)为二次调制的普通调幅波。 第一次调制:调制信号:F = 3 kHz 载频:f 1 = 10 kHz ,f 2 = 30 kHz 第二次调制:两路已调信号叠加调制到主载频f c = 1000 kHz 上。 令 Ω = 2π ? 3 ? 103 rad/s ω1 = 2π ? 104 rad/s ω2= 2π ? 3 ? 104 rad/s ωc = 2π ? 106 rad/s 第一次调制:v 1(t ) = 4(1 + 0.5cos Ωt )cos ω1t v 2(t ) = 2(1 + 0.4cos Ωt )cos ω2t 第二次调制:v O (t ) = 5 cos ωc t + [4(1 + 0.5cos Ωt )cos ω1t + 2(1 + 0.4cos Ωt )cos ω2t ] cos ωc t = 5[1+0.8(1 + 0.5cos Ωt )cos ω1t + 0.4(1 + 0.4cos Ωt )cos ω2t ] cos ωc t (2) 实现方框图如图所示。 (3) 根据频谱图,求功率。 ○ 1 载频为10 kHz 的振幅调制波平均功率 V m01 = 2V ,M a1 = 0.5 W 5.4)211(2W 22121a 01av1201m 01=+===M P P V P ; ○ 2 f 2 = 30 kHz V m02 = 1V ,M a2 = 0.4 W 08.1)211(2W 5.02122a 02 av2202m 02=+===M P P V P ; ○3 主载频f c = 1000 kHz V m0 = 5V

C 课后习题答案第四章

C++作业答案 第4章数组 4.1 选择题 1.以下对一维数组 a 的正确定义是( c )。 (a) int n = 5, a[n]; (b) int a(5); (c) const int n = 5; int a[n]; (d) int n; cin>>n; int a[n]; 2.下列数组定义语句中,不合法的是( a )。 (a) int a[3] = { 0, 1, 2, 3 }; (b) int a[] = { 0, 1, 2 }; (c) int a[3] = { 0, 1, 2 }; (d) int a[3] = { 0 }; 3.已知 int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a ;则不能表示数组 a 中元素的式子是( c )。 (a) *a (b) *p (c) a (d) a[ p-a ] 4.已知 int a[] = { 0, 2, 4, 6, 8, 10 }, *p = a ; 值不等于0的表达式是( b,d )。 (a) *(p++) (b) *(++p) (c) *(p-- ) (d) *(--p) 5.以下不能对二维数组a进行正确初始化的语句是( c )。 (a) int a[2][3] = { 0 }; (b) int a[][3] = { { 0, 1 }, { 0 } }; (c) int a[2][3] = { { 0, 1 }, { 2, 3 }, { 4, 5 } }; (d) int a[][3] = { 0, 1, 2, 3, 4, 5 }; 6.已知int a[][3] = { { 0, 1 }, { 2, 3, 4 }, { 5, 6 }, { 7 } } ;则 a[2][1]的值是( c )。 (a) 0 (b) 2 (c) 6 (d) 7 7.已知int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ; 则不能表示数组元素a[2][1]的地址是( a,b )。 (a) &[2][1] (b) *(a[2]+1) (c) a[2]+1 (d) *(a+2)+1 8.已知char *a[]={ "fortran", " basic", "pascal", "java", "c++"; 则cout<

工程热力学思考题答案整理完成版

⒉有人认为,开口系统中系统与外界有物质交换,而物质又与能量不可分割,所以开口系不可能是绝热系。这种观点对不对,为什么? 答:不对。“绝热系”指的是过程中与外界无热量交换的系统。热量是指过程中系统与外界间以热的方式交换的能量,是过程量,过程一旦结束就无所谓“热量”。物质并不“拥有”热量。一个系统能否绝热与其边界是否对物质流开放无关。 ⒊平衡状态与稳定状态,平衡状态与均匀状态有何区别和联系? 答:“平衡状态”与“稳定状态”的概念均指系统的状态不随时间而变化,这是它们的共同点;但平衡状态要求的是在没有外界作用下保持不变;而平衡状态则一般指在外界作用下保持不变,这是它们的区别所在。 ⒋倘使容器中气体的压力没有改变,试问安装在该容器上的压力表的读数会改变吗?在绝对压力计算公式 ) ()(b v b b e b P P P P P P P P P P ;中,当地大气压是否必定是环境大气压? 答:可能会的。因为压力表上的读数为表压力,是工质真实压力与环境介质压力之差。环境介质压力,譬如大气压力,是地面以上空气柱的重量所造成的,它随着各地的纬度、高度和气候条件不同而有所变化,因此,即使工质的绝对压力不变,表压力和真空度仍有可能变化。 “当地大气压”并非就是环境大气压。准确地说,计算式中的P b 应是“当地环境介质”的压力,而不是随便任何其它意义上的“大气压力”,或被视为不变的“环境大气压力”。 ⒌温度计测温的基本原理是什么? 答:温度计对温度的测量建立在热力学第零定律原理之上。它利用了“温度是 相互热平衡的系统所具有的一种同一热力性质”,这一性质就是“温度”的概念。⒍经验温标的缺点是什么?为什么? 答:由选定的任意一种测温物质的某种物理性质,采用任意一种温度标定规则所得到的温标称为经验温标。由于经验温标依赖于测温物质的性质,当选用不同测温物质制作温度计、采用不同的物理性质作为温度的标志来测量温度时,除选定的基准点外,在其它温度上,不同的温度计对同一温度可能会给出不同测定值(尽管差值可能是微小的),因而任何一种经验温标都不能作为度量温度的标准。这便是经验温标的根本缺点。 ⒎促使系统状态变化的原因是什么?举例说明。 答:分两种不同情况: ⑴若系统原本不处于平衡状态,系统内各部分间存在着不平衡势差,则在不平衡势差的作用下,各个部分发生相互作用,系统的状态将发生变化。例如,将一块烧热了的铁扔进一盆水中,对于水和该铁块构成的系统说来,由于水和铁块之间存在着温度差别,起初系统处于热不平衡的状态。这种情况下,无需外界给予系统任何作用,系统也会因铁块对水放出热量而发生状态变化:铁块的

相关主题
文本预览
相关文档 最新文档