问答题A rectangle is equal in area to a square with sides of length 12. Is the diagonal of the rectangle greater in length than 20? (1) The rectangle has a length of 16. (2) The rectangle has a width of 9.
第1题:
阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内
[说明]
以下程序的功能时三角形、矩形和正方形的面积输出。
程序由5个类组成:areatest是主类,类Triangle,Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。
[Java程序]
public class areatest {
public static viod main(string args[]){
Figure[]Figures={
New triangle(2,3,3),new rectangle(5,8),new square(5)
};
for(int i=0; i<Figures.length;i++){
system.out.println(Figures+"area="+Figures.getarea());
}
}
}
public abstract class figure {
public abstract double getarea();
}
public class rectangle extends (1) {
double height;
double width;
public rectangle (double height,double width){
this.height=height;
this.width=width;
}
public string tostring(){
return"rectangle:height="+height+",width="+width+":";
}
public double getarea(){
return (2)
}
}
public class square exends (3)
{
public square(double width){
(4);
}
public string tostring(){
return"square:width="+width":";
}
}
public class triangle entends (5)
{
double la;
double lb;
double lc;
public triangle(double la,double lb,double lc){
this.la=la;this.lb=lb;this.lc=lc;
}
public string tostring()(
return"triangle:sides="+la+","+lb+","+lc+":";
}
public double get area(){
double s=(la+lb+lc)/2.0;
return math.sqrt(s*(s-la)*(s-lb)*(s-lc));
}
}
第2题:
使用RECTANGLE命令绘制一个矩形,并使该矩形具有厚度为100。正确的方法为()。
A.用RECTANGLE命令先绘一个矩形,然后用ELEV命令设置厚度为100
B.用ELEV命令设置厚度为100,然后用RECTANGLE命令绘制矩形
C.用RECTANGLE命令先绘一个矩形,然后用CHANGE命令改变厚度为100
D.在RECTANGLE命令中先设置其厚度为100,然后再绘制矩形
E.用RECTANGLE命令先绘一个矩形,然后再用RECTANGLE命令设置厚度为100
第3题:
阅读下列程序说明和C代码,把应填入其中n处的字句写在对应栏内。
【说明】
下面的程序能够计算不同图形的面积。程序中把每个图形的数据定义成结构类型,利用共同体类型描述2种图形的数据。程序根据输入参数代表的图形类型,求出图形的面积并输出。
【程序】
struct Circle
{
float x,y; /*圆心位置*/
float r; /*圆半径*/
};
struct Rectangle
{
float width; /*矩形宽*/
float length; /*矩形长*/
};
union shape
{
struct Circle circle;/*圆数据结构*/
struct Rectangle rectangle;/*矩形数据结构*/
};
main()
{
union shape a;
float area;
int i;
printf(“input number: 1circle,2rectangle,3 end\n”);
scanf("%d",&i);
while (1) /*循环接收输入,并计算输出*/
{
switch(i)
{
case 1:printf(“input radius:\n”);
scanf(“%f”, (2);/*共同体类型变量接收输入*/
area=3.1415926* (3);
printf(“the area of circle=%f\n”,area);
break;
case 2:printf(“input width and length :\n”);
seanf(“%f,%f”, (4);/*共同体类型变量接收输入*/。
area=(5);
printf(“the area of rectangle=%f\n”,area);
break;
}
printf(“input number:1 circle,2 rectangle,3 end\n”);
scanf(“%d”,&i);
}
}
第4题:
A.类rectangle的私有派生类是location
B.类rectangle中的public成员在类location中是私有的
C.类location中的public成员在类rectangle中是不可访问的
D.viodf(){Rectangler;intX=r.GetX();}其中intX=r.GetX();是非法语句
第5题:
A、It has a total length of 94.968 km
B、It has a total length of 49.968 km
C、It has a total length of 68.988 km
第6题:
阅读以下说明和Java源程序,将应填入(n)处的字句写在对应栏内。
【说明】
以下程序能够计算三角形、矩形和正方形的周长并输出。
程序由5个类组成:AreaTest是主类,类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算周长的抽象方法。
【程序】
public class girthTest{
public static void main (String args[]){
Figure[]figures={
new Triangle (2,3,3),new Rectangle(5,8),new Square(5)
};
for(int i=0;i<figures.length;i++){
System.out.println(figures[i]+"girth="+figures[i].getGirth());
}
}
}
public abstract class Figure{
public abstract double getGirth();
}
public class Rectangle extends (1) {
double height;
double width;
public Rectangle(double height,double width){
this.height=height;
this.width=width;
}
public String toString(){
return "Rectangle:height="+height+",width="+width+":";
}
public double getGirth(){
return (2);
}
}
public class Square extends (3) {
public Square(double width){
(4);
}
public Stdng toString(){
return "Square:width='+width+":";
}
}
public class Triangle extends (5) {
double la;
double lb;
double lc;
public Triangle(double la,double lb,double lc){
this.la=la;this.lb=lb;this.lc=lc;
}
public String toString(){
return "Triangle:sides=" +la+"," +lb+"," +lc+":";
}
public double getGirth(){
return la+lab+lc;
}
}
第7题:
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类Figure提供了一个纯虚函数getAxea(),作为计算上述3种图形面积的通用接口。
【C++代码】
include<iostream>
include<cmath>
using namespace std;
class Figure{
public:
virtual double getArea()=0;//纯虚函数
};
class Rectangle : (1) {
protected:
double height;
double width;
public:
Rectangle(){}
Rectangle(double height, double width){
this->height=height;
this->width=width;
}
double getArea(){
return (2);
}
};
class Square: (3) {
public:
Square(double width){
(4);
}
};
class Triangle: (5) {
private:
double la,lb,lc;
public:
Triangle(double la,double lb,double lc){
this->la=la;this->1b=1b;this->lc=lc;
}
double getArea(){
double s=(la+lb+lc)/2.0;
return sqrt(s*(s-la)*(s-lb)*(s-lc));
}
int main()
{
Figure *figures[3]={new Triangle(2,3,3),new Rectangle(5,8), new Square(5)};
for(int i=0;i<3;i++){
cout<<"figures["<<i<<"]area="<<(figures[i])->getArea()<<endl;
}
return 0;
}
第8题:
●试题六
阅读以下说明和C++程序,将应填入(n)处的语句写在答题纸的对应栏内。
【说明】
以下程序的功能是计算三角形、矩形和正方形的面积并输出。
程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述3种图形面积的通用接口
【C++程序】
#include<iostream.h>
#include<math.h>
class Figure{
public:
virtual double getArea()=0:∥纯虚拟函数
};
class Rectangle: (1) {
protected:
double height;
double width;
public:
Rectangle(){};
Rectangle(double height,double width){
this->height=height;
this->width=width;
}
double getArea(){
return (2) ;
}
};
class Square: (3) {
public:
Square(double width){
(4) ;
}
};
class Triangle: (5) {
double la;
double Ib;
double lc;
public:
Triangle(double la,double lb,double lc){
This->la=la;this->lb=lb;this->lc=lc;
}
double getArea(){
double s=(la+lb+±c)/2.0;
return sqrt(s*(s-1a)*(s-1b)*(s-1c));
}
};
void main(){
Figure*figures[3]={
new Triangle(2,3,3),new Rectangle(5,8),new SqUare (5) );
for (int i=0;i<3;i++){
cout<<"figures["<<i<<"]area="<<(figures[i])->getArea()<<endl;
}
}
●试题六
【答案】(1)public Figure(2)height*width(3)public Rectangle
(4)this->height=this->width=width(5)public Figure
【解析】类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,它们都需要求各自的面积,而抽象类Figure提供了一个纯虚拟函数getArea(),所以类Rectangle以类Figure为基类,公有继承,所以(1)空应填入"public Figure"。(2)空处为类Rectangle中求面积函数的返回值,所以根据长方形面积公式应填入"height*width"。
类Square表示正方形,它是特殊的长方形,所以可以从代表长方形的类Rectangle公有继承它的成员,所以(3)空应填入"public Rectangle"。(4)空处为类Square的构造函数的函数体,显然是长等于宽,所以应填入"this->height=this->width=width"。
最后类Triangle同样从虚基类公有继承,所以(5)空应填入"public Figure"。
第9题:
使用VC6打开考生文件夹下的工程test41_3。此工程包含一个test41_3.cpp,其中定义了类Rectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类Rectangle的私有数据成员left,top和fight,bottom,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)添加类Rectangle的带四个int型参数1、t、r、b的构造函数的声明,并使这四个参数的默认值均为0,请在注释“//**2**”之后添加适当的语句。
(3)添加类Rectangle的成员函数SetTop()参数为int型的t,作用为把t的值赋给类的数据成员top,添加类Rectangle的成员函数SetBottom()参数为int型的t,作用为把t的值赋给类的数据成员bottom,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类Rectangle的成员函数Show()的定义,使其以格式“right-bottom point is(right,bottom)”输出,请在注释“//**4**”之后添加适当的语句。
源程序文件test41_3.cpp清单如下:
include <iostream.h>
class Rectangle
{
// ** 1 **
int right, bottom;
public:
// ** 2 **
~ Rectangle(){};
void Assign(int 1, int t, int r, int b);
void SetLeft(int t){left = t;}
void SetRight(int t){right = t;}
// ** 3 **
void SetBottom(int t){bottom = t;}
void Show();
};
Rectangle::Rectangle(int 1, int t, int r, int b)
{
left = 1; top = t;
right = r; bottom = b;
}
void Rectangle::Assign(int 1, int t, int r, int b)
{
left = 1; top = t;
right = r; bottom = b;
}
void Rectangle::Show()
{
cout<<"left-top point is ("<<left<<","<<top<<")"<<'\n';
// ** 4 **
}
void main()
{
Rectangle rect;
rect.Show();
rect.Assign(100,200,300,400);
rect.Show();
}
第10题:
阅读以下说明和C++代码,填入(n)处。
[说明]
以下C++代码使用虚函数实现了同一基类shape派生出来的Class rectangle、Class triangle、Class circle实现了计算矩形、圆形面积的计算。仔细阅读以下代码,将(n)处语句补充完整。
[代码5-1]
include<iostream.h>
define PI 3.14159
class shape {//基类
protected:
(1);
public:
(2);
(3);
};
[代码5-2]
class rectangle: public shape {
public:
rectangle (int x2,int y2,int r2): (4) {};
double area ( ) {return x*y; };
};
class circle: public shape {
public:
circle (int x3,int y3,int r3):(5){};
double area ( ) {return r*r*PI; };
};
[代码5-3]
void main ( )
{
rectangle r (10,20,0);
circle c (0,0,30);
shape (6);
cout<<"长方形面积="<<s1->area ( ) <<endl;
cout<<"圆形面积="<<s2->area ( ) <<endl;
}
[运行结果]
长方形面积=200
圆形面积=2827.43