阅读以下技术说明和C代码,将C程序中(1)~(5)空缺处的内容填写完整。[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),已经测量得到了相应的Ratio值(如表4-10表格所示)。表4-10粗略地描述了曲线Ratio(temp)。校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,需要用更多的列表值细致地描述曲线K(temp),如表4-11所示。在表4-11中,各温度值所对应的K值是对表4-10进行线性插值再求倒数得到的,具体的计算方法如下。1) 根据temp值,在表4-10中用二分法查找;2) 若找到相应的温度值,则按相应的Ratio值求倒数得到K值;3) 若没找到相应的温度值,则可确定temp所在的温度区间[Tp1,Tp2],同时获得了相应的Ratio1和 Ratio2,再按如下公式计算K值:在程序中,当temp高于50℃或低于-40℃C时,设定K=0。[C程序]includetypedef struct {int Temp; /* 环境温度 */double Ratio; /* 传感器的输出值 */}CURVE;define ITEMS 7double GetK(int Temp,CURVE *p,int n){ /* 用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值 */int low, high, m;double Step;low = 0;high = n-1;if ((Temp<p->Temp) || (Temp>(p+high)->Temp))return 0.0; /* 超出温度范围时返回 0.0 */while (low<=high){ m=(1);if (Temp==(p+m)->Temp)return (2);if (Temp<(p+m) >Temp)high=m-1;elselow=(3);}p+=high;Step=( (4) )/((p+1)->Temp-p->Temp);return 1.0/ (p->Ratio + Step*( (5) ) ;}void main(){ int Degree;double k;CURVE Curve [ITEMS]={{-40,0.2},{-20,0.60.},{-10,0.8},{0,1.0},{10,1.17},{30,1.50},{50,1.8}};printf ("环境温度 校正系数\n");for (Degree=-40;Degree<=50;Degree++){ k=GetK ( Degree, Curve, ITEMS);printf("%3d %4.2f\n",Degree,k);}}

阅读以下技术说明和C代码,将C程序中(1)~(5)空缺处的内容填写完整。

[说明]

某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),已经测量得到了相应的Ratio值(如表4-10表格所示)。表4-10粗略地描述了曲线Ratio(temp)。

校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,需要用更多的列表值细致地描述曲线K(temp),如表4-11所示。

在表4-11中,各温度值所对应的K值是对表4-10进行线性插值再求倒数得到的,具体的计算方法如下。

1) 根据temp值,在表4-10中用二分法查找;

2) 若找到相应的温度值,则按相应的Ratio值求倒数得到K值;

3) 若没找到相应的温度值,则可确定temp所在的温度区间[Tp1,Tp2],同时获得了相应的Ratio1和 Ratio2,再按如下公式计算K值:

在程序中,当temp高于50℃或低于-40℃C时,设定K=0。

[C程序]

include

typedef struct {

int Temp; /* 环境温度 */

double Ratio; /* 传感器的输出值 */

}CURVE;

define ITEMS 7

double GetK(int Temp,CURVE *p,int n)

{ /* 用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值 */

int low, high, m;

double Step;

low = 0;

high = n-1;

if ((Temp<p->Temp) || (Temp>(p+high)->Temp))

return 0.0; /* 超出温度范围时返回 0.0 */

while (low<=high)

{ m=(1);

if (Temp==(p+m)->Temp)

return (2);

if (Temp<(p+m) >Temp)

high=m-1;

else

low=(3);

}

p+=high;

Step=( (4) )/((p+1)->Temp-p->Temp);

return 1.0/ (p->Ratio + Step*( (5) ) ;

}

void main()

{ int Degree;

double k;

CURVE Curve [ITEMS]={{-40,0.2},{-20,0.60.},{-10,0.8},{0,1.0},{10,1.17},{30,1.50},{50,1.8}};

printf ("环境温度 校正系数\n");

for (Degree=-40;Degree<=50;Degree++)

{ k=GetK ( Degree, Curve, ITEMS);

printf("%3d %4.2f\n",Degree,k);

}

}


相关考题:

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明]编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。[Java 代码]import java. io.* ;public class abc{public static void main ((1)){int i, n=10, max=0, min=0, temp=0;try {BufferedReader br = new BufferedReader (new InputStreamReader ( System.in ) );max = min =Integer. parselnt ( br. readLine ( ) );}. (2) ( IOExccption e ) {} ;for ( i=2 ; i<=n ; i++ ) {try {BufferedReader br = new (3) (new InputStreamReader ( System. in ) );temp =(4) ( br. readLine ( ));if (temp>max ) max=temp;if (temp<min) (5)} catch (IOException e ) {};}System.out.println ( "max="+max+"\nmin="+min );}}

请根据试题的要求,将汇编程序代码中(1)~(8)空缺处的内容填写完整。

请阅读以下技术说明、类图及C++代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明]已知对某载客车辆(Car)进行类建模,如图4-19所示。其中,类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。[C++代码]car.run();}

阅读以下说明和Java码,将应填入(n)处的字名写在对应栏内。[说明] 编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。import java. io. * ;public class abc{public static void main(String args [ ] ){ int i, n = 10 , max = 0 , min = 0 , temp = 0;try {BufferedReader br = new BufferedReader(new InputStreamReader( System. in) );(1));} catch ( IOException e ) { } ;for(i = 2 ;i <= n; i ++ ) {try {BufferedReader br = new BufferedReader(new InputStreamReader (System. in) );temp = Integer. parselnt(br. readLine( ) );if ( temp > max ) (2)if (temp < min) (3)} catch ( IOExeeption e ) { } ;System. out. println( "max =" + max + "\nmin =" + min);}}

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明]已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序为求行列式X(5,5)的值S。【Visual Basic代码】Private Function col ( byval x ( 5,5 ) as integer ) as longdim fesult as longdim temp as longdim I as integerdim j as integerdim k as imegerresult = 0for I = to 5(1)for j = 1 to 5if I+j>6 thenk= ( 1+j ) mod 5elsek=1endiftemp=temp*x ( k,j )(2)result=(3)(4)(5)End function

阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。【说明】本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:1 16 15 14 132 17 24 23 123 18 25 22 114 19 20 21 105 6 7 8 9【C++代码】include"stdio.h"include"iostream,h"int array[11][11];int temp;int ROW;void godown(int m,int a){for(temp=1; temp<=ROW;temp++)if(array[temp][a]==0)array[temp][a]=(1);a++;}void goright(int m,int b){for(temp=1;temp<=ROW;temp++)if(array[b][temp]==0)array[b][temp]=m++;b--;}void goup(int m.int c){for(temp=ROW;temp>0;temp-)if(array[temp][c]==0)array[temp][c]=m++;c--;}void goleft(int m,int d){for(temp=ROW;temp>0;temp--)if(array[d][temp]==0)array[d][temp]=m++;(2);}void main(){int a,b,c,d,max,m;cin>>ROW;cout>>end1;for(a=1;a<=ROW;a++)for(b=1;b<=ROW;b++)(3);m=1;a=d=1;b=c=ROW;max=(4);whiie(m<=max){godown(m,a);(5) (m,b);goup(m,c);goleft(m,d):}for(a=1;a<=ROW;a++){for(b=1;b<=ROW;b++)printf("%3d ",array[a][b]);cout<<end1;}}

阅读以下说明和C程序,将应填入(n)处。[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表1)。该表粗略地描述了曲线Ratio(temp)。校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,人们需要用更多的列表值细致地描述曲线K(temp),如表2所示。在表2中,各温度值所对应的K值是对表1进行线性插值再求倒数得到的,具体的计算方法如下:1.根据temp值,在表1中用二分法查找;2.若找到相应的温度值,则按相应的Ratio值求倒数得到K值:3.若没找到相应的温度值,则可确定temp所在的温度区间[Tp1, Tp2],同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:Step=(Ratlo1-Ratio2)/(Tp1-Tp2)K=1.0/(Ratio1+Step*(temp-Tp1))在程序中,当temp高于50℃或低于-40℃时,设定K=0。[程序]include <stdio.h>typedef struct {int Temp; /*环境温度*/double Ratio; /*传感器的输出值*/}CURVE;define ITEMS 7double GetK(int, CURVE*, int);void main(){int Degree;double k;CURVE Curve[ITEMS]={ {-40,0.2},{-20,0.60},{-10,0.8},{0,1,0},{10,1.17},{30,1.50}, {50,1.8} };printf("环境温度 校正系数\n");for( Degree= 40; Degree<=50; Degree++){k=GetK(Degree, Curve, ITEMS);printf(" %3d %4.2f\n",Degree,k);}}double GetK(int Temp, CURVE *p, int n){/*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/int low,high,m; double Step;low=0; high=n-1;if((Temp<p->Temp) ||( Temp>(p+high)->Temp))return 0.0; /*超出温度范围时返回0.0*/while (low<=high){m=(1) ;if(Temp==(p+m)->Temp)return (2);if (Temp<(p+m)->Temp)high=m-1;else low=(3);}p+= high;Step=((4))/((p+1)->Temp-p->Temp);return 1.0/(p->Ratio +Step *((5)));}

以下代码片段之行后,temp的值是?int temp = (int)3.9; temp %= 2;A.1B.2C.3D.0