上机材料

2025-05-07 版权声明 我要投稿

上机材料(共10篇)

上机材料 篇1

String str;Getline(cin,str)

Getchar()清除上一个换行符

Fabs()函数求绝对值

#include或#include

#pragma once

功能函数写在主函数之前时要声明

静态分配&动态分配

内存的静态分配和动态分配的区别主要是两个:

一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。

二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由函数malloc进行分配。不过栈的动态分配和堆不同,他的动态分配是由编译器进行释放,无需我们手工实现。

对于一个进程的内存空间而言,可以在逻辑上分成3个部份:代码区,静态数据区和动态数据区。动态数据区一般就是“堆栈”。“栈(stack)”和“堆(heap)”是两种不同的动态数据区,栈是一种线性结构,堆是一种链式结构。进程的每个线程都有私有的“栈”,所以每个线程虽然代码一样,但本地变量的数据都是互不干扰。一个堆栈可以通过“基地址”和“栈顶”地址来描述。全局变量和静态变量分配在静态数据区,本地变量分配在动态数据区,即堆栈中。程序通过堆栈的基地址和偏移量来访问本地变量。

一般,用static修饰的变量,全局变量位于静态数据区。函数调用过程中的参数,返回地址,EBP和局部变量都采用栈的方式存放。

动、静态内存分配比较可以知道动态内存分配相对于静态内存分配的特点:

1、不需要预先分配存储空间;

2、分配的空间可以根据程序的需要扩大或缩小。

要实现根据程序的需要动态分配存储空间,就必须用到malloc函数.malloc函数的原型为:void *malloc(unsigned int size)其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。还有一点必须注意的是,当函数未能成功分配存储空间(如内存不足)就会返回一个NULL指针。所以在调用该函数时应该检测返回值是否为NULL并执行相应的操作。

堆&栈

堆:顺序随意 栈:先进后出

一个由c/C++编译的程序占用的内存分为以下几个部分

1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结 构中的栈。

2、堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。

注意它与数据结构中的堆是两回事,分配方式倒是类似于链表

3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在

一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。管理员创建题库(把题条加入题库)

-系统根据管理员输入的某些条件随机生成试题Grasp之信息专家模式 信息专家模式(Information Expert)是GRASP模式中解决类的职责分配问题的最基本的模式。

问题:

当我们为系统发现完对象和职责之后,对象设计和职责分配的基本原则(职责将分配给哪个对象执行)是什么?

解决方案:(将职责分配给信息专家,信息专家是指具有履行职责所需信息的类。)

职责的执行需要某些信息(information),把职责分配给该信息的拥有者。

换句话说,某项职责的执行需要某些资源,只有拥有这些资源的对象才有资格执行职责。这有点类似现实世界的“有能者为之”的概念。你有建筑知识,可以去执行盖楼的职责;你有法律知识,可以去裁判案件等等。

满足了面向对象设计的封装性的设计,一般情况下都会满足Information Expert模式。因为Information Expert是对类的属性(信息),以及对类的属性的操作的封装,它符合对象封装性的概念。优点:

-信息的拥有者类同时就是信息的操作者类,可以减少不必要的类之间的关联。GRASP之创建者模式

创建者模式(Creator)是GRASP模式中解决类的实例的创建职责问题的模式。问题

类的实例的创建职责,应该分配给什么样的类?或者说类的实例应该由谁创建? Creator模式所提倡的解决方案

以下条件之一为真的情况,类A的实例的创建职责就分配给类B。1,B包含A 2,B聚集A 3,B记录A 4,B频繁使用A 5,B有A初始化数据

Creator模式提倡类的实例(对象)创建职责由聚集或包含该对象的对象创建。

注:Creator模式只是一个原则,如果类A,B之间没有包含或聚集关系,应该先考案是否有“B记录A”,或者“B有A初始化数据”的关系,然后是“B频繁使用A”的关系。另外,作为代替方案,一般的采用工厂(Factory)创建方案。如果不遵循Creator模式,把类的实例的创建职责交给无关的类,类之间的关系变得复杂化,降低系统的可维护性和可扩展性。

一般来说,应用Creator模式,可以从上之下设计好类之间的包含或聚集关系阶层图,让每个类负责创建自己包含的类的实例。应用Creator模式的好处有利于类或组件的重用降低耦合性

Creator模式的应用例

为了更清楚地说明Creator模式,我们举一个GUI的例子:

有一个用户窗口MainWindow,包含Menu,ToolBar,Dialog等,Dialog上布置有Textbox,Button等元素。

我们应用Creator模式,先为它们设计好具有阶层关系的类图,如下:

因为MyMenu,MyToolBar,MyDialog由MainWindow所包含,MyTextbox,MyButton被MyDialog包含,MainWindow由Main类调用。

根据Creator模式所提倡的方法,它们的实例的创建职责的分配应该是: MainWindow的实例由Main创建;

MyMenu,MyToolbar,MyDialog的实例由MainWindow创建; MyTextbox,MyButton的实例由MyDialog创建。

反过来,如果MyMenu,MyToolBar,MyDialog等实例的创建都放在Main类里,那么Main就跟它们产生一种“关联”关系,如果MyMenu,MyToolBar,MyDialog等发生修改,Main也不得不跟着一起修改,也就是说大大增强了Main类跟它们之间的耦合关系;而 Main类本身,也聚集了多余的实例创建功能,降低了Main类的聚合性。

GRASP High Cohesion PatternGRASP之低耦合模式

低耦合模式(Low Coupling)是GRASP模式中为降低类之间的关联程度,适应可变性而提出的面向对象设计的原则性模式。高内聚(High Cohesion)与低耦合(Low Coupling)模式是GRASP其他模式的根本。问题

怎么做才能降低类之间关联程度,能适应需求的变化呢? Low Coupling模式所提倡的解决方案

为类分配职责时,应该尽量降低类之间的关联关系(耦合性)。亦即,应该以降低类之间的耦合关系作为职责分配的原则。

所谓耦合,是指多个物体(类)之间的物理或者意思上的关联程度。在面向对象方法中,类是最基本的元素,耦合主要指不同类之间相互关联的紧密程度。面向对象里的关联,主要指一个类对另一个类的调用,聚合(包含),参数传递等关系。

比如,所谓2个关联得非常紧密的类(高耦合),是指其中一个类发生变化(修改)时,另一个类也不得不跟着发生变化(修改)。

面向对象设计要求类之间满足“低耦合”原则,它是衡量一个设计是否优良的一个重要标准,因为“低耦合”有助于使得系统中某一部分的变化对其它部分的影响降到最低程度。应用High Cohesion模式的好处GRASP之控制器模式

控制器模式(Controller)是GRASP模式中解决事件处理职责问题的模式。问题

在UI层之外,应该由哪个类来处理(控制)系统操作(事件)呢?或者说,当触发一个系统事件时,应该把对事件的处理职责分配给UI层之外的哪个层呢? Controller模式所提倡的解决方案

把系统事件的处理职责分配给Controller(控制器)类。担当Controller(控制器)类角色的候补类可能为:

-系统全体,设备,子系统等的表现类(Facade Controller)

-系统事件发生的用例的控制类,通常被命名为Handler,Coordinator,Session等(用例或Session的控制器)。整个系统事件都使用同一个控制器。

Controller模式相当于著名的MVC设计模式的C(Controller)部分。

类似于J2EE核心模式中的Front Controller模式(我们会在其它文章中介绍Front Controller模式)。

Controller模式提倡用一个专门的类来处理所有的系统事件。或者说Controller模式把所有系统事件的处理职责分配给一个专门的类集中处理。应用Controller模式的好处

应用Controller模式的系统,对系统事件进行集中处理,所以:有利于共通处理(前处理,后处理等)。

-变化的高适应能力。能够把变化的修改范围控制在最小范围(控制器)之内。

Controller模式的应用例 MVC模式。

MVC模式

MVC模式Model-View-Controller头字母的缩写,中文翻译为“模型-视图-控制器”模式(或者模型)。该模式把一个GUI应用划分为业务逻辑处理(M),画面表示(V),控制(C)三部分,并以此为基础进行设计和开发。

在设计和开发应用系统时,往往需要考虑系统的可维护性,可扩展性,可重用性等;而且,一个大规模的系统开发,往往都是多人分工合作,为了开发上的效率性考虑,一般都安排不同的专家(开发人员)负责不同的领域担当不同的工作。MVC的构成要素:

MVC模式有Model,View,Controller三部分构成。Model 模型。主要用来负责业务逻辑的处理,数据的保持。Model是MVC模式的核心部分,它也是一个应用需要实现的最主要的部分:进行业务逻辑的处理。View 视图。负责数据的输出,画面的表示。Controller 控制器。负责接收从视图发送过来的数据,同时控制Model与View部分。它的主要任务是控制Model与View,所以被称为控制器。

MVC模式输入输出流程图: 1,Controller接收用户输入

2,Controller调用Model进行业务逻辑处理(控制)3,Controller通知/调用View进行画面描画处理(控制)4,View根据需要适当参照Model的值 5,View进行画面描画处理

使用MVC模式,分离模型、视图与控制器,使得这三部分功能相对独立,一方面可以让系统的设计开发工作分工明确,方便开发人员的互相合作;另一方面,按照MVC模式划分的系统的各部分功能保持独立,有利于组件复用,例如,一个模型可以对应多个显示视图,也就是说,同一套业务逻辑只要改变视图便可对应不同的用户界面。

GRASP Polymorphism Pattern避免重复代码

-避免重复的分歧条件

-易扩展。只要实现了统一的通用接口,便可实现行为的扩展

Polymorphism模式的应用例

上面的例子:物体的移动行为,应用Polymorphism设计模式,它的类图便是:

如果我们需要扩展“移动”行为,只需简单地创建一个实现IRunner接口的类。其他应用Polymorphism模式的例

设计模式之Command策略模式 [GoF] Dependency Inversion Principle(DIP)GRASP之纯虚构模式

纯虚构模式(Pure Fabrication)是GRASP扩展模式之一,它把非问题领域中的职责分配给人工定义的类。问题

非问题领域中的职责应该分配给谁?或者说,按照信息专家等模式分配职责时,存在某些不恰当的职责时,应该怎么做?

所谓不恰当的职责,是指难以分配的职责:在保证高内聚,低耦合的条件下,某些职责难以分配给现存的任何问题领域里的类。Pure Fabrication模式所提倡的解决方案 Pure Fabrication模式提倡把那些非问题领域的职责分配给那些人工生成的或者容易此类职责的概念类。

Domain Class的概念

我们设计对象的时候应该尽量保持与现实世界里的对象一致。这种与现实世界里的对象保持一致的从业务分析中抽象出来的类叫做“Domain Class”。它相当于上述问题领域里的类。比如一个简单的用例:用户注册。用户就是一个“Domain Class”,它是现实世界里的业务对象。相当于这里的“问题领域里的类”。

用户注册需要操作数据库,【数据库操作】是系统功能实现的一个必需功能,它不是现实世界里存在的业务对象,它是一个非Domain Class。如果把【数据库操作】看作一个行为职责,它就相当于这里所说的“非问题领域里的职责”。一般来说,Domain Class与非Domain Class的功能如果聚集在一个类里,就破坏了“高内聚”原则。

应用Pure Fabrication模式的好处

-高内聚。不必分配问题领域以外的职责给各Domain类,从而保证各Domain类内部功能上的高度聚集性。

-低耦合。问题领域以外的职责被分配给第三方非Domain类,一方面可以降低各Domain类之间的关联程度,另一方面可以比较漂亮地整合系统的各方面的职责。

-重用性。各Domain类由于功能上的聚集与关联度的降低,可以更容易地得到重用。

Pure Fabrication模式的应用例

以上述“用户注册”的用例为例,对于问题领域里的类“用户(User)”,如果把“数据库操作的职责”分配给“用户(User)”,那么User类的内聚性大大降低。

应用Pure Fabrication模式,应该人工定义一个数据库管理的概念类UserDbMgr,把数据库操作的功能分配给它完成。如图:

如图,分离Domain类User与非Domain类UserDbMgr,User类只保持问题领域中的信息。保证了高内聚性,和易重用性。

GRASP Indirection Pattern中介者模式[GoF]

GRASP Protected Variations Pattern高内聚。具体的功能在各子类中实现,各类的内部功能具有高度聚集性。

-低耦合。用户类只跟稳定接口通信,减少了跟其它陌生对象的关联的机会,降低了类之间的耦合性。

Protected Variations模式的应用例

例:把一段字符串保存到文件,打印机等输出设备。应用Protected Variations模式的类图:

GoF的23种模式

1.创建型模式

前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是:

简单工厂模式(Simple Factory);

工厂方法模式(Factory Method);

抽象工厂模式(Abstract Factory); 创建者模式(Builder);

原型模式(Prototype);

单例模式(Singleton)。

说明:严格来说,简单工厂模式不是GoF总结出来的23种设计模式之一。2.结构型模式

在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,这里有7个具体的结构型模式可供研究,它们分别是:

外观模式(Facade);

适配器模式(Adapter);

代理模式(Proxy);

装饰模式(Decorator);

桥模式(Bridge);

组合模式(Composite);

享元模式(Flyweight)。

3.行为型模式

在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高,这里有11个具体的行为型模式可供研究,它们分别是:

模板方法模式(Template Method);

观察者模式(Observer);

状态模式(State);

策略模式(Strategy);

职责链模式(Chain of Responsibility); 命令模式(Command);

访问者模式(Visitor);

调停者模式(Mediator);

备忘录模式(Memento);

迭代器模式(Iterator);

解释器模式(Interpreter)。

上机实验八 篇2

一、实验目的1、熟悉visual C++上机环境,进一步掌握C语言的结构特点。

2、进一步掌握图的基本概念及其含义。

3、掌握查找的结构特征,以及各种存储结构的特点及使用范围。

4、掌握查找的基本运算及其实现。

二、实验内容(参照课本上的第220页)

设计一个算法,实现折半查找算法。

三、实验要求

参照课本220页算法9.2

四、实验报告要求(参照《数据结构题集》第83页实验报告模板)

上机实习作业 篇3

1、利用馆藏数据库,检索出郑州大学区域经济学专业,刘荣增教授近三年所带研究生的学位论文,写出检索步骤及结果。(结果可截屏)(万方博硕论文库)

2、利用馆藏数据库,检索北京大学老师撰写的题名含有“管理”或“市场”的学术论文,写出检索步骤及结果。(结果可截屏)(中国期刊全文数据库)

3、利用馆藏数据库,检索出《随遇而安》这本书的序言部分(结果可截屏)。(超星电子图书)

4、检索与课题“基于信息交流视角的档案、图书、情报管理一体化研究”相关或相似文献,写出检索步骤,检索词及结果。(结果可截屏)(中国期刊全文数据库——提取关键词)

注意事项:

请各位同学将过程写出来,以Word文件保存。保存文件名为班级、姓名学号。如:工业工程131张三45(45为学号后两位)。

班长负责将本班作业收齐全,以班级命名文件夹。比如

上机及考试要求 篇4

(1)我的电脑右键属性,计算机名—更改—复制计算机名;

(2)打开用友通—服务器右边…—当前—粘贴—选择。

2.期末考试可能机考,也可能开卷(最晚16周进行,如果是机考14周模拟考一次)。机考必须提交账套、资产负债表和利润表,为防止可能出错,每次上机练习时把上述文件保存并提交到ftp。

现将机考的方法及注意事项通知如下:

(1)每位学生必须在规定的考试时间参加考试,考试时事先必须把系统时间修改为规定的时间,考试开始时教师在ftp://121.250.103.244建立考试班级的文件夹,考试结束该文件夹会被删除,没有按时考试或未按时把文件上传到指定文件夹的学生,一律按缺考处理。

(2)每位学生必须提交独立完成的帐套、资产负债表和利润表。账套通过系统管理-账套-备份保存到硬盘自己新建的文件夹(该文件夹含有UFDATA.BA_和UfErpAct.Lst两个文件),文件夹名称改为学号姓名;资产负债表名称为学号姓名资产负债表;利润表名称为学号姓名利润表。上述文件夹和文件发送到所在的班级文件夹。文件名称不符合要求的,按不及格处理。

(3)为防范考试作弊,建立帐套时帐套名称必须为本人姓名;增加的第一个操作员的ID必须是本人学号(后八位),第二个操作员ID必须是本人出生年月日,所有的操作员不得设置密码;不符合上述要求的,按作弊处理,试卷判为零分,不能补考。

(4)考试阅卷由计算机完成,望同学们在考前多认真模拟、上传。

如果是开卷考试,要求自能参考自己携带的资料,不能互换资料或交换试卷,一经发现按作弊处理,试卷判为零分,不能补考。

3.12周周二必须上交实训材料,包括系统管理、基础信息设置、凭证处理三次实训内容。实习报告包含班级、学号、姓名,实训内容主要有实训题目、实训步骤及注意事项、实训小结。

C++上机实验报告 篇5

姓名:王小宁

班级:

学号:

031012 1234

第一题:

题目:

编写一个类,声明一个数据成员和一个静态数据成员,其构造函数初始化数据成员,并把静态数据成员加1,其析构函数把静态数据成员减1.(1)编写一个应用程序,创建该类的3个对象,然后显示其数据成员和静态数据成员,再析构每个对象,并显示它们对静态数据成员的影响。

(2)修改该类,增加静态成员函数并访问静态数据成员,并声明静态数据成员为保护成员。体会静态成员函数的使用,静态成员之间与非静态成员之间互访问题。

编程思想:

首先,定义一个类,其中含有两个类的私有变量,一个静态数据变量,定义构造函数,将初值赋给两个私有变量,并将静态数据变量加1,并显示.定义一个析构函数,并通过析构函数将静态成员变量减1.并显示。

修改以上的类,增加一个静态成员函数并通过静态成员函数来访问静态成员变量。在主函数中利用一个指向函数的指针指向这个静态成员函数,并通过这个指针来访问类中的静态数据。代码实现:

代码1:

#include using namespace std;class A { public:

static int count;

A(int a=0,int b=0)

{

X=a;

Y=b;

count++;

cout<<“startcount=”<

count--;

cout<<“overcount=”<

int GetX(){return X;}

int GetY(){return Y;}

private:

int X,Y;};int A::count=0;int main(){ int *countp=&A::count;A z(2,3);cout<<“x=”<

cout<<“x=”<

问题及心得:

在这次试验中,我理解了静态变量与普通变量之间的差异与联系。在实验过程中因未初静态变量始化而无法通过编译,并且注意到静态变量一定要在类外初始化。

题目2:

创建一个Person类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。其功能有修改姓名、显示数据信息。要求其功能函数的原型放在类定义中,构造函数初始化每个成员,显示信息函数要求把对象中的完整信息打印出来。其中数据成员为保护的,函数为公有的。

编程思想:

创建一个PERSON类,定义姓名、街道地址、市、省和邮政编码分别为CHAR型的指针私有型变量。在定义公有型的构造函数,并在构造函数中申请动态内存来保存初始化的内容,并用相应的私有性的指针变量指向,再利用复制函数则指针中将会存放入输入内容。定义公有的析构函数释放动态申请的空间。定义一个公有的改变函数改变其中一个变量,方法与构造函数相似。

代码实现:

#include using namespace std;class Person {

private:

char *name;char *street;char *pro;char *city;char *code;

public: Person(char *aname,char *astreet,char *apro,char *acity,char *acode){

name=new char[strlen(aname)+1];

strcpy(name,aname);

street=new char[strlen(astreet)+1];

strcpy(street,astreet);

pro=new char[strlen(apro)+1];

strcpy(pro,apro);

city=new char[strlen(acity)+1];

strcpy(city,acity);

code=new char[strlen(acode)+1];

strcpy(code,acode);

cout<<“constructor”<

delete[] name;

delete[] street;

delete[] pro;

delete[] city;

delete[] code;

cout<<“destructor”<

delete[] name;

name=new char[strlen(aname)+1];

strcpy(name,aname);} void show(){

cout<<“姓名:”<

cout<<“街道地址:”<

cout<<“省份:”<

cout<<“城市:”<

cout<<“邮政编码:”<

运行结果:

软件工程上机题目 篇6

1.网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。

“远程网络教学系统”的功能需求如下:

   学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。

系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。

记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘

2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

共 1 页 第 1 页

2.图书管理系统功能性需求说明如下: 图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。

 当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。 系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书管理员的信息。 可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。回答下面问题:

1)该系统中有哪些参与者? 借阅者 图书管理员 系统管理员

2)确定该系统中的类,找出类之间的关系并画出类图

用户类、用户角色类、图书类、预定类、借阅类、书目类 类图

共 1 页 第 1 页

3)画出语境“借阅者预定图书”的时序图

信息技术上机会考试卷 篇7

B.全文搜索引擎

C.自动搜索引擎

D.提问式搜索引擎 第2题:域名系统的英文缩写是(D)A.TCP

B.CNNIC

C.FTP

D.DNS 第3题:下列叙述中,正确的是(D)A.因特网上存在不良的信息,应减少上网次数

B.因特网上的信息资源是共享的,不存在版权问题

C.因特网上的信息资源都是真实、可靠的D.通过网络传播病毒是一种非法的行为 第4题:常用的网络协议有:NETBEUI、IPX/SPX和(C)A.HUB

B.OSI

C.TCP/IP D.DNS 第5题:在网页中,不能插入超链接的对象是(D)A.英语单词

B.汉字词语

C.logo图片

D.背景音乐 第6题:某台计算机的子网掩码为“255.255.255.0”,则该计算机所在的网络中实际可用的IP地址数量是(B)A.0个

B.254个

C.3个

D.765个 第7题:使用IE浏览网页的过程,采用的是(D)A.C/S模式

B.S/S模式

C.C/C模式

D.B/S模式

第8题:数据交换技术主要包括报文交换技术、电路交换技术和(C)A.模拟交换技术

B.数字交换技术 C.分组交换技术

D.无线交换技术

第9题:常见的网络拓扑结构有三种,包括星型结构、总线型结构和(D)A.直线型结构

B.并联型结构

C.串联型结构

D.环型结构

第10题:某单位内部的20台计算机要连成传输速率100Mbps的局域网,下列最合适的传输介质是(A)A.双绞线

B.同轴电缆

C.光缆

D.电话线 第11题:域名为”中,“index.html”属于(A)A.主页名

B.协议

C.服务器名

D.域名 第21题:下列关于局域网的叙述,正确的是(A)

A.局域网中可以实现文件共享

B.局域网中无法共享打印机

C.局域网中每台计算机的IP地址都相同

D.局域网中不需要安装杀毒软件 第22题:在因特网中,因特网内容提供商的英文缩写是(C)A.NSF

B.ISP

C.ICP

D.ASP 第23题:”表示该网站的地区域是(D)A.日本

B.英国

C.美国

D.中国

第30题:常见的网络拓扑结构有:总线型结构、星型结构和(A)A.环型结构

B.层次型结构

C.分散型结构

D.直线型结构 第31题:下列不属于有线传输介质的是(B)A.双绞线

B.红外线

C.同轴电缆

C程序上机步骤 篇8

运行一个C语言程序的一般过程

Turbo C是一个集源程序编辑、编译、连接、运行与调试于一体,用菜单驱动的集成软件环境。

运行一个C语言程序的一般过程:

(1)启动TC,进入TC集成环境。

(2)输入与编辑源程序。编辑后文件的扩展名为:.c。

(3)对源程序进行编译。如果编译成功,则可进行下一步操作;否则,返回(2)修改源程序,再重新编译,直至编译成功。编译成功后文件的扩展名为:.obj。

(4)与库函数进行连接。如果连接成功,则可进行下一步操作;否则,根据系统的错误提示,进行相应修改,再重新连接,直至连接成功。连接成功后的可执行文件的扩展名为:

.exe。

(5)运行可执行的目标程序。通过观察程序运行结果,验证程序的正确性。如果出现逻辑错误,则必须返回(2)修改源程序,再重新编译、连接和运行,直至程序正确。TC的启动、退出与命令菜单

(1)启动Turbo C: t c ←┘

启动Turbo C后,其主菜单条横向排列在屏幕顶端,并被激活,其中File主项成为当前项。

主菜单的下面,是Edit(编辑)窗口和Message(消息)窗口。两个窗口中,顶端横线为双线显示的,表示该窗口是活动窗口。

进入Turbo C 2.0集成开发环境中后, 屏幕上显示: 其中顶上一行为Turbo C 2.0 主菜单, 中间窗口为编辑区, 接下来是信息窗 口, 最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕, 以后的编程、编译、调试以及运行都将在这个主屏幕中进行。

主菜单在Turbo C 2.0主屏幕顶上一行, 显示下列内容: File Edit Run Compile Project Options Debug Break/watch除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母, 就可进入该项的子菜单中。

编辑窗口的顶端为状态行,其中: .Line 1 Col 1:显示光标所在的行号和列号,即光标位置。

.Insert:表示编辑状态处于“插入”。当处于“改写”状态时,此处为空白。

.d: NONAME.C:显示当前正在编辑的文件名。显示为“NONAME.C”时,表示用户尚未给文件命名。

屏幕底端是7个功能键的说明,以及Num Lock键的状态(显示“NUM”时,表示处于“数字键”状态;空白,表示“控制键”状态)。

(2)命令菜单的使用

1)按下功能键F10,激活主菜单。如果主菜单已经被激活,则直接转下一步。

2)用左、右方向键移动光带,定位于需要的主项上,然后再按回车键,打开其子菜单(纵向排列)。

3)用上、下方向键移动光带,定位于需要的子项上,回车即可。执行完选定的功能后,系统自动关闭菜单。

注意:菜单激活后,又不使用,可再按F10/Esc键关闭,返回原来状态。

(3)退出Turbo C

退出TC有两种方法:

1)菜单法:File | Quit(先选择File主项,再选择并执行Quit子项)

2)快捷键法:Alt+“X”(先按下Alt键并保持,再按字母键X,然后同时放开)

3.编辑并保存一个C语言源程序

按Alt+F可进入File菜单, 如图:

File菜单的子菜单共有9项,分别叙述如下:

1.Load:装入一个文件, 可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件, 只要给出文件名(或只给路径)即可。该项的热键为F3, 即只要按F3即可进入该项, 而不需要先进入File菜单再选此项。2.Pick:将最近装入编辑窗口的8个文件列成一个表让用户选择, 选择后将该程序装入编辑区, 并将光标置在上次修改过的地方。其热健为Alt-F3。3.New:新建文件, 缺省文件名为NONAME.C, 存盘时可改名。

4.Save:将编辑区中的文件存盘, 若文件名是NONAME.C时, 将询问是否更改文件名, 其热键为F2。

5.Write to:可由用户给出文件名将编辑区中的文件存盘, 若该文件已存在, 则询问要不要 覆盖。

6.Directory:显示目录及目录中的文件, 并可由用户选择。7.Change dir:显示当前默认目录, 用户可以改变默认目录。

8.Os shell:暂时退出Turbo C 2.0到DOS提示符下, 此时可以运行DOS 命令, 若想回到 Turbo C 2.0中, 只要在DOS状态下键入EXIT即可。

9.Quit:退出Turbo C 2.0, 返回到DOS操作系统中, 其热键为Alt+X。

以上各项可用光标键移动色棒进行选择, 回车则执行。也可用每一项的第一个大写字母直接选择。若要退到主菜单或从它的下一级菜单列表框退回均可用Esc键, Turbo C 2.0所有菜单均采用这种方法进行操作。

文件名的输入有两种方法:直接输入和选择输入。1)直接输入

按照文件名的组成字符串,逐个字符输入即可。

如果是已经存在的文件,系统就在编辑窗口显示该文件的内容,可供编辑、修改。如果是新文件,则给出一个空白编辑窗口,可供输入新的源程序。

如果该文件不在当前目录下,则需要冠以路径名和(或)盘符。2)选择文件(仅适用于已经存在的源程序文件)

①空回车,打开当前目录下、后缀为.C的所有文件的文件名窗口。

②用上、下、左、右方向键,将光带定位于所需的文件名上。

③按回车键。

(3)常用编辑操作

在编辑源程序过程中,随时都可以按F2键(或File | Save),将当前编辑的文件存盘,然后继续编辑。这是一个好的习惯!

关于在线帮助:

在任何窗口(或状态)下,按F1键激活活动窗口(或状态)的在线帮助:

.关闭在线帮助、返回原窗口(或状态)──Esc .返回前一个在线帮助屏──Alt+F1(无论在线帮助是否被激活)

.返回在线帮助索引──F1:激活在线帮助后,再按F1,则返回在线帮助索引,以便查询其它类别在线帮助信息。

.查询库函数的在线帮助信息──^F1:将光标移到需要查询函数名的首字符上,然后键入^F1,即可获得该库函数的在线帮助信息。

为简化描述,用“^”代表“Ctrl”键。^Fn就是Ctrl+Fn,下同。

编辑命令简介: PageUp 向前翻页 PageDn 向后翻页

Home 将光标移到所在行的开始 End 将光标移到所在行的结尾 Ctrl+Y 删除光标所在的一行 Ctrl+T 删除光标所在处的一个词 Ctrl+KB 设置块开始 Ctrl+KK 设置块结尾 Ctrl+KV 块移动 Ctrl+KC 块拷贝 Ctrl+KY 块删除 Ctrl+KR 读文件 Ctrl+KW 存文件 Ctrl+KP 块文件打印

4.编译、连接──单个源程序文件

按Alt+C可进入Compile菜单, 该菜单有以下几个内容,如图所示:

1.Compile to OBJ:将一个

C源文件编译生成.OBJ目标文件, 同时显示生成的文件名。其热键为 Alt+F9。.Make EXE file:此命令生成一个.EXE的文件, 并显示生成的.EXE文件名。其中.EXE文件名是下面几项之一:

1)1)由Project/Project name说明的项目文件名。

2)2)若没有项目文件名, 则由Primary C file说明的源文件。3)3)若以上两项都没有文件名, 则为当前窗口的文件名。

3.Link EXE file:把当前.OBJ文件及库文件连接在一起生成.EXE文件。

4.Build all:重新编译项目里的所有文件, 并进行装配生成.EXE文件。该命令不作过时检查(上面的几条命令要作过时检查, 即如果目前项目里源文件的日期和时间与目标文件相同或更早, 则拒绝对源文件进行编译)。5.Primary C file:当在该项中指定了主文件后, 在以后的编译中, 如没有项目文件名则编译此项中规定的主C文件, 如果编译中有错误, 则将此文件调入编辑窗口, 不管目前窗口 中是不是主C文件。

6.Get info:获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息,如图:

5.运行与查看结果

(1)运行当前正在编辑的源程序文件

选择并执行Run | Run项(快捷键:^F9),程序运行结束后,仍返回到编辑窗口。

当你认为自己的源程序不会有编译、连接错误时,也可直接运行(即跳过对源程序的编译、连接步骤)。这时,TC将一次完成从编译、连接到运行的全过程。(2)查看运行结果

选择并执行Run | User Screen项(快捷键:Alt+F5)。查看完毕后,按任一键返回编辑窗口。

如果发现逻辑错误,则可在返回编辑窗口后,进行修改;然后再重新编译、连接、运行,直至正确为止。

6.编辑下一个新的源程序

选择并执行File | New项即可。

如果屏幕提示如下确认信息:

NONAME.C not saved.Save?(Y/N)

如果需要保存当前正在编辑的源程序,则键入“Y”,进入下一步操作;否则,键入“N”(不保存),跳转到(2)。(1)系统提示换名:

NONAME.C 直接输入你给源程序文件起的名字即可。

(2)系统给出一个空白的编辑窗口,可以开始编辑下一个新的源程序。实训

认识C语言程序

实训目的:1.熟悉Turbo C 系统环境;

2.学会寻求Turbo C 的系统帮助;

3.认识C语言程序的基本结构和书写格式。

实训内容: 编程求 37 + 29 的值:(1)启动Turbo C 系统;

(2)在Edit窗口中输入、编辑如下程序;

main(){ int x, y,sum;/*变量定义语句:定义3个整型变量x、y、sum*/

x=37;

/*可执行语句:将37赋值给变量x*/

y=29;

/*可执行语句:将29赋值给变量y*/

sum=x+y;

/*可执行语句:将x+y的值赋值给变量sum*/

printf(“sum=%dn”, sum);/*可执行语句,% d 为转换格式,用以输出的十进制整sum */

}(3)编译、运行该程序;(4)写出程序运行结果;(5)保存该程序文件。编程求 37 + 29 的值:

(1)打开前面已经存盘的文件,编辑修改为如下的程序: main(){ int x, y;

x=37;

y=29;

int sum;sum=x+y;

printf(“sum=%dn”, sum);

}(2)上机运行这个程序,得到什么结果?(3)系统是怎么通知你所存在的问题的?

JAVA上机面试题 篇9

部门管理

界面分为左右两部分:

左列显示树形结构,结构如下:

公司名称

------部门1

-----人员1

-----人员2

------部门2

。。。。。

右侧添加部门,人员,删除等自行设计,人员详细信息。

一. 要求使用Spring+Structs,连接oracle数据。(基本框架和数据库考察)

二. 使用连接池管理数据库连接。(数据库连接管理)

三. 使用easyui插件完成界面。(学习能力,界面,自行搜索下载)

四. 同一人员可在多个部门同时出现。(数据库基本设计)

五. 数据库建表关联正确,体现部门公司之间级别关系,员工和部门关系。(数据库关系)

六. 要求用到,视图,程序包,存储过程完成数据读写。(数据库基本操作)

arcgis上机实习报告 篇10

实习课程:《ArcGIS专业技能训练实习报告》

名:

号:

业:

级:

2012年 6月

20日

ArcGIS专业技能训练实习报告

实习目的:

通过学习Arcgis这款Gis应用软件熟练我们的实际应用能力,深入理解GIS软件应用的核心部分,通过熟练Arcgis能掌握类似相关软件操作,加强动手能力。

实习步骤:

1.对Arcgis软件整体掌握,并与之前各类软件操作对比和学习。

2.具体对软件操作掌握空间数据的采集与组织、数据的处理与变、数据的可视化表达。

3.Arcgis的空间分析能力的掌握:矢量数据的空间分析、栅格数据的空间分析、三维分析、地统计分析、水文分析等。4.掌握Arcgis的空间分析建模。

实习内容:

根据练习内容,选择了练习第3、4、5、7、12章的内容,其余在课下自己练习完成,这些章内容分别为:空间数据的采集与组织、数据的处理与变换、数据的可视化表达、矢量数据空间分析、空间分析建模

Geodatabase是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。一. 基于Geodatabase的数据库设计

Geodatabase支持面向对象的矢量数据模型,它将地理数据组织成一个数据对象的结构体系。在Geodatabase模型中,实体被表示为属性,行为,关系的对象。Geodatabase还允许用户定义对象之间的关系,以及保持对象之间参照完整性的规则。Geodatabase也定义了简单的对象,地理要素,几何网络,注记要素等多种对象类型。二. Geodatabase中的信息类型

1.表(table):是记录的集合,每个记录(行)中包括许多列(字段);

2.对象类(object classes):对象表示一个没有空间几何的实体,没有位置相关信息,但是可以通过关系类与要素联系起来,一个对象类作为一个表存储在Geodatabase中,一个对象是表中的一行。3.要素类(feature classes):表示有空间几何的实体,有位置相关信息。要素类是具有相同的属性和相同的几何表示类型的要素集合。1)简单要素类:没有拓扑关联,包括点,线,多边形,注记等多种类型,以要素的方式管理,存放在要素集内外均可。

2)复杂要素类则是有拓扑关联的若干个要素类的组合,必须存放在同一个要素数据集中,例如拓扑要素、几何网络等类型。

4.子类(subtype):在要素类内部可以划分若干个次一级的组,每个组是一个子类。每个子类有其自己的完整性规则和GIS行为。5.要素数据集(feature database):要素数据集是一个具有相同空间参照的要素类的集合。

6.关系(relationships):是一种表(或要素类)与表(或要素类)之间的联系机制。关系类建立在对象(或要素)类之间,由一个对象(或要素)类指向另一个对象(或要素)类。

7.栅格数据集(raster data sets):影像作为栅格表来管理。

8.拓扑关系(topology):拓扑关系将参与拓扑的各个要素类集成在一个拓扑图中作为一个拓扑单元来管理,规定同一个要素类中的各个要素如何与其他要素共享几何或不同要素类之间如何共享几何。9.元数据:对数据库中各个数据元素的描述。

10.几何网络(geometric network):若干个要素类作为一个整体参与到几何网络的构造,Geodatabase通过拓扑关联保证参与到几何网络中的各个要素类的空间几何的连通性。几何网络将导致保证网络连通性的行为。

三. Geodatabase的优势:

1.所有图形数据和属性数据统一存储在商业DBMS中。

2.便于使用DBMS支持的多用户并发访问、事务管理、失败事务恢复、用户权限策略等机制,有利于空间信息共享、数据安全,提高了数据库性能。

3.支持智能化的要素、规则和关系。4.完善的用户支持。

四.Geodatabase数据库设计的内容

1.基本内容是规定 构成数据库的要素类、栅格数据集、其他表,以及表之间的各种关系。

2.其中,要素(或对象)类之间的关系通过要素数据集、关系类、拓扑来管理。

3.一个要素数据集中的各个要素类具有相同的空间参照;拓扑类、几何网络中的要素类受拓扑完整性约束。五

Geodatabase数据库设计的步骤

1.用户视图建模 2.定义实体和关系 3.明确实体的表示 4.匹配到Geodatabase模型 5.组织地理数据集

六.将地理实体表示为Geodatabase数据类型

要在识别地理实体并决定其几何表示类型之后,决定数据如何在Geodatabase中表示。具体包括两方面处理:

1.决定各种地理实体的表示类型及其拓扑关系; 2.决定各实体的属性字段。

决定实体的表示类型的依据是其几何表示类型:点实体用点要素、简单节点、复合节点表示,线实体用线要素、简单边、复合边表示,面实体用多边形要素表示,表面实体用TIN或栅格数据集表示,空间位置无关的实体用对象(表)表示。

 其中点、线、面实体的离散分布有两种:

1.独立分布的实体,与其他要素无关,可以表示为简单的点、线、面要素;

2.与其他要素的分布相关,这种点、线实体可以表示为节点、边要素,面实体表示为有拓扑关系的多边形要素。

 考虑要素之间的拓扑关系,定义复合要素类:平面拓扑和几何网络。平面拓扑强制保证要素不能相互交叉而没有交点。如土地或区划系统,采用平面拓扑管理要素间的公共边。

 几何网络强制保持网络要素之间的连通性,是网络编辑易于操作。如对于线状系统,交通网络,多采用几何网络表示。 确定对象的属性类型

1.主要依据要素(或对象)的专题性质而定。

2.每个实体可能有多种属性,依据相关原则确定每种属性(字段)的数据类型,使用默认值、域等工具保证数据的完整性。六. 将数据组织到Geodatabase地理数据集

1.工作包括:

(1).划分要素类和子类(2).规定要素类的拓扑关系(3.)构建地理数据集(4.)组织地理数据库

(1)划分要素类和子类

下列情况下必须建立单列的要素类:

1)当各组相关要素的属性字段组合根本不同时 2)当各组相关要素需要有特有的定制行为时 3)当需要对各组要素赋予不同存取权限时

4)当有些要素要采用版本管理存取而另一些要素不需要版本管理时(2)规定要素类的拓扑关系

1)将相关要素分组为几何网络好或平面拓扑

2)如果要素类是独立点、线、面要素,那么它不参与几何网络或者平面拓扑

3)如果要素类是简单边、简单节点、复合边、复合节点,那么它参与几何网络的构成

4)如果要素类是拓扑关联的多边形要素类,其内部各个要素必须满足特定的拓扑关系(3)构建地理数据集

1)要素数据集是一个容器,使用它可以将相似的要素类组合在一起。2)将具有相同空间参照的要素类组织到同一个要素数据集中是有利的,因为不同要素数据集在运算过程中可能会出现细微的差别而引起数据不一致。3)同时参加到平面拓扑或几何网络中的各个要素类必须被组织到同一个要素数据集中。

(4)最后将要素数据集和要素类组合起来。

1)确定了各要素及其拓扑联系之后,最后需要将它们组合到地理数据库中。2)如果企业用户包括多个部门,不同部门使用不同的数据集。地理数据库可以安装企业组织结构部署。

4)如果使用personal Geodatabases,由于数据库容量的限制,必须对数据库按专题或空间进行分割。七. Geodatabase的建库步骤

1.在F盘中建立自己的文件夹070141; 2.在自己的文件夹中建立个人数据库database;截图说明

3.在personal database中建立点要素a,线要素aa,面要素aaa。八. Geodatabase的拓扑建立

若干个要素类作为一个整体参与到几何网络的构造,Geodatabase通过拓扑关联保证参与到几何网络中的各个要素类的空间几何的连通性。几何网络将导致保证网络连通性的行为。

1.右键单击数据库database,点击new再点击Feature Dataset

截图说明:

出现对话框New Feature Dataset 在name中填写名字topology;2.点击“下一步”出现如下对话框,点击对话框中的Import,又出现对话框在Ext文件夹中点击Blocks.shp,点击Add即可添加数据;

截图说明;

再点击继续点击下一步,下一步,Finish,即可建立topology; 3.右键单击topology,点击Import,再点击Feature Class(mulitiple)

截图说明:

出现如下对话框,在对话框中点击第一个图标浏览,在出现的对话框中加入Ex1中的两个数据Blocks.shp和Parcels.shp,点击Add;

点击ok,则topology中增加了Blocks.shp和Parcels.shp两个数据项; 4.右键单击topology中的Blocks,点击Properties 截图说明:

出现如下对话框, 在对话框中的子类SubtypeField一栏下拉选择Res,在Subtype中设置Code和Description为0,nonres;1,res; 点击确定;

截图说明:

4.同理设置Parcels的Properties;

5.右键单击topology,点击new,再点击Topology:

6.在出现的如下对话框中点击下一步

7在.出现的如下对话框中点击下一步

8.在出现的New Topology如下对话框中点击Select All 截图说明:

9.在出现的New Topology如下对话框中,在Enter the number of ranks中填1;

10.点击下一步,在出现的New Topology对话框中,点击Add Rule,再Add Rule中的三栏中选择Parcels,Must Not Overlap With,Blocks,点击ok; 截图说明:

点击下一步,再点击Finish.再出现的对话框是否拓扑查询,点击否。则在Topology中建立了topology-Topology。

11.打开ArcMap,将topology-Topology拖到ArcMap的Layers中,则在Layers中添加了topology-Topology,Blocks和Parcels; 截图说明:

12.点击工具栏中的View,点击Toolbars,再点击Topology,将出现进行拓扑操作的Topology工具栏;在Editor下拉菜单中点击Starting Editor,将工具激活;

截图说明:

13.点击Topology工具栏的Topology Editor Tool图标,双击弧线段,在结点处进行操作即可

上一篇:象棋课计划下一篇:镜子中的我作文300字