形考任务2(预备知识第3,4章;分值25分) 试卷总分:25 得分:100 一、判断题(每题1分,共20分) 1.一个新类可以从现有的类中派生,这个过程称为类继承。 2.根据已有类继承定义出的新类称
正确答案:C
形考任务2(预备知识第3,4章;分值25分)试卷总分:25 得分:100
一、判断题(每题1分,共20分)
1.一个新类可以从现有的类中派生,这个过程称为类继承。
2.根据已有类继承定义出的新类称为已有类的派生类(子类),已有类称为超类(父类)。
3.Java不支持类的多重继承,只支持类的单继承。
4.如果在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时会自动调用父类的缺省(默认)构造方法。
5.在一个派生类中,可以定义与上层父类中的成员同名的变量。
6.一个父类的对象可以直接赋值给下层子类的对象。
7.任何一个派生类的引用变量(或对象)都可以被当成一个父类的引用变量(或对象)。
8.派生类可以直接访问从父类中继承下来的所有成员变量及方法。
9.在Java语言中,既可以根据一个类创建对象,也可以根据一个接口创建对象。
10.Java中的动态多态性实现手段是覆盖基类中的同名成员函数,其调用规则是依据对象在实例化时而非定义时的类型调用对应类中的同名成员函数。
11.抽象类要包含一些抽象方法,这种抽象方法只有方法的声明,而没有方法的实现。
12.在一个抽象类中,也可以包含成员变量和构造方法。
13.接口中的所有方法都是抽象的,每个方法都只有方法声明,而没有方法体。
14.在Java语言中,既不能利用抽象类生成对象,也不能利用接口生成对象。
15.接口中的所有成员方法都默认具有public和abstract修饰。
16.一个类可以实现一个或多个接口,所使用的子句关键字为implements。
17.在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。
21.在Java语言中,使用包提供了包一级的封装及存取权限。
19.一个包不仅可以包含若干个类字节码文件,还可以包含若干个包。
20.在Java语言中,声明包语句的关键字为package,引入包语句的关键字为import。
二、简答题,选择下列每个主函数运行后的输出结果。(每题1分,共5分)
21.public class XXK2 {
private int a,b;
public XXK2(int aa, int bb) {a=aa; b=bb;}
public int f1(int x) {
if(x>10) return a+b+3*x;
else return a*b*x;
}
public static void main(String[] args) {
XXK2 x=new XXK2(3,4);
int y=x.f1(8);
System.out.println("y="+y);
}
}
A.y=96
B.y=34
22.public class XXK4 {
public static void main(String[] args) {
int []a={2,5,8,10,15,20};
int s=0;
for(int i=0; i<a.length; i++) s+=a[i];
System.out.println("s="+s);
}
}
A.s=43
B.s=60
23.public class XXK4 {
public static void main(String[] args) {
String []a={"xxk","weirong","xucong","xuxiaohua","baojuan"};
int m=0;
for(int i=0; i<a.length; i++) {
int n=a[i].length();
if(n>m) m=n;
}
System.out.println("m="+m);
}
}
A.m=9
B.m=10
24.abstract class Shape {
int a,b;
public Shape(int aa, int bb) {a=aa; b=bb;}
abstract public double area();
}
class Rectangle extends Shape {
public Rectangle(int aa, int bb) {super(aa,bb);}
public double area() {return a*b;}
}
class Triangle extends Shape {
public Triangle(int aa, int bb) {super(aa,bb);}
public double area() {return a*b/2;}
}
public class XXK3 {
public static void main(String[] args) {
Shape x,y;
x=new Rectangle(10,20);
y=new Triangle(10,15);
System.out.println(x.area()+", "+y.area());
}
}
A.200.1, 75.1
B.200.0, 75.0
25.interface Shape {
double area();
double girth();
}
class Rectangle implements Shape {
int a,b;
public Rectangle(int aa, int bb) {a=aa; b=bb;}
public double area() {return a*b;}
public double girth() {return 2*(a+b);}
}
public class XXK3 {
public static void main(String[] args) {
Shape x;
x=new Rectangle(5,8);
System.out.println(x.area()+", "+x.girth());
}
}
A.50.0, 36.0
B.40.0, 26.0
国家开放大学2022年秋学期《面向对象程序设计》形考任务2国开电大历年参考题目如下:
201809考试批次
《面向对象程序设计》结课作业
学生姓名 学习中心
学号
专 业 年级层次
北京语言大学网络教育学院
《面向对象程序设计》结课作业
注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
1) 结课作业提交起止时间:2018年8月1日--9月10日。(届时平台自动关闭,逾期不予接收。)
2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;
3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;
4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;
5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。
一、【程序分析题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,本题要求读懂题目中的程序或函数,写出程序或函数的功能)
1、#include<iostream.h>
void main()
{
int i,s=0;
for(i=2;i<=30;i+=2) s+=i*i;
cout<<"s="<<s<<endl;
}
2、int s1(int n)
{
int x;
if(n==1) x=1;
else x=s1(n-1)+n*n;
return x;
}
3、void fun5(char* a, const char* b)
{
while(*b) *a++=*b++;
*a=0;
}
4、void fun3(int a[][N], int m, int n, int& row, int& col)
{
int x=a[0][0];
row=col=0;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
if(a[i][j]>x) {
x=a[i][j]; row=i; col=j;
}
}
5、char* f8(char* str1, const char* str2)
{
int i=0,j=0;
while(str1[i]) i++;
while(str2[j]) str1[i++]=str2[j++] ;
str1[i]='\0';
return str1;
}
二、【编写程序实现算法】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题30分,根据题目要求编写算法实现,要求程序没有语法错误)
1、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。
55555
4444
333
22
1
2、按照函数原型语句“void p(int n);”编写一个递归函数显示出如下图形,此图形是n=5的情况。
1
22
333
4444
55555
3、按照下面函数原型语句编写一个递归函数计算出数组a中n个元素的平方和并返回。
int f(int a[],int n);
4、根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。
class AA {
int* a;
int n;
int MS;
public:
void InitAA(int aa[], int nn, int ms) {
if(nn>ms) {cout<<"Error!"<<endl; exit(1);}
MS=ms;
n=nn;
a=new int[MS];
for(int i=0; i<n; i++) a[i]=aa[i];
}
int MaxMin(int& x, int& y); //从数组a的前n个元素中求出
//最大值和最小值,并分别由引用参数x和y带回,
//同时若n大于0则返回1,否则返回0。
};
5、如果A和B都是m行n列矩阵,且它们对应元素相等,则A= =B。试定义矩阵类,
对“= =”运算符重载。
三、【程序设计题】(本大题共5小题,请任选其中一道题作答,答题时请注明题号,本题40分,根据题目要求编写完整程序实现,要求程序能够正常运行,没有语法错误)
1、编写一个程序,计算三角形、正方形和圆形三种图形的面积和周长。(用多态性实现)
2、已有若干个学生数据,包括学号、姓名、成绩,编写程序要求输出这些学生数据并计算平均分。
3、应用C++的多态性编写一个程序,编写程序计算正方体、球体和圆柱体的表面积和体积。
4、编写一个程序,实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月2500本以上)的图书和杂志名称显示出来。
5、一名兽医要记录他所治疗的各种类型的狗以及治疗信息,尤其想了解不同的病症对带斑点的狗和不带斑点的狗所产生的影响。为该兽医设计一个程序,要求记录狗的品种(breed),身高(height),体重(weight),颜色(color)等信息。为斑点狗和不带斑点的狗设计不同的类。下面的程序使用你设计的类。
void main()
{// 定义一个白色的Dalmatian斑点狗,它身高24,体重60,
斑点为红色
spotted_dog redSpot("Dalmatian",24,60,"white","red");
//定义一个黄色的Labrador无斑点狗,它身高30,体重40
unspotted_dog rover("Labrador Retriever",30,40,"yellow");
redSpot.show_name(); //显示狗名
redSpot.show_breed(); //显示狗品种
redSpot.spot_info(); //显示狗斑点信息
rover.show_name(); //显示狗名
rover.show_breed(); //显示狗品种
}
国家开放大学2022年秋学期《面向对象程序设计》形考任务2[答案]相关练习题:
CAD/CAM系统有处理二维图形的能力,包括基本图元的生成、标注尺寸和 (比例变换、平移、拷贝、删除等)。
下列哪种情形属于盗窃罪?()
单位重量的液体从泵的吸入口到叶片入口压力最低处的总压降称为( )。
if语句中的()不能缺少,只能是逻辑类型的表达式。
粘性流体中三个互相垂直的法向应力的平均值的负值等于该点的动压强。
广告学的萌芽源自
I intended to have my daughters ______ in Englan
案例一、飞龙集团在人才队伍建设上的失误(答案字数要求在2000字左右)
所有者权益和负债的主要的区别有( )
根据我国《森林法》的规定,下列哪些森林资源可以依法转让?
小品文是()文学主张的产物,体现了他们“独抒性灵,不拘格套”的创作理论。
英译汉:Manners are the ornaments that make a woman a lady and a man a gentleman.
阳虚与气虚的主要区别是:( )
只有当产品与自己切身利益变得遥远而模糊的时候,我们才会不在意差错率。
1939年1月,国民党五届五中全会确定的方针是()
区块扩展的特点:不必建立新的表,所有没有初始化过程( )
充足理由律是说一个思想被确定为真,不一定有有理由。
某住宅小区旁新建一座化工厂,生产剧毒气体产品,小区居民对此提出强烈抗议,要求消除危险,他们行使的是( )
从水泥混凝土路面板上割取长和宽各为dx∑Z=0,∑My=0,∑Mx和dy高为h的单元,根据单元的平衡条件(=0)可导出当板表面作用竖向荷载p,地基对板底面作用竖向反力q时,板中心挠曲面的微分方程为( ):式中—拉普拉斯算子;D—板的弯曲刚度;W—板的挠度,即地基表面的沉陷。{图}
逻辑运算符的优先级从高到低分别是逻辑非、逻辑或和逻辑与。
列宁对社会主义革命学说的重大贡献是( )
联合品牌是将多个品牌组成联盟后,共同面对消费者。联合品牌的形式不包括下列哪项( )
幼儿文学创作中的核心问题是( )
(二)(每小题2分,共28分)
唐山师范学院专接本共有16个招生专业,涵盖经管、理工、文史、外语、艺术六个大类,分别是旅游管理、物流管理、计算机科学与技术、数学与应用数学、英语、法学、广播电视学、汉语言文学、汉语言文学(非师范类)、历史学、思想政治教育、学前教育、应用心理学、美术学、视觉传达设计和音乐学。