当前位置:文档之家› 《程序设计基础综合实验》讲义

《程序设计基础综合实验》讲义

《程序设计基础综合实验》讲义
《程序设计基础综合实验》讲义

《程序设计基础综合实验》

一、设计与实现 (难度系数:1)

1.问题描述

图书管理信息系统实现图书馆馆藏图书的信息管理与图书借阅。图书管理信息系统包括用户管理、读者管理、图书管理、图书流通功能。

2.整体要求

该系统应具有合理的界面设计,并易于操作;

编码风格良好;

该系统用控制台程序即可实现;

编程语言为C语言,编程环境为VC++ 6.0

3.设计要求

登录系统时,要求用户输入用户名与密码,用户名与密码无误方可使用系统,最多可以尝试三次。用户分为:普通读者、图书管理员、系统管理员三种。

(1)普通读者只能使用“用户管理子系统”中“用户密码修改”功能和“图书管理子系统”中“图书信息查询”功能;

(2)图书管理员只能使用“图书管理子系统”和“图书流通管理子系统”;

(3)系统管理员只能使用“用户管理子系统”和“读者管理子系统”。

图书管理信息系统包括:用户管理、读者管理、图书管理、图书流通管理这四个子系统。“图书管理信息系统”主菜单要求包含如下选项:

**********************************

1.用户管理

2.读者管理

3.图书管理

4.图书流通管理

5.退出系统

***********************************

要求在选择退出功能之前,可以反复选择系统的各项功能使用系统。

1)用户管理子系统:

应包括用户信息输入、用户信息修改、用户信息删除、用户信息显示、用户密码修改等功能。其中“普

通读者”只能使用“用户密码修改”功能。

“用户管理”菜单要求包括如下选项:

*******************

1. 用户信息输入

2. 用户信息修改

3. 用户信息删除

4. 用户信息显示

5. 用户密码修改

6. 返回主菜单

*******************

“用户管理子系统”要求用文件与链表实现。

2)读者管理子系统:

应包括读者信息输入、读者信息修改、读者信息删除、读者信息按名查询等功能。

“读者管理”菜单要求包括如下选项:

*******************

1. 读者信息输入

2. 读者信息修改

3. 读者信息删除

4. 读者信息查询

5. 读者信息显示(按读者姓氏排序)

6. 返回主菜单

*******************

“读者管理子系统”要求用文件与链表实现。

3)图书管理子系统:

至少应包括图书信息输入、图书信息修改、图书信息查询、汇总统计等功能。其它功能(如图书订阅、图书编目、新书通报等功能)可根据自身情况酌情实现。

“图书管理”菜单至少要求包括如下选项:

*******************

1. 图书信息输入

2. 图书信息修改

3. 图书信息查询

4. 汇总统计

5. 返回主菜单

*******************

普通用户只能使用其中的图书信息查询和图书数目统计功能(功能3和功能4),当普通用选择其它功能时应告知不能使用。

如果在“图书管理”的菜单中选择了“3. 图书信息查询”,系统应提示如下子菜单:

*******************

1. 按书号查询

2. 按书名查询

3. 按作者查询

4. 按出版社查询

5. 返回主菜单

*******************

“图书管理子系统”要求用文件和顺序表实现。

4)图书流通管理子系统:

至少应包括借书处理和还书处理功能。其它功能(如预约处理、逾期处理等功能)可根据自身情况酌情实现。普通用户只能使用预约处理功能。

“图书管流通理”菜单至少要求包括如下选项:

*******************

1. 借书处理

2. 还书处理

3. 返回主菜单

*******************

“图书流通管理子系统”要求用文件和顺序表实现。

(3)要求建立如下文件:

1)建立用户文件,包括用户的如下信息:

用户名(可用读者号)、用户密码、用户类型

用户类型可分为:管理员、图书管理员和普通用户。管理员可以使用系统的所有功能,普通用户只可以查询图书及借阅情况。

2)建立读者文件,包括读者的如下信息:

读者号、读者名、单位、联系方式、可借书数、已借书数

3)建立与图书有关的如下文件。

●图书主文件,包括图书的如下信息:

记录号、书号、书名、作者、出版社、藏书量、借出数、指针1、指针2、

指针3

图书主文件可以按主关键字(书号)有序或无序。

●书号(主关键字)索引表,必须按书号有序。该索引表包括如下信息:

书号、该书号对应记录在主文件中记录号

●书名(次关键字)索引表,包括如下信息:

书名、链头指针、长度

●作者(次关键字)索引表,包括如下信息:

作者、链头指针、长度

●出版社(次关键字)索引表,包括如下信息:

出版社、链头指针、长度

图书主文件和三个次关键字索引表的样例分别如表1至表4所示。

表1 图书主文件

记录号书号书名作者出版社藏书量借出数指针1指针2指针3

1 1021 数据库杨艳人民邮电10 8 0 0 0

2 1014 数据结构赵鹏高等教育9 7 0 0 0

3 1106 操作系统金虎人民邮电8 6 0 0 1

4 1108 数据结构高扬清华大学7

5 2 0 0

5 1203 程序设计杨艳高等教育9 4 0 1 2

6 2105 数据库金虎清华大学

7 3 1 3 4

7 1012 数据结构杨艳人民邮电8 2 4 5 3

8 0109 程序设计赵鹏清华大学9 1 5 2 6

表2 书名次关键字索引表

书名链头指针长度

数据库 6 2

数据结构7 3

操作系统 3 1

程序设计8 2

表3 作者次关键字索引表

作者链头指针长度

杨艳7 3

赵鹏8 2

金虎 6 2

高扬 4 1

表4 出版社次关键字索引表

出版社链头指针长度

人民邮电7 3

高等教育 5 2

清华大学8 3

4)建立借还书文件,包括如下信息:

读者号、书号、借书日期、还书日期

4.设计思想

下面将给出一些核心算法的设计思想。

(1)“登录系统”算法的设计思想

打开“用户文件”,读入文件内容,建立相应的链表。请用户输入用户名及密码。若用户名或密码输入不正确,最多允许尝试三次。用户名与密码输入正确时,记住当前用户类型。

当该用户为图书管理员时,打开“图书主文件”及所有的“索引表文件”,分别将文件内容读入相应的一维数组中,打开“借还书文件”,建立相应的链表,打开“读者文件”,建立相应的链表;当该用户为系统管理员时,打开“读者文件”,读入文件内容,建立相应的链表;当该用户为普通读者时,打开图书主文件及所有的索引表文件,分别将文件内容读入相应的一维数组中,并关闭所有打开的文件。

普通读者只能选“用户管理”功能项中“用户密码修改”子功能和“图书管理”功能项中“图书信息查询”子功能;图书管理员只能选“图书管理”和“图书流通管理”功能项;系统管理员只能选“用户管理”和“读者管理”功能项。需要根据用户类型显示相应的菜单,请用户选择功能项。

当退出系统时,需将各个链表和数组中的内容写回相应的文件。

(2)“图书信息输入”算法的设计思想

在输入图书信息时建立图书主文件,在图书主文件中记录号从1开始。根据设计要求,在建立图书文件的同时,需要建立一个主关键字(书号)索引表。索引表按书号升序排列(用插入排序法),索引表可以先在内存中用一维数组实现,最后再将相应内容一并写入(外存)文件。

根据设计要求,图书文件除了主关键字(书号)索引表外,还需要建立书名、作者、出版社三个次关键字索引表。次关键字索引表可采用头插法建立,具体做法是:根据一个主文件的记录,将要建立索引的次关键字与对应的次关键字索引表中的次关键字(如书名、作者、出版社)进行比较,若有相等的,就将主文件中的相应指针修改为索引表中的当前链头指针,并修改相应索引表中的链头指针为当前主文件的记录指针(即记录号),同时将长度加1;若没有相等的,就将主文件中的相应指针置为0,并在相应次关键字索引表中增加与该次关键字相关的一条记录,该记录的链头指针置为当前主文件的记录号,而将长度置为1。

(3)“图书信息查询”算法的设计思想

按书号查询时,由于图书文件已按书号建立了索引表,该索引表是按书号有序的,因此,在该索引表中可采用二分查找算法。

按书名查询时,先顺序查找书名次关键字索引表,找到相应的书名,取到该书名链头指针后,再回到图书主文件中顺链依次找出所有具有该书名的书。

按作者和出版社查询时,与按书名查询方法类似。

(4)“借书处理”算法设计思想

图书管理员输入读者号、书号、借书日期。系统检查读者是否为合法读者,若不是,显示提示信息,并返回;若是,则进一步检查读者借书数量是否超出限额。若超出,给出提示信息,并返回;若未超出,检查书号是否合法,若书号非法,给出提示信息,并返回;否则,继续检查该号图书是否已全部借出,若是,给出提示信息,并返回,否则,将借书文件记录数加1,借书文件追加1条相关记录,读者借书数加1,图书借出数加1,并提示借书成功。

(5)“还书处理”算法设计思想

图书管理员输入读者号、书号、还书日期。系统根据读者文件检查读者是否为合法读者,若不是合法读者,显示提示信息,并返回。否则,在借还书文件中检查书号是否合法,若书号非法,给出提示信息,并返回。否则,在图书文件中再检查书号是否合法,若非法,给出提示信息,并返回。否则,在“读者文件”中将该读者的借书数减1,在“图书文件”中修改借出数,在“借还书文件”中填入还书日期。

5.评价标准

本设计是一个比较综合的练习,用到顺序表、链表、静态链表、文件、排序、查找、字符串操作等方面的知识。本课程的主要目的是培养学生的综合设计能力、编程与调试能力。评分标准如表5所示。

表5 评分表

项目所占分值得分依据得分

登录系统10 使用“用户名”与“密码”登录系统,根据用户类型打开相关文件,建立相应的链表或数组。

显示主菜单,并根据用户类型正确实现主菜单各个选项的跳转功能。

用户管理15 子系统菜单(2分)

用户信息输入(2分)用户信息修改(2分)用户信息删除(2分)用户信息显示(2分)用户密码修改(2分)完成质量与速度(3分)

读者管理15 子系统菜单(2分)

读者信息输入(2分)读者信息修改(2分)读者信息删除(2分)读者信息查询(2分)读者信息显示(2分)完成质量与速度(3分)

图书管理20 子系统菜单(2分)

图书信息输入(2分)

图书信息修改(2分)

图书信息查询功能共9分,其中:汇总统计(2分)

完成质量与速度(3分)

图书流通管理10 子系统菜单(2分)

借书处理(3分)

还书处理(3分)

完成质量与速度(2分)

总体表现10 根据完成附加功能情况、系统总体运行情况、完成的质量(包括算法的正确性、算法的复杂性、容错性、界面友好等因素)可酌情加分。

旷课1次扣3分,缺勤1次扣1分。

报告20

总分100

二、学生信息管理系统模拟(难度系数0.8)

1.整体要求

该系统应具有合理的界面设计,并易于操作;

编码风格良好;

该系统用控制台程序即可实现;

编程语言为C语言,编程环境为VC++ 6.0。

2. 存储结构设计

设计学生结构体。

3. 编程要求

(1)结构体设计

学生结构体包含:学号、姓名、性别、英语成绩、C语言成绩。

(2)存储结构要求

在实现各个模块的功能时,根据该模块的具体要求确定存储结构。

4. 菜单(界面)设计

编程实现系统的菜单

(1)“登陆”菜单

1----------用户登陆

0----------退出系统

(2)主菜单样式如下:

1----------学生信息录入

2----------学生信息浏览

3----------学生信息查询

4----------学生信息删除

5----------学生成绩统计

0----------退出系统

5. 功能和函数设计要求

任务

通过函数完成各个菜单模块的功能,要求合理设计主函数和各个子函数,合理设计各个函数之间的调用关系。

编程要求

1.主函数:显示主菜单。

2.如果设计并编写登陆菜单,要求合理设计登陆界面,要求用户输入用户名和密码,如果全都正确则进入主菜单,

如果有一项不对,系统再提供两次机会输入,三次都错退出系统。编写函数完成“学生录入”功能,要求能将用户由键盘输入的若干学生信息追加到student.txt或student.dat中,存储结构可以使用数组,也可以使用链表。

3.编写函数完成“学生浏览”功能,要求能将student.txt或student.dat文件中的全部学生信息显示出来,存

储结构可以使用数组,也可以使用链表。

4.编写函数完成“学生查询”功能,要求能按照学号或姓名对学生进行查询。

5.编写函数完成“学生删除”功能,要求按照学号或姓名将某个学生删除,并将删除后的结果写回到文件中,此

功能要求存储结构必须使用链表。

6.设计并编写编写函数完成“成绩统计”功能,可以对“英语成绩”、“C语言成绩”进行单科浏览(降序排列),

按某个学生统计总分和平均分,按英语和C语言两科成绩对学生进行排序。

6.评价标准

表6 评分表

项目所占分值得分依据得分

登录系统10 使用“用户名”与“密码”匹配检查,如果有一项不对,系统再提供两次机会输入,三次都错退出系统。

学生信息录入10

要求提示清晰,界面友好!

学生信息浏览 5

要求输出所有学生信息!

学生信息查询10

要求可以根据学号和姓名分别查询!

学生信息删除15 要求按学号输出,存储结构必须使用链表!没有使用链表扣除5分。

学生成绩统计20 按C语言成绩统计5分,按英语成绩统计5分,按总分分段统计5分,按总分输出成绩单5分。

总体表现10 根据完成功能情况、系统总体运行情况、完成的质量(包括算法的正确性、算法的复杂性、容错性、用户友好等因素)及代码书写的规范程度酌情给分。所有输出必须以表格的形式输出!

旷课1次扣3分,缺勤1次扣1分。

报告20

总分100

说明:每个学生可以任选一个系统来完成此次实验。如选系统一,根据表5中的各项得分加上报告的分数即为最终分数。如选系统二,根据表6中的各项得分加上报告分数再乘以0.8为最终得分。报告的格式要求后续提供!

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

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

(完整版)自考-04757信息系统开发与管理历年真题及答案(总5套)

全国2012年10月自考信息系统开发与管理试题(试卷1) 课程代码:04757 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.以下信息系统属于战略型管理信息系统的是D A.综合查询系统 B.统计分析系统 C.报表报告系统 D.制订计划系统 2.非结构化决策的特点是A A.问题不易确定 B.信息来自企业内部 C.模型容易描述 D.用于短期局部决策 3.以下关于信息属性的描述,正确的是D A.信息不具层次性 B.信息具有可消耗性 C.信息不可压缩性 D.信息具有可转化性 4.以下关于信息与决策的关系,正确的是A A.决策过程就是信息处理过程 B.决策信息的数量越多越好 C.不同层次决策需要相同信息 D.高层决策只需结构化信息 5.管理信息系统开发的出发点是A A.系统开发目标 B.系统开发策略 C.系统开发方法 D.系统开发绩效 6.管理信息系统开发中一项最重要的基础工作是收集、整理、规范B A.企业运营数据 B.企业基础数据 C.企业环境数据 D.企业决策数据 7.结构化分析方法解决复杂问题的两个基本手段是C A.分解、具体化 B.集成、具体化 C.分解、抽象 D.集成、抽象 8.当前管理体制下企业是否能提供新系统开发必须的基础数据,在可行性分析中属于CA.技术可行性 B.经济可行性 C.管理可行性 D.开发环境可行性 9.属于系统分析任务的有A A.详细调查收集和分析用户需求 B.建立过程数据类矩阵 C.设计信息系统总体结构 D.确定系统建设目标 10.负责拟定公司中长期发展规划、经营方针、资本经营规划和方案的管理层是A

JAVA语言与面向对象程序设计课后习题答案

第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。

面向对象程序设计复习资料

1.对象 (1)从概念层面讲,对象是某种拥有责任的抽象。 (2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口。 (3)从语言实现层面讲,对象封装了代码和数据。 2.软件开发中的经典阶段:需求、分析、设计、规范、实现、测试、部署、维护。 3.设计7原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、 迪米特原则、接口隔离原则、单一职责原则。 4.面向对象的方法学:UML(统一建模语言)、RUP(统一软件开发过程)、XP(极限编程)。 开发方法:Booch、Coad、OMT、UML、OOSE、Wirfs—Brock 5.OOA——运用面向对象方法进行需求分析。 OOD——运用面向对象方法进行系统设计。 OOP——运用面向对象方法进行程序设计。 6.OOA的基本任务:是运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。最终目的:是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明。 优点:(1)加强了对问题域和系统责任的理解。(2)改进与分析有关的各类人员之间的交流。 (3)对需求的变化具有较强的适应性。(4)支持软件复用。 OOA的三大策略是:属性策略、方法策略、对象策略。 7.(1)封装:是指对象在其操作中隐藏属性。它是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分开,使对象的定义和实现分开。 例如:要从同事那里借钱,在商店购买食物,就不会抢夺同事的钱包,大翻一通,看看里面是否有足够的钱。而应该询问他们是否可以借你一些钱,他们就会自己翻钱包。 以表示圆的一个对象作为封装的例子。圆的操作应能计算出半径、直径、周长和面积。假定选择存储直径,要访问直径的程序员都会选择存储直径属性,而不是通过“获取直径”的操作来访问。如果在软件的后续版本中要存储的是半径,就必须找出系统中直接访问直径的所有代码,并更正它们,有了封装,就不会有问题。 (2)继承:可以指定类从父类中获取一些特性,再添加它自己的独特特性。继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承父类的属性和操作,也可以对父类中的操作重新定义其实现方法。 例如:在面向对象中,我们可以把洗衣机、电冰箱、微波炉、收音机看成是家用电气类的子类,也可以说家用电器类是这些类的超类。家用电器类具有的属性OnOffSwitch和electricWire,具有turnOn()和turnOff()操作。因此,如果你知道某物是家用电器,那么就会立即知道它具有家用电器类的属性和操作,这种关系就是继承。每个家用电器类的子类都继承了家用电器类的特征。同时,每个子类都增加了自己的属性和操作。 (3)多态:是指同一操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。例如:“画”操作,作用在“矩形”对象上,则在屏幕上画一个矩形;作用在“圆”对象上,则在屏幕上画一个圆。也就是说,相同操作的消息发送给不同对象时,每个对象将根据自己所属类中定义的这个操作方法去执行,从而产生不同的结果。 6.RUP(统一软件开发过程):是一个面向对象且基于网络的程序开发方法论。RUP好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。

第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(){

SGP-I型偏振光实验系统说明书

1规格与主要技术指标 1.1 规格 计算机与操作软件1套 格兰棱镜2块 1/2波片(632.8nm) 1片 1/4波片(632.8nm) 1片 三维调节架2套 二维调节架2套 底座9套 由步进电机控制的调节架3套 光电接收系统2套 分束器1片 氦氖激光器(包括电源)1套 1.2 主要技术指标 所有调节架光学中心高度200mm 步进电机控制的调节架任意旋转角度,精度0.05° 氦氖激光器和电源波长632.8nm 、功率≥1.5 mW 2工作原理 2.1 实验用光源 光源采用氦氖激光光源,这种光源具有很好的单色性,波长为632.8nm。 2.2 偏振器 偏振器从工作原理上可分为三大类:(1)利用反射和折射产生线偏振光的原理制成的各种偏振分光镜;(2)由双折射晶体制成的各种偏振棱镜;(3)由二向色性透光材料制成的偏振片。当偏振器用来将自然光转换成线偏振光时通常被称之为起偏器,而偏振器被用来检验偏振光时又被称之为检偏器。本实验采用格兰棱镜做偏振器。 波片波片是相位延迟器的一种,是由双折射材料制成的一种光学元件,本实验采用石英晶体材料制作的偏振片,其性能稳定。 2.3 原理 光的偏振现象比光的干涉和衍射更为抽象,若不借助于专门的器件和方法,人的眼睛和光学接收器无法鉴别光的偏振特性,为适应大学基础实验要求,我公司特设计了一套用于偏振光实验的实验系统,该系统的测量内容包括两部分:一是对用做起偏和相位延迟器件本身的工作参数进行标定测量,二是利用偏光器件对光的偏振性质进行测量和鉴别。 偏振光实验,将光电接收的电信号经A/D变换进入计算机进行处理,实验中通过测量光强分布来确定偏振光的偏振态。 用光电器件探测偏振光时,应注意的一个问题是:几乎所有的光电器件都具有偏

自考管理信息系统复习资料

管理信息系统 一、单选题 1、信息的中心价值是客观性 2、现代信息系统是一个人造系统,不包括手工管理系统 3、计划,组织,领导都是管理的基本职能,还有一个基本职能是控制 4、DSS解决的是半结构化问题和非结构化问题 5、信息系统对控制职能的支持的基本任务是使计划在实际执行过程中不偏离目标,其中库存控制、财务控制属于控制功能的哪个层次支持作业控制 6、把数据组织成链表、树等是数据内存结构 7、顺序数据组织不适合下列的情况只要求从很多记录中处理少量记录的情况 8、直接存取文件的特点是其记录没有排序 9、在数据库设计中,根据用户要求,一般先建立能反映不同实体间存在的各种联系。如果一个柜台可以销售多种商品,一种商品可由多个柜台销售,那么柜台和商品之间的这种联系类型是M:N 10、管理信息系统的最下层是业务处理系统 11、对应于管理任务的层次结构,管理信息系统的层次数是3 12、在开发管理信息系统应用项目的生命周期法中,在进入实质性的应用系统开发之前,必须进行可行性分析 13、可行性分析报告的内容不包括系统的逻辑模型 14、在系统分析过程中,一般用来描述管理业务状态的是管理业务流程图和表格分配图 15、管理信息系统编码的确定是在系统设计阶段 16、利用算术级数法,代码12345的校验码是6 17、处理过程中暂时存放数据的文件是工作文件 18、对于大型程序,最后考虑的是效率 19、经理信息系统的专门的使用者是财务人员 20、主控制和调度程序调试是为了验证处理结果的正确性 21.使管理人员能掌握资源利用情况,并将实际结果与计划相比较,从而了解是否达到目的,并指导其采取必要措施更有效地利用资源的信息是属于什么级别策略级 22.诺贝尔奖金获得者西蒙(H.A.Simon)教授指出:以决策者为主题的管理决策过程经历的四个过程包括情报、设计、抉择和实施评价 23.人在信息处理上的特点之一是能够根据经验和大量知识进行模糊推理 24.与一个公共标志有关的数据项的集合是记录 25信息系统的进一步发展不包括电子数据处理系统 26.数据的逻辑组织面向外部设备27.联机实时处理的特点是面向处理 28.管理信息系统不仅是一个人机系统,而且是一个社会技术系统 29.在决策支持系统的基本模式中,处于核心的地位的是管理者 30.在开发管理信息系统应用项目的生命周期发中,在进入实质性的应用系统开发之前,必须进行可行性分析 31.能够表示系统内各单位、人员之间业务关系、作业顺序和管理信息流动的是数据流程图 32.管理信息系统编码的确定是在系统设计阶段 33.双工系统是为了提高系统的可靠性 34.处理过程中暂时存放数据的文件是工作文件 35.用结构化程序设计方法时,任何程序均由以下三种基本逻辑结构组成顺序结构、循环结构和选择结构 36.原始信息搜集的关键问题完整、准确、及时地收集记录信息 37.智能决策系统,群体决策支持系统属于决策科学发展的哪个方向定性决策向定量与定性相结合的决策发展 38.人在信息处理上的特点之一是能够根据经验和大量知识进行模糊推理 39.为了使搜集的信息适用于计算机处理的形式,必须代码化 40.与一个公共标志有关的数据项的集合是记录 41.数据的树型组织中记录的关系是层次关系 42.应用程序对数据的非依赖性是指数据的数据的独立性 43.管理信息系统科学的三要素不包括人与计算机之间的联系与交流 44.在决策支持系统的基本模式中,“真实系统”的输入信息是决策 45用原型法开发信息系统,由开发者很快开发出一个初步的原型系统,原型是可运行的模型 46.数据流程图能够完全描述系统系统的逻辑模型 47.过程重组的中心是企业流程 48.区间码不包括顺序码 49.息系统流程图表示的是计算机的处理流程,因此绘制信息系统流程图的前提是已经确定了系统的边界,数据处理方式和人机接口 50.数据库的概念结构设计实施的阶段是系统设计 51.用结构化程序设计方法时,任何程序均由以下三种基本逻辑结构组成顺序结构、循环结构和选择结构 52.下述系统中,需要首先对企业的业务流程进行重组的是ERP 53. 54.决策问题的类型按问题的结构化程度不同划分,其中不包括模糊决策问题

偏振光实验报告

实 验 报 告 学生姓名: 学 号: 指导教师: 实验地点: 实验时间: 一、实验室名称:偏振光实验室 二、实验项目名称:偏振光实验 三、实验学时: 四、实验原理: 光波的振动方向与光波的传播方向垂直。自然光的振动在垂直与其传播方向的平面内,取所有可能的方向;某一方向振动占优势的光叫部分偏振光;只在某一个固定方向振动的光线叫线偏振光或平面偏振光。将非偏振光(如自然光)变成线偏振光的方法称为起偏,用以起偏的装置或元件叫起偏器。 (一)线偏振光的产生 1.非金属表面的反射和折射 光线斜射向非金属的光滑平面(如水、木头、玻璃等)时,反射光和折射光都会产生偏振现象,偏振的程度取决于光的入射角及反射物质的性质。当入射角是某一数值而反射光为线偏振光时,该入射角叫起偏角。起偏角的数值α与反射物质的折射率n 的关系是: n =αtan (1) 称为布如斯特定律,如图1所示。根据此式,可以简单地利用玻璃起偏,也可以用于测定物质的折射率。从空气入射到介质,一般起偏角在53度到58度之间。 非金属表面发射的线偏振光的振动方向总是垂直于入射面的;透射光是部分偏振光;使用多层玻璃组合成的玻璃堆,能得到很好的透射线偏振光,振动方向平行于入射面的。 图 1 图 2 2.偏振片 分子型号的偏振片是利用聚乙烯醇塑胶膜制成,它具有梳状长链形结构的分子,这些分子平行地排列在同一方向上。这种胶膜只允许垂直于分子排列方向的光振动通过,因而产生

线偏振光,如图2所示。分子型偏振片的有效起偏范围几乎可达到180度,用它可得到较宽的偏振光束,是常用的起偏元件。 图 3 鉴别光的偏振状态叫检偏,用作检偏的仪器叫或元件叫检偏器。偏振片也可作检偏器使用。自然光、部分偏振光和线偏振光通过偏振片时,在垂直光线传播方向的平面内旋转偏振片时,可观察到不同的现象,如图3所示,图中(α)表示旋转P ,光强不变,为自然光;(b )表示旋转P ,无全暗位置,但光强变化,为部分偏振光;(c )表示旋转P ,可找到全暗位置,为线偏振光。 (二)圆偏振光和椭圆偏振光的产生 线偏振光垂直入射晶片,如果光轴平行于晶片的表面,会产生比较特殊的双折射现象。这时,非常光e 和寻常光o 的传播方向是一致的,但速度不同,因而从晶片出射时会产生相位差 d n n e )(200 -= λπ δ (2) 式中0λ表示单色光在真空中的波长,o n 和e n 分别为晶体中o 光和e 光的折射率,d 为晶片厚度。 1.如果晶片的厚度使产生的相位差1 (21)2 k δπ=+,k =0,1,2,…,这样的晶片称为1/4波片,其最小厚度为0 min 4() o e d n n λ= -。线偏振光通过1/4波片后,透射光一般是椭 圆偏振光;当α=π/4时,则为圆偏振光;当0=α或π/2时,椭圆偏振光退化为线偏振光。由此可知,1/4波片可将线偏振光变成椭圆偏振光或圆偏振光;反之,它也可将椭圆偏振光或圆偏振光变成线偏振光。 2.如果晶片的厚度使产生的相差πδ)12(+=k ,k =0,1,2,…,这样的晶片称为半波片,其最小厚度为0 min 2() o e d n n λ= -。如果入射线偏振光的振动面与半波片光轴的交角为 α,则通过半波片后的光仍为线偏振光,但其振动面相对于入射光的振动面转过α2角。 3. 如果晶片的厚度使产生的相差2k δπ=,k =1,2,3,…,这样的晶片称为全波片, 其最小厚度为0 min o e d n n λ= -。从该波片透射的光为线偏振光。

自考管理信息系统历年试卷及答案

管理信息系统中计算机应用试卷及答案 全国2010年10月高等教育自学考试 一、单项选择题(本大题共30小题,每小题1分,共30分) 1.关于管理信息,下列描述不正确的是( D ) A.管理信息是重要的资源 B.管理信息具有一般信息的特点 C.管理信息是决策的基础 D.管理信息作为资源具有消耗性 2.按决策层次信息分为战略信息、战术信息和业务信息,属于战略信息的是( A ) A.市场需求信息 B.库存统计信息 C.销售业绩信息 D.产量统计信息 3.能够用二维表形式来表示的数据库模型是( C ) A.网状模型 B.层次模型 C.关系模型 D.对象模型 4.计算机网络中通信子网的组成主要包括:通信线路和( ) A.通信软件 B.主机 C.通信控制机 D.终端控制机 5.模拟通信信号带宽的含义是( B ) A.传输速率 B.频带宽度 C.复用率 D.电缆的粗细 6.在Visual FoxPro中,通过对话框操纵数据库的工作方式是( B ) A.程序执行方式 B.传统人机交互方式 C.命令执行方式 D.新式人机交互方式 7.在C/S模式的局域网服务器中,应当安装网络操作系统、用户共享软件及( D ) A.TCP/IP协议 B.用户操作系统 C.本地通信软件 D.用户软件资源 8.微型机的只读存储器包括掩膜ROM、EPROM和( C ) A.Cache B.RAM C.PROM D.SAM 9.在面向对象的开发方法中,系统模型的基本单元是( B ) A.数据 B.对象 C.实体 D.类 10.用购买应用软件产品方式开发系统的主要风险是( C ) A.开发费用较高 B.开发周期较长 C.实施费用较高 D.可靠性比较低 11.在系统规划的可行性研究中,主要分析( D ) A.经济、技术、操作方面的可行性 B.经济、技术、人员方面的可行性 C.经济、技术、进度方面的可行性 D.经济、技术、运行方面的可行性 12.数据流程图是自顶向下逐层描述系统的工具,下图属于( B ) A.第一层数据流程图 B.第二层数据流程图 C.第三层数据流程图 D.第四层数据流程图 13.在数据流程图中对例外和错误情况的处理( B ) A.暂时不用考虑 B.会非常复杂 C.需要全部反映 D.应随机解决 14.决策表的内容包括:判断条件、处理行动、所采取的行动和( D ) A.相同条件的组合 B.不同条件的组合 C.相同行动的组合 D.不同行动的组合 15.E—R模型中的“联系”是指( A ) A.实体与实体之间的联系 B.同一实体属性之间的联系 C.实体和属性之间的联系 D.不同实体属性之间的联系 16.A模块筛选符合条件的记录,并反复调用B模块进行处理。A与B模块的调用关系是B A.选择结构 B.循环结构 C.顺序结构 D.调用结构 17.以下属于非法耦合的是( C ) A.上级模块向下级模块传递控制信号 B.下级模块对上级模块传递控制信号 C.同级模块之间传递数据或控制信号 D.上级模块向下级模块传递数据信号 18.“客户”数据表结构为:客户编号、手机号、购物金额,合理的字段类型为( D ) A.字符型,字符型,字符型 B.数值型,数值型,数值型 C.数值型,数值型,货币型 D.字符型,字符型,货币型B 19.以下关于“索引”操作的正确描述是( ) A.“索引”不能改变数据表中记录的显示顺序 B.“索引”不采用新的数据表存储重排的记录 C.“索引”不能按递减方式重排显示全部记录 D.“索引”不适合SQL语言的查询 20.“模块凝聚”反映了( C ) A.模块本身内在联系是否存在 B.上下级模块间联系是否存在 C.模块本身内在联系是否紧密 D.上下级模块间联系是否紧密 21.在Visual FoxPro中,输出界面的最常见形式是( A ) A.报表 B.表单 C.图表 D.查询 22.关闭表单标题栏左端图标的属性是( ) A.ControlBOX B.Closable C.Caption D.TitleBar 23.可以运行的“管理”菜单文件是( )’ A.管理.MNX B.管理.MNT C.管理.MPX D.管理.PRG 24.要创建动态下拉菜单,必须在菜单设计器“结果”列下拉菜单中选择( A ) A.子菜单 B.过程 C.命令 D.填充名称 25.不属于系统实施阶段工作的是( C ) 浙00051# 管理系统中计算机应用试卷第1页共34页

南京信息工程大学滨江学院C++面向对象程序设计期末复习资料-填空考点

一、考点 1.面向对象的四大特性是:抽象、封装、继承、多态 2.构造函数的作用是:创建对象时为对象赋初值 析构函数的作用是:释放对象占用的资源 3.根据继承的基类的多少,C++将继承分为:单继承和多继承 4.C++进行动态内存分配的一对运算符是:new和delete 5.纯虚函数:是一个在基类中说明的虚函数,它在该类基类中没有定义, 但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。 抽象类:如果一个类至少有一个纯虚函数,那么就称该类为抽象类。 带有纯虚函数的类是抽象类,抽象类不能实例化。 6.对象拷贝有两种方式:浅拷贝和深拷贝 7.变量的生存期分为:动态生存期、静态生存期 8.C++里的逻辑值:非0表示真,0表示假 9.C++里函数参数传递方式有:值传递、地址传递、引用传递 10.静态成员变量属于类,所有的对象共享。 11.根据访问控制,C++将继承分为:公有继承、私有继承、保护继承 12.类的访问属性包括:公有、私有、继承 13.用const修饰的对象,其意思是:对象的状态不能被修改 14.拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、 为函数实参对象赋值时、函数返回对象时 15.C++里的模版包括:函数模版、类模版 16.命名空间:一个由程序设计者命名的内存区域

作用:类似于操作系统中的目录和文件的关系。名字空间建立了一些 相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。 17.虚基类的作用P124 如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。但由 于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问 这些成天元时的困难,容易出错。C++提供了虚基类的方法,使得在继 承间接共同基类时只保留其一份成员。 18.多态及其分类P145 多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名 函数。 面向对象的多态性分为:参数多态,包含多态,重载多态,强制多态 前两种称为通用多态,后两种称为专用多态 19.虚函数与重载函数的比较 ....P153 (1)函数重载处理的是同一层次上的同名函数问题,而虚函数处理的是同一类族中不同派生层次上的同名函数问题,前者是横向重载,后者可以理解为纵向重载。但与重载不同的是:同一类族的虚函数的首部是相同的,而函数重载时函数的首部是不同的。 (2)重载函数可以是成员函数或普通函数,而虚函数只能是成员函数。 (3)重载函数调用是以所传递参数序列的差别作为调用不同函数的依据;虚函数是根据对象的不同去调用不同类的虚函数。

偏振光实验数据处理分析

偏振光实验数据处理分析 ——关于验证马吕斯定律的数据处理方法 一、 马吕斯定律: 1.一束光强度为的线偏振光,透过检偏器以后,透射光的光强度为α20cos I I = (1) 其中是线偏振光的光振动方向与检偏器透振方向间的夹角,该式称为马吕斯定律。 2.在光路中放入偏振片 作为起偏器,获得振动方向与 透振方向一致的线偏振光,线偏 振光的强度为入射自然光强度的 。 马吕斯定律光路图 3.在光路中放入偏振片,作为检偏器,其透振方向 与的夹角为,透过的光振 幅为 αcos A A 2 20 2 = (2) 式中为透过的线偏振光的振幅。因为 ,所以,光强度为α20cos I I = 这就是马吕斯定律,马吕斯定律说明了入射到偏振片上的线偏振光,其透射光强度的变化规律。 二、 简单实验过程 以He-Ne 激光作光源,用偏振片起偏和检偏,光电池接收,用电检流计量度光强的大小。实验从两偏振片方向(或称光轴)平行或垂直开始,记录光电流。测量时每转15记录一个数据,转180,取12个位置读数。 2 P 1 P

三、 数据处理 以角度为横坐标,光电流为纵坐标画图,并与余弦函数的平方值随着角度的变化关系比较 表1 将表1中角度θ和电流i 的数据输入,并通过工作表计算出2cosθ的值。打开Origin 数据处理软件,将含有原始数据的excel 工作表在Origin 数据处理软件中打开。 当图形窗口为当前窗口时,可以采用从菜单进行电流i 和cos 2θ的直线拟合,其拟合的函数为 Y=A+BX i 采用最小二乘法估计方程参数: B X -Y A = ∑ ∑ = N i 2 i N i i i X -X Y -Y X -X B )() )(( 对马吕斯定律的验证一般采用的方法是由实验得到的角度θ和电流i 的数据,进而用作图法得出cos 2θ和I 成正比的线性关系,如果cos 2θ与电流i 的线性关系良好,则说明马吕斯定律得以验证。然而学生用作图法验证马吕斯实验时,是用目测测试点分布而画出cos 2θ和电流i 之间的直线图,目测时测试点呈直线与否的界限难以确定,手工作图过程中也必然引入误差,以至于使实验中真正导致误差较大的原因容易被掩盖。同时,这种处理方法也使实验中产生的有规律性的误差被忽略,其结果往往达不到定量验证的目的。用Origin 数据分析软件依据最小二乘法原理进行实验数据处理,可由相关系数R 定量表示测试点的线性程度,达到定量验证物理规律的目的。由回归标准差SD 可得到实验误差。

《面向对象程序设计》教学大纲资料

面向对象程序设计教学大纲西北民族大学数学与计算机科学学院 制定的时间:二〇一二年五月

面向对象程序设计教学大纲 一、课程基本资料 主讲教师:曹永春、蔡正琦、顿毅杰 主教材:《C++面向对象程序设计》中国铁道出版社,陈维兴、林小茶编著,第2版,2009 辅助教材: 1.《C++编程思想》机械工业出版社,美Bruce Eckel,Chuck Alliso著,刘宗田,袁兆山,潘秋菱等译; 第1版,2011年 2. 《C++程序设计教程》机械工业出版社,美H.M.Deitel P.J.deitel 薛万鹏等译,2000年 3.《C++程序设计语言》,机械工业出版社,美Bjarne Stroustrup 著,裘宗燕译,2005年 4.《C++面向对象程序设计习题解析与上机指导》清华大学出版社,陈维兴主编,第2版,2009年 实验教材及参考书: 同上 课程性质:学科选修课 学分:4分 课时:72学时,其中理论课54学时,上机实验18学时 先修课程:计算机导论、C语言程序设计 课程结构:多媒体教学,课堂讨论、课内实验、课后作业 评价方案:(考核依据、评分的办法、权重的分布) ?平时成绩:10% 课堂表现(课堂提问、考勤、作业等) ?实验成绩:20%(实验报告、实验考试)

?期中成绩:20%(闭卷考试) .期末成绩:50%(闭卷考试) 参考书目: 名称编著者出版社出版年月《C++编程思想》刘宗田,袁兆山,潘 机械工业出版社2011年 秋菱等译 机械工业出版社2000年 《C++程序设计教程》H.M.Deitel, P.J.deitel 著,薛万鹏等译 《C++程序设计语言》Bjarne Stroustrup 机械工业出版社2005年 著,裘宗燕译 陈维兴主编清华大学出版社2009年 《C++面向对象程序设计 习题解析与上机指导》 推荐刊物: 1、《计算机学报》 2.《软件学报》 3.《程序员杂志》 4.《码农周刊》 5.《快乐码农》 相关网站: 1. 中国计算机学会https://www.doczj.com/doc/be4048311.html,/sites/ccf/ 2. 计算机爱好者协会https://www.doczj.com/doc/be4048311.html,/forum.php 3.C语言中文网https://www.doczj.com/doc/be4048311.html,/cpp 5.中国悠悠期刊网https://www.doczj.com/doc/be4048311.html,/ 6. 中国知网https://www.doczj.com/doc/be4048311.html,/ 文献 1.谭浩强.C程序设计.第4版.北京:清华大学出版社,2010

面向对象程序设计完整版

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的基本原理是用问题领域的模型来模拟大千世界,从而设计出尽可能直接、自然地表示问题求解方法的软件, 这样的软件由对象组成, 而对象则是完整反映客观世界事物具有不可分割的静态属性(”数据结构” )与动态行为(”方法” )的。而且它们是既有联系又

清华大学偏振光学实验完整实验报告

偏振光学实验完整实验报告 工物53 李哲 2015011783 16号 1.实验目的: (1)理解偏振光的基本概念,在概念以及原理上了解线偏振光,圆偏振光以及椭圆偏振光,并了解偏振光的起偏与检偏方法。以及线偏振光具有的一些性质。 (2)学习偏振片与玻片的工作原理。 2.实验原理: (1)光波偏振态的描述: · 单色偏振光可以分解成两个偏振方向垂直的线偏振光的叠加: t a E X ωcos 1=与()δω+=t a E Y cos 1(其中δ是两个偏振方向分量的相位延迟,21,a a 为两个光的振幅),由其中的δ,,21a a 就可以确定这个线偏振光的性质。 πδ=或0=δ就为线偏振光,2 ,21π δ==a a 为圆偏振光(就是光矢量的顶点绕 其中点做圆周运动,依然是偏振光),而一般情况下是椭圆偏振光。 · 上述式子通常描述的是椭圆偏振光,而本实验通过测量椭圆的长轴方位角ψ以及椭圆的短半轴与长半轴的比值对于椭圆偏振光进行描述。其计算式是: ()δβcos 2tan arctan 2 1 ?=ψ () 12sin sin 112222-?-+=βδa b 而对于实验中的椭圆偏振光而言,其光强在短轴对应的方向最小,在长轴的对应方向最大,所以可以通过使这个椭圆偏振光通过一个偏振片,并调整偏振片的透射轴方位,测量其最大最小值,就可以知道其长轴短轴的比值。又由于光强与振幅的平方成正比,所以测得的光强的比值是长轴短轴之比的平方。 (2)偏振片: · 理想偏振片:只有电矢量振动方向与透射轴平行方向的光波分量才能通过偏振片。 · 实验中的偏振片不是理想化的,并不能达到上述的效果,当入射光波的振动方向与透射轴平行时,其透射率不能达到1,当垂直于透射轴时,其透射率不是0。所以对于偏振片有主透射率以及消光比两个量进行描述。 · 主透射率21T T ,指沿透射轴或消光轴方向振动光的光强透射率。两者的比值

2018年10月自考《管理信息系统》真题【自考真题】

2018年10月自考《管理信息系统》真题 全国2018年10月高等教育自学考试管理信息系统试题 课程代码:02382 一、单项选择题:本大题共15小题,每小题1分,共15分。 1.系统除了具有层次性、目的性的特性之外,还具备 A.无边界性 B.整体性 C.非相关性 D.静态性 2.计算机网络的组成元素包含通信子网和 A.资源子网 B.计算子网 C.传输子网 D.交互子网 3.关系模型中数据的逻辑结构可以理解为一个二维表,这个二维表称为 A.关系 B.元组 C.属性 D.主码 4.信息系统的开发方式中,具有省时、省事优点的方式是 A.独立开发和委托开发 B.委托开发和购买现成软件 C.独立开发和合作开发 D.合作开发和购买现成软件 5.信息系统项目成本管理包括的过程有成本估计、成本预算、成本控制以及 A.成本核算 B.系统规划 C.资源计划 D.成本变更 6.在可行性分析的各项工作中,关于项目的支出费用和取得的收益分析属于 A.技术可行性分析 B.管理可行性分析 C.时间可行性分析 D.经济可行性分析 7.数据流程图中,系统以外与系统有关联的人或事物指的是 A.数据流 B.数据处理 C.外部实体

D.数据存储 8.在下列选项中,关于业务流程再造的理解正确的是 A.精确描述原有业务流程 B.以简洁描述业务流程为目标 C.对原有业务流程翻版或简单描述 D.对现有流程进行根本性的再思考和彻底的再设计 9.数据字典中,用以描述数据的来源或去向的条目是 A.数据流 B.加工处理 C.数据结构 D.数据存储 10.系统分析阶段的最后一步是 A.分析优化 B.系统调查 C.可行性分析 D.新系统逻辑方案的产生 11.系统设计时,要求各模块独立性强,模块内部关系紧密,模块间的相互依赖较少,这属于系统设计的 A.系统性原则 B.经济性原则 C.灵活性原则 D.可靠性原则 12.根据系统的总体目标和功能,系统设计将整个系统划分为具有独立性的子系统和模块,其中独立性是指 A.子系统和模块内具有较高的相关性,模块间具有较高的联系性 B.子系统和模块内具有较低的相关性,模块间具有较低的联系性 C.子系统和模块内具有较高的相关性,模块间具有较低的联系性 D.子系统和模块内具有较低的相关性,模块间具有较高的联系性 13.目前我国使用的手机号码为11位,其编码规则为:前3位是网络识别号,第4~7位是地区编码,第8~11位是用户号码。这种代码设计属于 A.顺序码 B.层次码 C.特征码 D.助记码 14.在管理信息系统开发过程中,信息系统的评价除了包括立项评价、结项评价外,还包括 A.计划评价 B.实施评价 C.中期评价 D.运行评价 15.在信息系统安全防范体系中,对设备的运行环境,如温度和湿度,采取预防措施的活动,属于 A.物理环境安全控制 B.软件及数据安全控制 C.网络安全控制 D.计算机操作安全控制

面向对象程序设计课程作业及复习资料

《面向对象程序设计》课程作业及答案 作业1: 是非题 1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。1. 错 2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。4. 对 填空题 下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。函数sum计算数组元素之和。填充程序中不完整的部分。 ________A__________ int sum(int [],int); void main() { int ia[5] = {2,3,6,8,10}; B ; sumOfArray = sum(ia,5); cout << "Sum of array:" << sumOfArray << endl; } int sum(int array[],int len) { int iSum = 0; for(int i = 0; C ; D ) E ; return iSum; } 答案: A #include B int sumOfArray; C i < len D i++ E iSum += array[i]; 阅读理解题

写出下列程序的运行结果: // static int i = 20; int x; static int g(int p) { return i + p; } void f(int v) { x=g(v); } // #include extern int x; void f(int); void main() { int i=5; f(i); cout << x; } 回答以下问题:

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