15、实平面上任意一点到原点的距离函数可以定义为 distance :: Float - Float - Float distance x y = ... distance x y 表示坐标点(x,y)到原点(0, 0)的距离。请判断下面哪些表达式是类型错误的。A.distance (1,2)B.distance (1+2)C.distance (1+2) 5D.distance (1+2) (2+3)

15、实平面上任意一点到原点的距离函数可以定义为 distance :: Float -> Float -> Float distance x y = ... distance x y 表示坐标点(x,y)到原点(0, 0)的距离。请判断下面哪些表达式是类型错误的。

A.distance (1,2)

B.distance (1+2)

C.distance (1+2) 5

D.distance (1+2) (2+3)


参考答案和解析
(1)设曲线L上过点P(xy)的切线方程为Y—y=y'(X-x)令X=0得该切线在y轴上的截距为y-xy'.由题设有 此为一阶齐次微分方程令 将此方程转化为 两边积分并代入 。由于L经过点 于是L的方程为 。(2)设第一象限内曲线 在点P(xy)处的切线方程为 它与x轴及y轴的交点分别为 。于是所求面积为 令 S'(x)=0得 容易验证 是函数S(x)在 内的极小值点且是唯一的极小值点即为最小值点.于是所求切线为 。 [分析](1)先求出切线方程及其在y轴上的截距,由题设可得到与待求曲线对应的函数所满足的微分方程.(2)由面积最小,可得曲线上的切点,从而求出对应的切线方程.[评注]本题是一道综合题,主要考查由实际问题建立微分方程的能力、微分方程的求解、导数与定积分的几何应用以及求函数的极值.求曲线在任意点P(x,y)处的切线方程时,由于任意点已用x和y表示,因此切线上任意点的坐标设为(X,Y),以示区别.这是求解这类问题的一种习惯做法,应引起注意.

相关考题:

若有如下函数模板定义,则正确使用该函数模板的语句是( )。templatevoid add(type a, type b, type 和c){ c=a+b ; } A.float x,y,z;add(x,y,z) ;B.int x,y,z;add(x,y,和z) ;C.float x,y ;int z;add(x,y,z) ;D.float x,y ;int z;add(x,y,和z) ;

有一个函数原型如下所示,abc(float x,float y);{……},则该函数的返回类型为()。 A.voidB.doubleC.intD.float

●试题五阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。【说明】①在类体中添加函数move(double ax, double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位。②在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx, double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。③完成函数double distance(double bx, double by)的定义,该函数返回*this和点(bx,by)的距离。注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test5.cpp清单如下:#includeiostream.h#include math.hclass CPosition{public:CPosition();CPosition(double dx, double dy);double getx();double gety();(1)double distance(double bx, double by);private:double x;double y;};(2){x=0; y=0;}CPosition::CPosition(double dx, double dy){x=dx; y=dy;}double CPosition::getx(){return x;}double CPosition::gety(){return y;}double CPosition::distance(double bx, double by){(3)}void main(){double a,b;cout "Input x, y position of a point: ";cin a b;CPosition psA(a, b);cout "Input x, y position of another point: ";cin a b;cout "The distance is " psA.distance(a,b) endl;}

下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio. h>include <math. h>/**************found******************/define FU(m, n) (m/n)float fun(float a, float b, float c){ float value;value=FU(a+ b, a-b)+FU(c+ b, c-b);/*************found******************/return(Value);}main(){ float x, y, z, sum;printf ("Input x y z:: ");scanf("%f%f%f", x, y, z);printf("x=%f, y=%f, z=%f\n ",x, y, z);if (x==y||y==z) {printf ("Data error! \n ");exit (0); }sum=fun (x, y, z);printf("The result is:%5. 2f\n ",sum);}

阅读下列程序说明和C++代码,将应填入(n)处。【说明】①在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动 ax和ay个单位。②在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。③完成函数double distance(double bx,double by)的定义,该函数返回*this和点(bx, by)的距离。注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test5.cpp清单如下:include<iostream.h>include<math.h>class CPosition{public:CPosition();CPosition(double dx,double dy);double getx();double gety();(1)double distance(double bx,double by);private:double x;double y;};(2){x=0;y=0;}CPosition::CPosition(doub,e dx,doub,e dy){x=dx; y=dy;}double CPosition::getx(){return x;}double CPosition::gety(){return y;}double CPosition::distance(double bx,double by){(3)}vold main(){double a,b;cout<<"|nput x,y position of a point:";cin >> a >> b;CPosition psA(a,b);cout<<"Input x,y position of another point:";cin >>a >> b;cout <<"The distance is" <<psA.distance(a,b) <<end1;}

有如下程序:includemain(){float x=2.0,y; if(x10.0)y=1.0/x; 有如下程序: #include <stdio.h> main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x>10.0) y=1.0/x; else y=1.0; printf("%f/n",y); } 该程序的输出结果是( )。A.0B.0.25C.0.5D.1

下面各被调用函数首部书写正确的是( )A.void sub(float x;float y);B.void sub(float x,y)C.void sub(float x,float y)D.void sub(float x,float y);

以下函数值的类型是 ( ) fun (float x) { float y; y=3 * x-4; return y; }A.intB.不确定C.voidD.float

若有定义: int a=7;float x=2.5,y=4.7;则表达式x+a%3,(int)(x+y)%2/4的值是( )。A.2.5B.2.75C.3.5D.0

有如下程序:#includeiostream#includecmathusing std::cout;class Point{public:friend double distance(const Point p); //P距原点的距离Point(int xx=0,int yy=0):x(xx),Y(YY){}//①private:int x,y;};double distance(const Point p){ //②return sqrt(P.x*P.x+P.y*P.y);}int main(){Point p1(3,4);coutdistance(p1);return 0; //③}下列叙述中正确的是A.程序编译正确B.程序编译时语句①出错C.程序编译时语句②出错D.程序编译时语句③出错

下列函数值的类型是( )。 fun(double x) { float y; y=3*x-4; return y; }A.intB.不确定C.voidD.float

以下函数值的类型是______。 fun(floatx) { float y; y=3*x-4; return y; }A.intB.不确定C.voidD.float

下列函数的类型是( )。fun(double x) { float y;y=3*x-4;return y; }A.intB.不确定C.voidD.float

以下4个程序中,不能实现两个实参值进行交换的是 ( )。A.void swap (float *p, float *q) { float *t ,a; t = a; t = p; *p = *q; *q = *t; } void main () { float x = 8.0;y = 9.0; swap (x, y); cout<<x<<", "<<y<<B.void swap (float *p, float *q) { float a; a = *p; *p = *q; *q = a; } void main() { float x = 8.0;y = 9.0; swap (x, y); cout<<x<<", "<<y<<end1;C.void swap (float *p, float *q) { float x; x = *p; *p = *q; *q = x; } void main() { float a,b.; *a = 8.0;*b = 9.0; swap (a, b) ;D.void swap (float p, float q) { float a; a = p; p = q; q = a; } void main() { float a = 8.0,b = 9.0; swap (a,b); cout<<x<<", "<<y<<

若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是() A.x=x*3=2B.x=(y==1)C.i=float(x)D.i%(-3)

为表示关系:x≥Y≥z,应使用的C语言表达式是( )。A.(x=y)(y=z)B.(x=y)A 为表示关系:x≥Y≥z,应使用的C语言表达式是( )。A.(x>=y)&&(y>=z)B.(x>=y)AND(y>-x)C.(x>=y>=z)D.(x>=y)&(y>=z)

若有定义:“int a=4,b=5;float x=3.4,y=2.1;”,则下列表达式的值为( )。 (float)(a+b)/2+(int)x%(int)y;A.5.5B.55C.5.500000D.55.00000

有如下程序includevoid main( ){float x=2.O,y;if(x 有如下程序 #include<iostream.h> void main( ) { float x=2.O,y; if(x<O.0)y=0.0; else if(x<10.O)y=1.0/x; else y=1.0; cout<<y; } 该程序的输出结果是A.0B.0.25C.0.5D.1

下列函数的定义,正确的是( )。A.float sum(x,y) {float x,y;……}B.float sum(float x,float y); {……}C.float sum(float x,float y) {……}D.float sum(floatx,floaty) {……}

有如下程序:includemain(){float x=2.0,y; if(x 有如下程序: #include<stdio.h> main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf("%f\n",y); } 该程序的输出结果是( )。A.0B.0.25C.0.5D.1

假设有函数模板定义如下,下列各选项中正确的是( )。 Template T Max(T a,T b,T 假设有函数模板定义如下,下列各选项中正确的是( )。 Template <class T> T Max(T a,T b,T c) { if(a<b) {if(b<c) return c; else return b;} else {if(a<c) return c; else return a;} }A.float x,y,z;float max;max=Max(x,y,z);B.float x;int y,z;float max;max=Max(x,y,z);C.float x;double y,z;float max;max=Max(x,y,z);D.三个选项都正确

有以下程序:includeincludeusingnamespacestd;classDistance;classpoint{pub 有以下程序: #include <iostream> #include <cmath> using namespace std; class Distance; class point { public: friend class Distance; Point(int a,int B) { x=a; Y=b; } void Print() { cout<<"X= "<<X<<end1; cout<<"Y= "<<Y<<end1; } private: float X,Y; }; class Distance { public: float Dis(Point p,Point q); }; float Distance :: Dis(Point p,Point q) { float result; result=sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y)); cout<<result<<end1; retUrn result; } int main() { Point p(10,10),q(10,30); Distance d; d.Dis(p,q); return 0; } 运行后的输出结果是( )。A.10B.30C.0D.20

若有说明:char w; int x; float y; double z; 则表达式w*x+y-z的值的数据类型是()。A、doubleB、charC、intD、float

假设有函数模板定义如下:template typename T Max(T a,T b,Tc){c=a+b;}下列选项正确的是()A、)int x,y;char z;Max(x,y,z);B、)double x,y,z;Max(x,y,z);C、)int x,y;float z;Max(x,y,z);D、)float x;double y,z;Max(x,y,z);

若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是()A、x=x*3=2B、x=(y==1)C、i=float(x)D、i%(-3)

若已定义x和y为float类型,则表达式:x=1,y=x+3/2的值是()。A、1B、3C、2.5D、2.0

单选题若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是()Ax=x*3=2Bx=(y==1)Ci=float(x)Di%(-3)

单选题如果定义有double,x;float,y;int,m,则表达式x*y-m的类型为()AdoubleBfloatCintDshort