当前位置:文档之家› 面向对象程序设计教程 (马石安版)

面向对象程序设计教程 (马石安版)

面向对象程序设计教程 (马石安版)
面向对象程序设计教程 (马石安版)

第 1 章习题答案

名词解释

抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。

封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。

填空题

(1) 面向过程的结构化程序设计方法面向对象程序设计方法

(2) 顺序选择循环

(3) 程序=数据结构+算法程序=对象+消息

(4) 过程类

(5) 抽象性封装性继承性多态性选择题

(1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D

判断题(1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t

简答题

(1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。

(2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为:程序=对象+消息在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。

(3) 结构化程序设计方法中,把数据结构和算法分离为相互独立的实体。在面向对象程序设计中,数据结构和算法是封装在一起,结合成一个独立的单位,即对象,并尽可能隐蔽对象的内部细节。对象的私有属性只能由这个对象的行为来读取和修改,与外部的联系通过公有行为充当外部接口。

第 2 章习题答案

名词解释

引用:所谓引用,就是给对象起一个别名,使用该别名可以存取该对象。换句话说,是使新对象和原对象共用一个地址。

内联函数:内联函数是使用inline 关键字声明一个函数。

重载函数:重载函数通常用来对具有相似行为而数据类型不同的操作提供—个通用的名称。

填空题

(1) 函数类

(2) // /*……*/

(3) iostream

(4) cin >>

(5) cout<<

(6) 地址值类型值

(7)& 对象

(8) 声明

(9) 值传递引用传递

(10) inline

(11) new delete

(12) x= 10, y=10 x= 100 , y=100

选择题(1) A (2)C (3) C (4) A (5) D (6) D (7) D (8) B C (9) A (10) D

判断题(1) t (2) f (3) f (4)t (5) t (6) t (7) t (8) t

简答题

(1) 名字空间用来防止命名的冲突。

(2) 除了独立引用外,在C++程序中,引用的主要用途是用作函数参数和函数的返回值。

(3) 在值传递机制中,作为实参的表达式的值被复制到由对应的形参名所标识的一个对象中,作为形参的初始值。函数体对形参的访问、修改都是在这个标识对象上操作,与实参无关,即数据的传递是单向的。使用引用作函数的形参时,调用函数的实参要用变量名。实参传递给形参,相当于在被调用函数中使用了实参的别名。于是,在被调用函数中对形参的操作,实质是对实参的直接操作,即数据的传递是双向的。

(4) 内联函数是使用inline 关键字声明一个函数。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换,进而减少了时间开销。使用内联函数应注意:递归

函数不能定义为内联函数。内联函数一般适合于不含有switch 和while 等复杂的结构且只有1~5 条语句的小函数,否则编译系统将该函数视为普通函数。内联函数只能先定义后使用,否则编译系统也将该函数视为普通函数。对内联函数也不能进行异常接口声明。

(5) 不必一致。所有的参数是根据位置和类型而不是名字来区分的。

(6) 编译系统将根据函数参数的类型和个数来判断使用哪一个函数。

程序分析题(写出程序的输出结果,并分析结果)

程序的输出结果:num=60 ref=100

程序设计题//xiti2_1.cpp

#include

#include

using namespace std;

int main()

{ float x,y; cout<<"please input 2 floats to x,y:"<>x>>y; float z=pow(x,y);

cout<<"pow("<<<""<<<")="<

类实际上由一个类定义的类型称为类类型,程序员可以使用这个新类型在程序中声明新的变量,具有类类型的变量称为对象。创建对象时,类被用作样板,对象称为类的实例。

(2) 定义类一般形式为:class 类名{ public:< 公有数据和函数> protected:< 保护数据和函数> private:< 私有数据和函数> }; 访问权限共有三种:分别是公有(public)、保护(protected)和私有(private)的。

(3) 指创建类的对象。

(4) this 指针是C++为成员函数提供的一个隐含对象指针,它不能被显式声明。this 指针是一个局部量,局部于某个对象。不同的对象调用同一个成员函数时,编译器根据this 指针来确定应该引用哪一个对象的数据成员。

(5) 拷贝构造函数是一种特殊的构造函数,它的作用是用一个已经存在的对象去初始化另一个对象时。为了保证所引用的对象不被修改,通常把引用参数声明为const 参数。在以下 3 种情况下,拷贝构造函数都会被自动调用:①当用类的一个对象去初始化该类的另一个对象时。

②当函数的形参是类的对象,进行形参和实参结合时。③当函数的返回值是类的对象,函数执行完成返回调用者时。

程序分析题(1) Init defa Init defa Init 15

(2) Exit main dst 5

(3) Default constructor of Part Constructor of Part,3 Default constructor of Part Constructor of Whole Destructor of Whole Destructor of Part,0 Destructor of Part,3 Destructor of Part,0

(4) 30

程序设计题

(1) //xiti3_1.cpp

#include< iostream >

using namespace std;

class Circle { public: Circle(float r){ radius = r; }

~ Circle( ) {} float area() { return 3.14 * radius * radius; } private: float radius; };

int main( )

{ float r; cout<< “请输入圆的半径:”;

cin >> r; Circle p(r);

cout<< “半径为”<< r<< “的圆的面积为:”<< p. area ()<< endl; return 0; }

(2) //xiti3_2.cpp

#include

using namespace std;

class Book { public: Book(int w);

static int sumnum;

static int getsum(){return sumnum;} private: int num; }; Book: :Book(int w) { num=w; sumnum-=w; }

int Book::sumnum=120; int main() { Book b1(20); Book b2(70); cout<<

成员。在类外部,派生类的对象无法访问基类的所有成员。当类的继承方式为保护继承时,在派生类中,基类的公有成员和保护成员作为派生类的保护成员,派生类的成员函数可以直接访问它们,而派生类的成员函数无法直接访问基类的私有成员。在类外部,派生类的对象无法访问基类的所有成员。

(4) 首先基类构造函数被调用,子对象所在类构造函数次之,最后执行派生类构造函数。

(5) 若派生类有构造函数而基类没有,当创建派生类的对象时,派生类的相应构造函数被自动调用。若派生类没有构造函数而基类有,则基类必须拥有缺省构造函数。只有这样,当创建派生类的对象时,才能自动执行基类的默认构造函数。若派生类有构造函数,且基类有缺省构造函数,则创建派生类的对象时,基类的缺省构造函数会自动执行,除非当前被调用的派生类构造函数在其初始化段中显式地调用了基类的有参构造函数。若派生类和基类都有构造函数,但基类没有缺省构造函数,则派生类的每一个构造函数必须在其初始化列表中显式地调用基类的某个构造函数。只有这样,当创建派生类的对象时,基类的构造函数才能获得执行机会。

程序分析题(11,12) (26,29) 15,16 (26,29)

程序设计题

//xiti4_1.cpp #include class Point //定义基类{ protected: int x,y; public: Point(int myx,int myy){x=myx;y=myy;} void displayxy() { cout<<"The postion of point:";

cout<<"("<

{l=myl;w=myw;} void displaylw() { cout<<"The length and width of rectangle:";

cout<

myy){x=myx;y=myy;} void displayxy() { cout<<"the position of center:";

cout<<"("<

void displayr(){cout<<"the radius of circle:"<

消息却产生不同的函数调用,="" 通过虚函数来实现;="" 多态性有两种表现形式:一种是不同的对象在收到相同的消息时,产生不同的动作,这主要="" 态。C++支持两种多态性,编译时的多态性和运行时的多态性。="" 即是指同一个函数的多种形="" 多态性就是同一符号或名字在不同情况下具有不同解释的现象,="" 抽象类="" 0="" 静态="" 使用了不恰当的虚函数="" 覆盖="" 动态="" 编译时的多态性,运行时的多态性。="" 5="" v.displayr();="" cout<<

(2) 重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相同的不同函数。而虚函数不仅要求函数名相同,而且要求函数的签名、返回类型也相同。也就是

说函数原型必须完全相同,而且虚函数特性必定是体现在基类和派生类的类层次结构中。重载函数可以是成员函数或友员函数,而虚函数只能是非静态成员函数。构造函数可以重载,析构函数不能重载。正好相反,构造函数不能定义为虚函数,析构函数能定义为虚函数。重载函数的调用是以所传递参数序列的差别作为调用不同函数的依据而虚函数是根据对象的不同去调用不同类的虚函数。重载函数在编译时表现出多态性,是静态联编;而虚函数则在运行时表现出多态性是动态联编,动态联编是C++的精髓。

(3) 包含有纯虚函数的类称为抽象类。抽象类用来描述一组子类的共同的操作接口,它用作基类,而接口的完成实现由派生类提供。抽象类的派生类不一定要给出纯虚函数的实现。如果没有在派生类中给出纯虚函数的实现中,则需仍将它说明为纯虚函数,否则编译器将给出错误信息。说明了纯虚函数的派生类仍是抽象类。

(4) 能声明虚析构函数。如果一个类的析构函数是虚函数,那么,由它派生而来的所有子类的析构函数也是虚函数。delete 运算符和析构函数一起工作,当使用delete 删除一个对象时,delete 隐含着对析构函数的一次调用,如果析构函数为虚函数,则这个调用采用动态联编。这样保证了基类类型的指针能够调用适当的析构函数针对不同的对象进行清理工作。

程序设计题(2)

//xt5_2.cpp //

应用实例

#include

#include

using namespace std;

class Shape { public: Shape(); void show(); virtual ~Shape(){} virtual float area()=0; virtual string shapename()=0; protected: string name; static int count; }; Shape::Shape() { cout<<"请输入";

count=count+1; } void Shape::show() { cout<<"第"<

为?<myw>>myh; w=myw; h=myh; } class Rectangle:public Shape { public: Rectangle(); ~Rectangle(){cout<<"Rectangle destructor is called"<<="" l,="" l*w;}="">

}; Rectangle::Rectangle() { float myl,float myw; cout<<"矩形的长和宽:"; cin >>myl>>myw; l=myl;w=myw; } class Circle:public Shape { protected: float radius; public: Circle();

~Circle(){cout<<"Circle destructor is called"<<>r; radius=r;} int Shape::count=0; int main()

{ Shape *s[4]; s[0]=new Triangle(); s[0]->show(); s[1]=new Rectangle(); s[1]->show(); s[2]=new Circle(); s[2]->show(); s[3]=new Circle(); s[3]->show(); float sum=total(s,4); cout<<"上述图形的面积和为:"; cout<

(1) 函数

(2) 非静态成员函数友员函数

(3) 少

(4) 对象的引用

(5) 整型

(6) 多

选择题(1)B (2)C (3) A (4)C

判断题(1)t (2) f (3) t (4) f

操作题(2) 提示:需要声明如下形式带默认值的构造函数:fraction(int x=0,int y=1); 需要定义一个成员函数去优化分数,如化简、不让负号在分母处等。参考代码如下:void

fraction::optimization() { int gcd,min,max; if(fenzi==0) {//如分子为0,则分母为1 后,返回fenmu=1; return; } gcd=(abs(fenzi)>abs(fenmu)?abs(fenmu):abs(fenzi)); if(gcd==0) return; //以下用辗转相除法求最大公约数if(abs(fenzi)>abs(fenmu)) { max=fenzi; min=fenmu; } else

{ min=fenzi; max=fenmu; } do { gcd=max%min; max=min; min=gcd; }while(gcd!=0); fenzi/=max; fenmu/=max;

if(fenzi<0&&fenmu<0) { fenzi=-fenzi; fenmu=-fenmu; } else if(fenzi<0&&fenmu>0)

{ fenzi=fenzi; fenmu=fenmu; } else if(fenzi>0&&fenmu>0) { fenzi=fenzi; fenmu=fenmu; }

if(fenzi>0&&fenmu<0) { fenzi=-fenzi; fenmu=-fenmu; } } (3) 提示:分数化简后再比较。//第六章例题:6.3 #include using namespace std; class complex { public: complex(double

r=0.0,double i=0.0); complex operator +(complex c); complex operator -(complex c); void display(); private: double real,imag; }; complex complex::(double )

第7 章习题答案

名词解释题

函数模板:一个带类属参数的函数。

类模板:一个带类属参数的类

模板函数:通过参数实例化可以再构造出具体的函数。

模板类:通过参数实例化可以再构造出具体的类。

填空题

(1) 函数模板类模板

(2) template

(3) class typename

(4) 类属参数类似

(5) 没有

(6) 类模板

(7) 顺序容器关联容器

(8) 输入迭代器输出迭代器前向迭代器双向迭代器

选择题

(1) A (2) A (3) AB (4) C (5) ABD

判断题(1) t (2) f (3) t (4) f (5) f

程序设计题(1)(xt7_1.cpp)(2)(xt7_2.cpp)

第8 章习题答案填空题(1) 流流类(2) 标准输入(3) cin cout cerr clog

随机访问迭代器

(4) fstream.h (5) ios 类的成员函数使用控制符(6) 顺序文件随机读写文件(7) 输入文件流输出文件流输入/输出文件流(8) 一个指定的文件(9) 0 (10) read write

选择题(1)B (2) A (3) BCD (4)C (5) A (6) C (7) AB (8) AD BC (9)D (10) B (11)A (12) BC (13) C (14)C (15)BCD (16) C

判断题(1) f (2) t (3)t (4)f (5) t (6) f

简答题(1) 从流类库的基本结构可以看到,ios 类是istream 类和ostream 类的基类,从ios 类公有派生istream 和ostream 两个类,而iostream 类通过多重继承istream 类和ostream 类而产生的。如果不将ios 类作为其派生类的虚基类,可能会产生二义性。

(2) 在文本文件中,每个字节存放一个ASCII 代码表示一个字符,文本文件的优点是可直接按字符形式输出,供人们阅读。二进制文件则是把数据的内部存储形式原样存放到文件中,这种文件的优点是与数据在内存中的存储形式保持一致,因此存储效率高,无须进行存储形

式的转换,但不能直接按字符形式输出。对于那些保存中间运算结果的临时工作文件,使用二进制形式较为合理。

程序分析题输出结果:Hello,students! Welcome you to oop! 程序设计题

(1)参考程序:#include class Fraction { public: Fraction(int x=0,int y=1); friend ostream& operator<<(ostream&,Fraction); private: int den; //分子int num; //分母}; Fraction::Fraction(int x,int y) { den=x; num=y; }

ostream& operator<<(ostream& os,Fraction fr) { os<

main()="" paginaadss?="" cout<<

第3章 面向对象程序设计基础

第3章面向对象程序设计基础

第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? 答:类是将一类事物的特性描述出来,然后如果用这个类来定义对象,则该对象就拥有了这个类所描述的所有特性。 在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合称为一个包,所有包合称为类库。 【2】如何定义方法?在面向对象程序设计中方法有什么作用? 答:方法的定义由两部分组成:方法声明和方法体。 方法的声明如下: 返回值类型方法名(参数类型形式参数1,参数类型形式参数2…){ 程序代码; 返回值; } 在面向对象程序设计中,方法的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) {

studentNo=no; studentName=name; return no; } 答:构造方法的功能是:构造方法是一个特殊的方法,主要用于初始化新创建的对象; 特点:构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 错误之处:(1)构造方法Student()前不能加void,(2)不能用return语句,(3)类名Student 首字母S改成小写s. 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 class Student { String id; String name; String sex; int age; void talk(){

(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

统计分析软件SPSS详细教程

10.11统计分析软件&SPSS建立数据 目录 10.11统计分析软件&SPSS建立数据 (1) 10.25数据加工作图 (1) 11. 08绘图解答&描述性分析: (3) 2.描述性统计分析: (4) 四格表卡方检验:(检验某个连续变量的分布是否与某种理论分布一致,如是否符合正态分布) (7) 第七章非参数检验 (10) 1.单样本的非参数检验 (11) (1)卡方检验 (11) (2)二项分布检验 (12) 2.两独立样本的非参数检验 (13) 3.多独立样本的非参数检验 (16) 4.两相关样本的非参数检验 (16) 5.多相关样本的非参数检验 (18) 第五章均值检验与T检验 (20) 1.Means过程(均值检验)( (20) 4. 单样本T检验 (21) 5. 两独立样本T检验 (22) 6.两配对样本T检验 (23) 第六章方差分析 (25) 单因素方差分析: (25) 多因素方差分析: (29) 10.25数据加工作图 1.Excel中随机取值:=randbetween(55,99) 2.SPSS中新建数据,一列40个,正态分布随机数:先在40那里随便输入一个数表示选择40个可用的,然后按一下操作步骤: 3.排序:个案排秩

4.数据选取:数据-选择个案-如果条件满足: 计算新变量: 5.频次分析:分析-统计描述-频率

还原:个案-全部 6.加权: 还原 7.画图: 11. 08绘图解答&描述性分析:1.课后题:长条图

2.描述性统计分析: (1)频数分析:

(2)描述性分析: 描述性统计分析没有图形功能,也不能生成频数表,但描述性分析可以将原始数据转换成标准化得分,并以变量形式存入数据文件中,以便后续分析时应用。 操作: 分析—描述性分析:然后对结果进行筛选,去掉异常值,就得到标准化的数据: 任何形态的数据经过Z标准化处理之后就会是正态分布的<—错误!标准化是等比例缩放的,不会改变数据的原始分布状态, (3)探索分析:(检验是否是正态分布:茎叶图、箱图) 实例:

面向对象程序设计教程答案

面向对象程序设计教程(C++吾言描述)题解与课程设计指导 面向对象程序设计概论 一、 名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公 共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的 单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对 象要求另一个对象实施某种操作的一个请求。 二、 填空题 ( 1) 目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种 重要的程序设计方法。 (2) 结构化程序设计方法中的模块由顺序、选择和循环 3 种基本结构组成。 ( 3) 在结构化程序设计方法中,程序可表示为程序 =数据结构 +算法; 而面向 对象的程序设计方法,程序可表示为程序 =对象 +消息。 ( 4) 结构化程序设计方法中的基本模块是过程; 而面向对象程序设计方法 中的基本模块是类。 ( 5) 面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、 选择题(至少选一个,可以多选) ( 1) 面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 ( 2) 面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制 叫做( C )。 A. 抽象 B. 继承 C. 封装 D. 多态 ( 3) 在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 ( 4) 面向对象程序设计中,对象与对象之间的通信机制是( C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与 C 语言的关系的描述中,(D )是错误的。 A. C 语言是C++勺一个子集 B. C 语言与C++是兼容的 C. C++对C 语言进行了一些改进 D. C++和C 语言都是面向对象的 【结果分析】 C 语言是面向过程的。C++吾言是一种经过改进的更为优化的 C 语言,是一种混 合型语言,既面向过程也面向对象。 ( 6) 面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依 存、不可分割的整体来处理。 A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象 第1

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

SPSS教程中文完整版

SPSS统计与分析 统计要与大量的数据打交道,涉及繁杂的计算和图表绘制。现代的数据分析工作如果离开统计软件几乎是无法正常开展。在准确理解和掌握了各种统计方法原理之后,再来掌握几种统计分析软件的实际操作,是十分必要的。 常见的统计软件有 SAS,SPSS,MINITAB,EXCEL 等。这些统计软件的功能和作用大同小异,各自有所侧重。其中的 SAS 和 SPSS 是目前在大型企业、各类院校以及科研机构中较为流行的两种统计软件。特别是 SPSS,其界面友好、功能强大、易学、易用,包含了几乎全部尖端的统计分析方法,具备完善的数据定义、操作管理和开放的数据接口以及灵活而美观的统计图表制作。SPSS 在各类院校以及科研机构中更为流行。 SPSS(Statistical Product and Service Solutions,意为统计产品与服务解决方案)。自 20 世纪 60 年代 SPSS 诞生以来,为适应各种操作系统平台的要求经历了多次版本更新,各种版本的 SPSS for Windows 大同小异,在本试验课程中我们选择 PASW Statistics 作为统计分析应用试验活动的工具。 1. SPSS 的运行模式 SPSS 主要有三种运行模式: (1)批处理模式 这种模式把已编写好的程序(语句程序)存为一个文件,提交给[开始]菜单上[SPSS for Windows]→[Production Mode Facility]程序运行。 (2)完全窗口菜单运行模式 这种模式通过选择窗口菜单和对话框完成各种操作。用户无须学会编程,简单易用。 (3)程序运行模式

这种模式是在语句(Syntax)窗口中直接运行编写好的程序或者在脚本(script)窗口中运行脚本程序的一种运行方式。这种模式要求掌握 SPSS 的语句或脚本语言。本试验指导手册为初学者提供入门试验教程,采用“完全窗口菜单运行模式”。 2. SPSS 的启动 (1)在 windows[开始]→[程序]→[PASW],在它的次级菜单中单击“SPSS for Windows”即可启动 SPSS 软件,进入 SPSS for Windows 对话框,如图,图所示。 图 SPSS 启动

面向对象程序设计课程设计

《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。

面向对象程序设计教程答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。

(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选) (1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是(C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,(D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

SPSS简明教程(绝对受用)

第一章SPSS概览--数据分析实例详解 1.1 数据的输入和保存 1.1.1 SPSS的界面 1.1.2 定义变量 1.1.3 输入数据 1.1.4 保存数据 1.2 数据的预分析 1.2.1 数据的简单描述 1.2.2 绘制直方图 1.3 按题目要求进行统计分析 1.4 保存和导出分析结果 1.4.1 保存文件 1.4.2 导出分析结果 希望了解SPSS 10.0版具体情况的朋友请参见本网站的SPSS 10.0版抢鲜报道。 例1.1 某克山病区测得11例克山病患者与13名健康人的血磷值(mmol/L)如下, 问该地急性克山病患者与健康人的血磷值是否不同(卫统第三版例4.8)? 患者: 0.84 1.05 1.20 1.20 1.39 1.53 1.67 1.80 1.87 2.07 2.11 健康人: 0.54 0.64 0.64 0.75 0.76 0.81 1.16 1.20 1.34 1.35 1.48 1.56 1.87 解题流程如下:

1.将数据输入SPSS,并存盘以防断电。 2.进行必要的预分析(分布图、均数标准差的描述等),以确定应采 用的检验方法。 3.按题目要求进行统计分析。 4.保存和导出分析结果。 下面就按这几步依次讲解。 §1.1 数据的输入和保存 1.1.1 SPSS的界面 当打开SPSS后,展现在我们面前的界面如下: 请将鼠标在上图中的各处停留,很快就会弹出相应部位的名称。 请注意窗口顶部显示为“SPSS for Windows Data Editor”,表明现在所看到的是SPSS的数据管理窗口。这是一个典型的Windows软件界面,有菜单栏、

《面向对象程序设计》课程实验指导书2

《面向对象程序设计》课程实验指导书 合肥学院计算机系

实验一 Java开发环境的安装与配置,熟悉Java程序 结构 一、实验目的: 1. 掌握JDK的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。 3. 熟悉Editplus(或notePad,JCreator)编辑环境,编写简单的程序,并 编译和执行。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量Path, Classpath设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 4. 写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示, 并给出解决办法。 四、实验步骤: 1.从https://www.doczj.com/doc/3916204146.html,上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Editplus(或 Textpad)环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.输出100以内的所有素数。 提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。 2.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前 20项和 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码。 3.编译运行程序,观察输出结果是否正确。 五、自主实验(选1题完成实验报告) 1. 将所输入之正整数,以二、八、十六进制表示出来。 提示: 可写三个方法分别计算输出二、八、十六进制表示。 2.用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。例如输入分子为6并且分母为12,那么输出结果为1/2。 3.编程,计算e=1+1/1! +2/2! +……+n/n!。要求e值精确到小数点第5位。

面向对象程序设计完整版

Object- Orien ted Programmi ng C++ 主讲成长生 东华大学计算机科学与技术学院

第一章概述 § 1.1 面向对象程序设计的基本思想 C++是基于C语言发展的,又冲破C语言局限的面向对象的程序设计语言。它与Java 语言都作为当前计算机科学的主流语言, 越来越受到用户的欢迎。 要弄清楚什么是面向对象的程序设计, 首先了解和回顾传统的 ( Pascal(或C))结构化程序设计方法及其设计思想、程序结构及特点。SP(Structure Programming)是60 年代诞生的针对当时爆发的所谓”软件危机” , 为此发展形成了现代软件工程学的基础。 SP的总的设计思想是: . 自顶向下、层次化 . 逐步求精、精细化 程序结构是按功能划分基本模块的树型结构, 使模块间的关系尽可能简单独立。因此SP的程序的基本特点是: . 按层次组织模块(战略上划分战役) . 每一模块只有一个入口, 一个出口 ?代码和数据分离(程序=数据结构+算法) 归纳得到: SP 把数据和过程(代码、函数)分离为相互独立的实体, 用数据代表问题空间中的客体借以表示实际问题中的信 息; 程序代码则用来处理加工这些数据。程序员在编程时 必须时刻考虑所要处理的数据结构和类型。对不同的数据格式即使要作同样

的处理计算, 或者要对相同的数据格式作不同的处理都必须编写不同的程序(如两个整型数和两个浮点数相加)。这样的编程方法,即传统的SP方法设计出来的程序或系统其可重用的成分很少。其次把数据和代码作为不同的分离实体时, 总存在着用错误的数据调用正确的程序模块, 或用正确的数据调用错误的程序模块的危险, 从而使数据与程序始终保持兼容, 已成为程序员 的一个沉重的负担。在开发一个大型软件课题中, 当工程进入到 后期若用户改变了方案要求, 很容易使技术人员的前期工作受到摧毁性的打击,使其前功尽弃。为克服以上的弊端或者该SP方法难以控制处理的矛盾而产生了面向对象程序设计方法, 即Object —Oriented Programming ----------- OOP从二十世纪六十年代提出对象 的雏形, 到七十年代美国国防部的专用语言Ada 语言, 直到当前国际上流行的高品味的Java 和C++(Tc++,Balandc++ 及Vc++), , 应该讲OOP方法与技术吸取了SP的一切优点,同时又正视和顺应现实世界由物质和意识二部分组成。映射到面向对象的解空间就是: 具体事物—对象; 抽象概念—类。 OOP的基本原理是用问题领域的模型来模拟大千世界,从而设计出尽可能直接、自然地表示问题求解方法的软件, 这样的软件由对象组成, 而对象则是完整反映客观世界事物具有不可分割的静态属性(”数据结构” )与动态行为(”方法” )的。而且它们是既有联系又

C面向对象程序设计课程设计报告

《C++面向对象程序设计》课程设计报告题目:分数计算器设置 班级: K0312415 专业:计算机科学与技术 学号: 姓名:周林 指导教师: 小组成员:周林,张齐满 二O一三年 10 月 15 日

一、课程设计问题描述 分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论, 要求设计的管理系统能够完成以下功能: (1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。 (2)输入/输出:对流提取和流插入运算符进行重载。 (3)计算功能:可进行分数的加、减、乘和除法运算。 (4)化简功能:将分数化简为最简分数。 (5)异常处理功能:分数中分母不能为零。 (6)菜单功能:每种功能的操作都是在菜单中进行相应选择。 二、课程设计目的和要求: 经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。 三、系统设计(算法分析) 1、系统由5功能,可分别执分数的.加法运算,减法运算,.乘法运算和除法运算,还可以将分数化简。 1.加法运算可计算两个分数相加。 2.减法运算可计算两个分数相减。 3.乘法运算可计算两个分数相乘。 4.除法运算可计算两个分数相除。 5.化简运算可计算一个分数化简。 2、流程图

3、分数计算器设置各函数的功能和实现的相关功能由对应的函数来实现。 (1)函数jia() (2)函数jian() (3)函数cheng()实现分数乘法运算。 (4)函数chu()实现分数除法运算。 (5)函数shuchu()实现分数的输出和化简。 四、程序源代码 pp : Defines the entry point for the console application.

C++面向对象程序设计课程设计报告

. 课程设计 课程名称C++面向对象程序设计题目名称公司人员管理系统 专业班级13级计算机科学与技术一班学生林涛、甑德胜、梁增辉 吴志伟、齐、江靖 学号51302011015、51302011016、51302011001 51302011037、51302011006、51302011009指导教师郭有强 二○一四年六月二十日

目录 一、引言 (2) 二、课程设计报告 (4) 1、问题描述 (4) 2、系统总体方案 (4) 3、设计思路和主要步骤 (5) 4、各功能模块和流程图 (5) (1)各功能模块 (5) (2)流程图 (6) 三、系统测试 (9) 四、心得体会 (15) 五、参考文献 (17) 附:程序设计代码 (18)

一、引言 1985年,管理信息系统的创始人,高登?戴维斯给出的管理信息系统的定义是:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户一机器系统。它能提供信息,支持企业或组织的运行、管理和决策。”这个定义说明了管理信息系统的组成要素:计算机硬件、软件、数据库、模型库和用户。 随着我国社会的不断进步,人们对管理信息系统越来越重视,再加之管理信息系统在管理方面所产生的巨大影响,也使得人们越来越关注管理信息系统的发展趋势。由于管理信息系统的发展受到以上各种变革因素的制约,传统的管理信息系统必然向现代管理信息系统发展,在这个发展过程中,管理信息系统的发展将会呈现出以下趋势: 管理信息系统将会越来越注重以人为本。管理科学的发展有科学管理理论、行为管理理论和现代管理理论三个发展阶段,正在向着越来越人性化的方向发展,即以人为本。基于管理学的这一研究视角,管理信息系统也将向着更加人性化的方向发展。在今后的管理信息系统中将会越来越注重人的因素,以人为出发点和中心,围绕着激发和调动人的主动性、积极性、创造性展开的,以实现人与社会共同发展的一系列管理活动。而且这种人性化还会贯穿于管理信息系统的开发设计与研究中,具体表现为今后的管理信息系统将具有更加友好的人机界面,易于人们操作,也会考虑到不同用户的不同需求,更加个性化。 管理信息系统向智能化方向发展。随着人工智能技术的发展,数据仓库、数据挖掘技术在管理信息系统中的应用,管理信息系统必将向着智能化方向发展,如产生了很多的决策支持系统、专家系统等等。智能化的管理信息系统具有思维模拟活动,它具有很高的自学习、自组织和进化性,并具有知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导,在体系上将是大规模分布式计算模式,以基于网络神经元构件的智能网为主。 管理信息系统向集成化方向发展。随着当前系统集成技术的提高,集成技术和方法也逐步地运用到管理信息系统中。由于管理信息系统将包含多个子系统,因此将这些功能集合在一起以便更好地发挥它的作用,这就是集成化的管理信息系统。集成化的管理信息系统将管理信息系统的各个子系统有机地结合起来,达到互通信息、共享数据资源的目的,其支撑技术是数据库和计算机网络。集成管

面向对象程序设计教程 (马石安版)

第 1 章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题(1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为:程序=对象+消息在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。 (3) 结构化程序设计方法中,把数据结构和算法分离为相互独立的实体。在面向对象程序设计中,数据结构和算法是封装在一起,结合成一个独立的单位,即对象,并尽可能隐蔽对象的内部细节。对象的私有属性只能由这个对象的行为来读取和修改,与外部的联系通过公有行为充当外部接口。 第 2 章习题答案

方正书版排版命令

方正书版排版命令 1.阿克生注解(AK) 2.标题定义注解(BD) 3.标点符号注解(BF) 4.表格注解(BG) 5.表行注解(BH) 6.背景注解(BJ) 7.边栏注解(BL)8.边码注解(BM)9.不排注解(BP) 10.表首注解(BS) 13.版心注解(BX) 16.长度注解(CD) 19.彩色注解(CS) 22.参照注解(CZ) 25.单眉注解(DM) 28.对位注解(DW) 31.方程注解(FC) 34.方框注解(FK) 37.反应注解(FY) 40.改宽注解(GK) 43.割注注解(GZ) 46.行列注解(HL) 49.汉体注解(HT) 52.行中注解(HZ) 55.加底注解(JD) 58.基线注解(JX)11.标题注解(BT)

17.撑满注解(CM) 20.词条注解(CT) 23.顶底注解(DD) 26.对齐注解(DQ) 29.单页注解(DY) 32.方程号注解(FH) 35.分栏注解(FL) 38.勾边注解(GB) 41.改排注解(GP) 44.行距注解(HJ) 47.行齐注解(HQ) 50.画线注解(HX) 53.界标注解(JB) 56.角键注解(JJ) 59.居右注解(JY)12.边文注解(BW)15.长扁字注解(CB) 18.插入注解(CR) 21.粗细注解(CX) 24.对开注解(DK) 27.段首注解(DS)

33.繁简注解(FJ) 36.分区注解(FQ) 39.表格跨项对位(GD) 42.表格跨项位标(GW) 45.行宽注解(HK) 48.行数注解(HS) 51.行移注解(HY) 54.加底注解(JD) 57.紧排注解(JP) 60.居中注解(JZ) 61.外挂字体别名定义(KD)62.开方注解(KF)63.空格注解(KG)64.空行注解(KH)65.空眉注解(KM)66.空心注解(KX) 67.邻边注解(LB)68.连到注解(LD)69.六角环注解(LJ) 70.另栏注解(LL)71.另面注解(LM)72.另区注解(LQ) 73.相联始点注解(LS)74.立体注解(LT)75.相联终点注解(LZ)76.自动目录定义(MD)77.目录注解(ML)78.眉眉注解(MM)79.多页分区注解(MQ)80.书眉说明注解(MS)81.民体注解(MT)82.自动目录登记(MZ)83.页号注解(PN)84.插入EPS注解(PS)85.拼音注解(PY)86.前后注解(QH)87.全身注解(QS) 88.倾斜注解(QX)89.日文注解(RW)90.书版注解(SB)

面向对象程序设计课程设计报告

学生课程实验报告书 14 级计算机与信息科学系系 软件专业 1401 班 学号 3148907101 姓名钟媛媛 学号 3148907107 姓名蔡丽萍 2015 --2016 学年第 2 学期实验项目: 模拟实现银行ATM自动取款机系统 实验时间: 2016.5 实验内容: 一、课程设计的目的 1、掌握面向对象编程的思想和方法; 2、熟悉C++项目开发代码风格; 3、理解项目需求,划分项目模块,学会设计数据库或数据结构及接口; 4、掌握C++编程调试的基本技能; 5、掌握项目实现流程。 二、具体内容 模拟实现银行ATM自动取款机系统。系统主要功能: (1)客户登录 (2)余额查询 (3)取款 (4)转账 (5)借存记录查询 1 项目分析

了解项目应用领域的ATM流程、操作规范,明确项目需求、确定项目功能。 1.1功能描述 画出功能结构图,介绍系统中各模块的主要功能。 1.2 ATM流程 画出系统ATM流程图。 1.3数据库设计 根据系统数据需求,进行数据库概念设计、数据表设计。用户信息表: 1.4功能模块分 记 录 查 询 record id name states zmoney 记录查询

介绍系统的功能模块设计思路,画出模块工作流程图。 2 项目实现 使用C++编程实现项目。 2.1 功能模块设计 系统中各类关系图,类的设计(类的定义)。 class ATM { public: int withdraw();//取款 void zhuan();//转账 void balance();//余额查询 int interfac();//登陆 int menu1();//菜单 void record_info();//记录查询 public: string name;//用户名 string number;//账号 float money;//余额 string password;//密码 }; 2.2 项目实现 系统中各类的实现(各类成员函数的实现)。 void ATM::record_info()//记录查询 { HRESULT hr=db.Connect("(local)","ATMinfo","li","123","1433"); //链接数据库 cout<<"---------------------------------"<>number; string sql="select * from record where id ='"+number+"'"; RECORDSET rs=db.JExecuteWithRecordset(sql); while(rs->rsEOF) { cout<<"---------------------------------"<>number; sql="select * from record where id ='"+number+"'"; rs=db.JExecuteWithRecordset(sql); } while(!rs->rsEOF) { cout<<"*********************************"<

面向对象程序设计考前复习题及答案

简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: ( 1) 这种程序设计方法力求算法描述准确。 ( 2) 对每一子过程模块容易进行程序正确性证明。 缺点: ( 1) 这种程序设计方法本质上是面向”过程”的, 而”过程”和”操作”又是不稳定和多变的, 因此不能直接反映人类求解问题的思路。 ( 2) 程序代码可重用性差。程序中除少数标准库函数外, 每设计一个程序时, 程序员几乎从零做起。即使重用代码, 一般也是经过拷贝或编辑重新生成一份。 ( 3) 维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性( Attribute) 和方法( Method) 这两方面的特征。对象的属性描述了对象的状态和特征, 对象的方法说明了对象的行为和功能, 而且对象的属性值只应由这个对象的方法来读取和修改, 两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中, 由于对象描述了客观实体, 它们

之间的联系经过对象间的联系来反映。当一个对象需要另外一个对象提供服务时, 它向对方发出一个服务请求, 而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。 4、什么是多态性? 所谓多态性是指当程序中的其它部分发出同样的消息时, 按照接收消息对象的不同能够自动执行类中相应的方法。其好处是, 用户不必知道某个对象所属的类就能够执行多态行为, 从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中, 将”对象”作为系统中最基本的运行实体, 整个程序即由各种不同类型的对象组成, 各对象既是一个独立的实体, 又可经过消息相互作用, 对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? ( 1) OOP以”对象”或”数据”为中心。由于对象自然地反映了应用领域的模块性, 因此具有相对稳定性, 能够被用作一个组件去构成更复杂的应用, 又由于对象一般封装的是某一实际需求的各种成分, 因此, 某一对象的改变对整个系统几乎没有影响。

方正书版软件排版化学结构式的方法

龙源期刊网 https://www.doczj.com/doc/3916204146.html, 方正书版软件排版化学结构式的方法 作者:叶淑芳 来源:《开心素质教育》2014年第06期 【摘要】化学类书刊因涉及到化学结构式的编排,较其他类的书刊排版更为复杂。本文 结合化学结构式相关书写规范,以实例的方式介绍了利用方正书版软件编排链状化学结构式和环根化学结构式的方法。 【关键词】化学结构式书版规范 化学类书刊的编排,较其他类型的书刊,如语文类、物理类、生物类等,一直以来都被出版社制版部门公认排版更为复杂,难度更大。目前,在化学领域,无论是教材,还是论文,甚至包括专业的化学类词典、手册等工具书,凡是涉及到化学式的书写等方面往往都存在一些不规范的表示。究其原因,主要有以下几点:一是很多排版人员和校对人员非化学专业,不清楚化学结构式中的键号不能与数学符号混用,这就使得编排过程中遇到键号时出错的可能增大,校对过程中也不易发现;二是有些排版人员所使用的排版软件不具备专业的化学式排版功能,比如没有化学式中规范的键号输入,不具备五元杂环、六元杂环等复杂结构式的输入功能,只能编排一些简单的化学式。 化学键的键形是结构式中常用的符号,用于各原子或官能团的连接,可分为单键(默认)、双键(LX)、叁键(SX)、虚线键(XX)、虚实键(XS)、曲线键(QX)、三角键(SJ)、箭头键(JT)和点线键(DX);而键的方向可以分为上(S)、下(X)、左(Z)、左上(ZS)、左下(ZX)、及右(Y)、右上(YS)、右下(YX)。这些键号及其不同方向的键号很容易与其他类似符号混淆。如单键“ ”很容易与数学符号的减号“-”混淆,双键“ ”容易与等号“=”混淆,分枝键“ ”容易与大于号和小于号“〉〈”混淆,反应号“ ”容易与箭头“→”混淆等。采用数学符号编排出来的化学式均被认为不规范,规范的化学式中,化学键与元素之间应该是没有距离的,但如采用了数学符号,数学符号与元素之间则会出现距离,如正确的化学式为:,如果用减号“-”和等号“=”替代化学键,化学式为H2C=CH-CH3。因此,在化 学类书刊的排版中不能用数学符号代替结构式中的化学键。 使用方正书版排化学类书刊时,无论是排链状结构式还是环状结构式,所有化学结构式的有关注解都要在结构注解(JG)中使用,即所排的化学式结构均需列入〖JG(〗〖JG)〗之中。而对于链状结构式(普根结构式)一般采用〖ZJ〗(字键)进行排版,而环根结构式采用〖JJ〗(角键)排版,其中最易出错的是字键结构。 1.链状结构式(普根结构式)的编排 小样文件:

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