第一篇:武汉大学c++第一次上机试题
实验一 开发环境与简单C++程序
一.实验目的1.熟悉VC++开发环境,能够使用开发环境提供的工具创建项目,编辑源程序,编译、运行程序。
2.熟悉常见的编译错误及其改正方法。
3.掌握利用VC++ 调试工具对程序进行调试的步骤、方法。
4.掌握C++语法组成要素及其定义。
5.C++程序的控制。
6.培养良好的编程习惯
二.知识要点
1.C++程序的开发流程。
2.C++的基本数据类型
3.标准C++关键字的作用、标识符定义、运算符的优先级别及结合方向。
4.标准C++程序的流程控制方式。
三.实验内容
㈠Visual C++集成开发环境应用实习
⒈ 创建应用程序Mysdi使用资源编辑器编辑图标、工具栏、快捷键、串表和版本信息。⒉ 创建一个名为mydlg的对话框应用程序,并修改程序的大小图标、修改版本号等。⒊课本P22 1-20
㈡C++语言基础实习
⒈ 从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数,输入的字符序列以“#”作为结束符。
⒉ 编写一段程序,当用户输入一个6位数据时,程序可以将其分离为单独的数字,分离结果之间用3个空格分开。(应用求模运算符和整型除法)
⒊ 采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然放在原来的数组中,要求使用最少的辅助存储单元。
⒋ 使用结构变量表示每个学生的信息:姓名、学号、三门课的成绩和平均成绩。编写一个冒泡排序函数,根据学生的平均成绩排序。从键盘上输入10个学生的数据,在主函数中调用排序函数输出每个学生的姓名和三门课的成绩以及平均成绩。
⒌ 编写一段程序,确定员工的工资总额。每位员工在一周内工作40小时以内,是按正规工作时间付酬,超出40小时,是正规工作时间报酬的1.5倍。假定已经有了公司员工的花名册、每位员工在上个星期的工作时间以及每位员工的小时报酬。在程序中应将每位员工的信息输入,计算显示员工的应得工资。(练习使用嵌套的if/else语句和switch语句)
四.实验要求
1.新建MFC Appwizard项目,完成“Visual C++集成开发环境应用实习”部分的内容。
2.新建Win32 Console Application项目完成“C++语言基础”部分的内容,每个实验内容在一个项目中完成。
3.对“C++语言基础实习”的程序进行单步运行,查看运行过程中变量值的变化情况;在程序中设置断点,将程序运行到断点处,观察所有变量的值与预期值是否一致。
4.代码书写规范。具体要求,①每一行代码只写一条语句;②每一行代码有缩进;③加注释;④变量名要见名知义。
第二篇:C++上机实验报告
第二次上机实验报告
姓名:王小宁
班级:
学号:
031012 1234
第一题:
题目:
编写一个类,声明一个数据成员和一个静态数据成员,其构造函数初始化数据成员,并把静态数据成员加1,其析构函数把静态数据成员减1.(1)编写一个应用程序,创建该类的3个对象,然后显示其数据成员和静态数据成员,再析构每个对象,并显示它们对静态数据成员的影响。
(2)修改该类,增加静态成员函数并访问静态数据成员,并声明静态数据成员为保护成员。体会静态成员函数的使用,静态成员之间与非静态成员之间互访问题。
编程思想:
首先,定义一个类,其中含有两个类的私有变量,一个静态数据变量,定义构造函数,将初值赋给两个私有变量,并将静态数据变量加1,并显示.定义一个析构函数,并通过析构函数将静态成员变量减1.并显示。
修改以上的类,增加一个静态成员函数并通过静态成员函数来访问静态成员变量。在主函数中利用一个指向函数的指针指向这个静态成员函数,并通过这个指针来访问类中的静态数据。代码实现:
代码1:
#include
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 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<<“邮政编码:”< 运行结果: 实验心得: 通过这个实验,我们学会了对类的私有的字符数组变量的初始化。利用指针动态分配空间。 C++上机实验报告 实验名称:实验 专业班级: 姓 名: 学 号: 实验日期: 11 实验 目录 1.实验目的 2.实验内容 3.程序代码 4.调试结果 5.实验心得 1.实验目的 实验10(1)进一步了解运算符重载的概念和使用方法;(2)掌握几种常用的运算符重载的方法;(3)了解转换构造函数的使用方法; (4)了解在Visual C++6.0环境下进行运算符重载要注意的问题。实验11(1)了解继承在面向对象程序设计中的重要作用;(2)进一步理解继承和派生的概念; (3)掌握通过继承派生出一个新的类的方法;(4)了解虚基类的作用和用法。 2.实验内容 实验10 事先编好程序,上机进行调试和运行程序,分析结果。(1)声明一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加,减,乘,除,运算符重载函数作为Complex类成员的函数。编程序,分别求两个复数之和,差,积和商。(2)声明一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。 运行程序,分别求两个复数之和,整数和复数之和,(3)有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于两个矩阵相加 (4)声明一个Teacher(教师)类和一个Student(学生)类,二者有一部分数据成员是相同的,例如num(号码),name(名字),sex(性别)。编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上三个相同的数据成员移植过去。可以设想为:一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说任然是有用的,应当保留并成为其教师的数据的一部分。 实验11 事先编写好程序,上机调试和运行程序,分析结果。 (1)将教材第11章例11.1的程序片段补充和改写成一个完整的、正确的程序,用公用继承方式。在程序中应当包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上5个数据的值。 (2)将教材第11章例11.3的程序修改、补充,写成一个完整、正确的程序,用保护继承方式。在程序中应包括输入数据的函数。(3)修改上面第(2)题的程序,改为用公用继承方式。上机调试程序,使之能够正确运行并得到正确的结果。 对这两种继承方式做比较分析,考虑在什么情况下二者不能互相替换。 (4)分别声明Teacher(教师)类和Cadre(干部)类,采用多 重继承方式由这两个类派生出新类Teacher-Cadre(教师兼干部)。要求: Ⅰ.在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 Ⅱ.在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher-Cadre类中还包含数据成员wages(工资)。 Ⅲ.在基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。Ⅴ.在类体中声明成员函数,在类外定义成员函数。 Ⅵ.在派生类Teacher-Cadre的成员函数show中调用Teacher类中的display函数,输出性命、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。 3.程序代码 实验10(1) #include Complex Complex::operator +(Complex &c2){Complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c;} Complex Complex::operator-(Complex &c2){Complex c;c.real=real-c2.real;c.imag=imag-c2.imag;return c;} Complex Complex::operator*(Complex &c2){Complex c;c.real=real*c2.real-imag*c2.imag;c.imag=imag*c2.real+real*c2.imag;return c;} Complex Complex::operator/(Complex &c2){Complex c;c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);return c;} void Complex::display(){cout<<“(”< (2) #include double real; double imag;}; Complex Complex::operator+(Complex &c){return Complex(real+c.real,imag+c.imag);} Complex Complex::operator+(int &i){return Complex(real+i,imag);} void Complex::display(){cout<<“(”< Complex operator+(int &i,Complex &c){return Complex(i+c.real,c.imag);} int main(){Complex c1(3,4),c2(5,-10),c3;int i=5;c3=c1+c2;cout<<“c1+c2=”;c3.display();c3=i+c1;cout<<“i+c1=”;c3.display();c3=c1+i;cout<<“c1+i=”;c3.display();return 0;}(3) #include int mat[2][3];}; Matrix::Matrix(){for(int i=0;i<2;i++)for(int j=0;j<3;j++)mat[i][j]=0;} Matrix operator+(Matrix &a,Matrix &b){Matrix c;for(int i=0;i<2;i++)for(int j=0;j<3;j++){c.mat[i][j]=a.mat[i][j]+b.mat[i][j];} return c;} void Matrix::input(){cout<<“input value of matrix:”< void Matrix::display(){for(int i=0;i<2;i++){for(int j=0;j<3;j++){cout< #include int num; char name[20]; char sex; float score;}; Student::Student(int n,char nam[],char s,float sco){num=n;strcpy(name,nam);sex=s;score=sco;} class Teacher {public: Teacher(){} Teacher(Student&);Teacher(int n,char nam[],char sex,float pay);void display();private: int num; char name[20]; char sex; float pay;}; Teacher::Teacher(int n,char nam[],char s,float p} {num=n;strcpy(name,nam);sex=s;pay=p;} Teaxher::Teacher(Student& stud){num=stud.get_num();strcpy(name,stud.get_name());sex=stud.get.sex();pay=1500;} void Teacher::display(){cout<<“num:”< #include void get_value() {cin>>num>>name>>sex;} void display() {cout<<”num:“< cout<<”sex:“< int num; char name[10];char sex;}; class Student1:public Student {public: void get_value_1(){get_value();cin>>age>>addr;} void display_1(){cout<<”age:“< char addr[30];}; int main(){Student1 stud1;stud1.get_value_1();stud1.display();stud1.display_1();return 0;}(2) #include void display();protected: int num; char name[10]; char sex;}; void Student::get_value(){cin>>num>>name>>sex;} void Student::display(){cout<<”num:“< class Student1:protected Student {public: void get_value_1();void display1();private: int age;char addr[30];}; void Student1::get_value_1(){get_value();cin>>age>>addr;} void Student1::display1(){cout<<”num:“< int main(){Student1 stud1;stud1.get_value_1();stud1.display1();return 0;}(3) #include int num; char name[10]; char sex;}; void Student::get_value(){cin>>num>>name>>sex;} void Student::display(){cout<<”num:“< class Student1:public Student {public: void get_value_1();void display1();private: int age; char addr[30];}; void Student1::get_value_1(){get_value();cin>>age>>addr;} void Student1::display1(){cout<<”num:“< int main(){Student1 stud1;stud1.get_value_1();stud1.display1();return 0;}(4) #include Teacher(int,char[],char);void display();private: int num;char name[20];char sex;}; Teacher::Teacher(int n,char nam[],char s){num=n;strcpy(name,nam);sex=s;} void Teacher::display(){cout<<”num:”< class BirthDate {public: BirthDate(int,int,int);void display();void change(int,int,int);private: int year;int month;int day;}; BirthDate::BirthDate(int y,int m,int d){year=y;month=m;day=d;} Void BithDate::display(){cout<<”birthday:”< void BirthDate::change(int y,int m,int d){year=y;month=m;day=d;} class Professor:public Teacher {public: Professor(int,char[],char,int,int,int,float);void display();void change(int,int,int);private: float area;BirthDate birthday;} Professor::Professor(int n,char name[20],char s,int y,int m,int d,float a): Teacher(n,name,s),birthday(y,m,d),area(a){} void Professor::display(){Teacher::display();birthday.display();cout<<”area:”< Int main(){Professor profl(3012,”Zhang”,’f’,1949,10,1,125.4);cout< 4.调试结果 实验10(1)c1+c2=(8,-6i)c1-c2=(-2,14i)c1*c2=(55,-10i)c1/c2=(-0.2,0.4)(2)c1+c2=(8,-6i)i+c1=(8,4i)c1+i=(8,4i) (3) input value of Matrix:11 22 33 44 55 66 input value of Matrix:12 13 14 15 16 17 Matrix a: 11 22 33 44 55 66 Matrix b: 12 13 14 15 16 17 Matrix c=Matrix a + Matrix b : 23 25 47 59 71 83 (4)student1 : num :20010 name:Wang sex:m score;89.5 Teacher2: num:20010 name:Wang sex:m pay:1500 实验11(1) 10101 Li M 20 Beijing num:10101 name:Li sex:M age:20 address:Beijing (2) 10101 Li M 20 Beijing num:10101 name:Li sex:M age:20 address:Beijing (3) 10101 Li M 20 Beijing num:10101 name:Li sex:M age:20 address:Beijing (4)The original data: num:3012 name:Zhang sex:f area:125.4 The new data: num:3012 name:Zhang sex:f birthday:6/1/1950 area:125.4 5.实验心得 这一次上机实验,除了了解到了运算符重载的概念和用法,掌握几种常用的运算符重载的方法,了解转换构造函数的使用方法,同时也能了解虚基类的用法,理解继承与派生的概念。 但是,最主要的,我觉得,是通过这一次的上机实验,我了解到,有的实验本身是没有程序错误的,但是,也会由于实验环境的影响而不能正常运行。换句话说,有的程序并不能在Visaul C++的环境下运行,而不是程序自身的问题。所以,对于没办法调试成功的程序,我们也不能一味的认为程序有错误,要学会理性的判断程序的对错,再下结论。 C++程序实验报告 实验五继承与派生 实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。实验内容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示: error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’ error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’ 把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。错误代码: #include class Animal { private: int age;public: Animal(){};}; class dog:public Animal { public: void SetAge(int n){ age=n;};}; int main(){ dog one;one.SetAge(23);return 0;} 运行结果: 正确代码: #include class Animal { public: int age;public: Animal(){};}; class dog:public Animal { public: void SetAge(int n){ age=n;};}; int main(){ dog one;one.SetAge(23);return 0;} 运行结果: 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 源代码: #include cout<<“基类构造函数调用”< cout<<“基类析构函数调用”< class DerivedClass:public BaseClass { private: int b;public: DerivedClass(){ };cout<<“派生类构造函数调用”< cout<<“派生类析构函数调用”< int main(){ DerivedClass one; return 0;} 运行结果: 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 DEBUG: 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。源代码: #include class Vehicle { public: Vehicle(){};int a;void set(){ cout<<“Vehicle调用”< class Mortorcar:virtual public Vehicle { public: Mortorcar(){};int b;void set(){ cout<<“Mortorcar调用”< class Bicycle:virtual public Vehicle { public: Bicycle(){};int c;void set(){ cout<<“Bicycle调用”< class Mortorcycle:public Mortorcar,public Bicycle { public: Mortorcycle(){};int d;void set(){ cout<<“Mortorcycle调用”< int main(){ Mortorcycle one;one.a =1;one.b=2;one.set();return 0;} 运行结果: 错误情况: 思考题 1.如何在已有的类的基础上设计新的类? 派生一个新的类。 2.基类和派生类对象的构造顺序是怎样的? 先调用基类的构造函数在调用派生类的构造函数。3.如何利用虚基类解决二义性问题? 将共同的基类设置为虚基类,这时从不同的路径继承过来的同名数据成员在内存中就只有一个副本,同一个函数名也只有一个映射。 2006年武汉大学地理信息系统试题 一、名词解释 1、分布式数据库; 2、地理信息流; 3、窗坐标索引; 4、对象-关系管理模式; 5、多边形统计叠置分析; 二、简答题: 1、地理系统可以用S={Q,R}来表示,试描述其含义; 2、在GIS中,如何描述空间位置数据? 3、传统关系数据库在存储地理数据方面存在哪些局限?目前关系数据库领域有哪些发展? 4、四叉树数据结构的定义?线性四叉树的编码方法?在GIS中有何应用? 5、数据编辑和修改中有哪些错误?试举出不少于8种例子; 6、空间数据格式转换的主要内容是什么? 有哪些信息损失? 7、分布式空间数据共享的方法与原理?8、DCOM技术解决了WebGIS中的哪些问题? 三、分析题 1、在数据结构方面,无拓扑的矢量数据结构,拓扑矢量数据结构和面向对象数据结构各自是如何定义的? 试给出他们的分析与评价. 2、分析格网GIS与网络GIS的技术区别; 四、论述题 GIS的数据具有多源性,海量性,异构性等特点,据此论述数据存储与数据网络传输的策略与技术的协调. 2008 年攻读硕士学位研究生入学考试试题 科目名称: 地理信息系统基础科目代码930 一、名词解释(6*5 分) 1.智能地理信息系统 2.邻接矩阵 3.标识编码 4.有向赋权图 5.空间位置特征 6.空间数据的不确定性 二.简答题(5*16 分) 1.企业可以完成自身应用。现在要求能过通过网络平台发布信息。需要哪种网络系统结构?分为哪几种类型? 2.要解决多源数据的空间参考系不一致的问题,可以采用哪些方法? 3.理图层数据过大,会影响系统效率。采用何种索引可以解决该问题?与目标索引什么关系? 4.缓冲区多边形是怎么建立的?缓冲区分析与缓冲区查询有什么区别? 5.GIS 互操作需要解决主要问题?有哪些解决方法? 三.分析题。(20 分) 土地管理部门利用 GIS 给土地分类图进行面积统计时,发现统计结果不一致。请分析可能影响统计结果的因素。 四.论述题。(20 空间分析模型有哪些?并论述它们在开发 GIS 应用中的作用。 一.有十个题,共84分。(下面排列不按顺序) 1.空间元数据定义,作用。 2.DEM的几种形式,优缺点! 3.为什么说GIS是分布式? 4.密度数据的三种分类分级的方法? 5.两幅地图用了GIS的哪个功能?一个是底图,一个是专题地图。 6.时空模型有哪三种?各自特征。 7.泰森多边形的特点 8.地理信息系统的组成9.道格拉斯普克法 二.1.栅格数据编码,用线性四叉树编图上的栅格图象。(跟胡朋书上的图差不多!) 2.多边形拓扑关系的自动建立。不要求考虑岛的情况。(胡朋书上也有) 三.学校基础信息查询系统。分了好几个小问题。 2005年各校GIS专业研究生入学考试试题集锦 核心提示: 中科院遥感所 中科院遥感所 一、填空题 1.数据建模的三个步骤: 2.空间分析的三种类型: 3.矢量对象按其维数分为五类:分别判断集中对象是人为、还是自然空间对象。 4.GIS的硬件的四个组成部分 5.地图投影按几何畸变分为三种类型:高斯投影为 哪种投影。 6.数据库的类型 填空题就记得这么多了。 二、简答题 1.简述地理信息的组成部分。 2.元数据的概念和作用。 3.关于空间分析 三、论述题 1、为测定区域的水土分布情况,在区域内布设100个观测点,问如何布设?如何根据这100个观测值,分析区域的水土分布情况。(大意就是这样) 2、给出遥感数据的行程编码,你能将数据还原为原来的形式。并转换为二维的Morton码,然后求第5行第6列的Morton码是多少? 3、数据质量的各个要素和内容? 4、地理信息系统开发的步骤? 北大试题(全) 1。TIN,webgis,GEOCODING,LBS,场模型,扫描矢量化,元胞自动机,空间 掘 1。空间关系及类型特点 2。2DGIS,3DGIS 3。RS数据集捎贕IS 的作用 4。扩展SQL语言对地理空间操作以及对GIS开发的意义和其关键技术 5。空间误差来源以及其控制方法 6。叠加分析以及其应用 3分析城市居民就医方便程度,用GIS分析其过程。 中山GIS,专业选考C 编成题: 1.编程实现给定系数的方程组的解。 2.一只蚂蚁,在空间范围(MaxX,MinX-MaxY,MinY)的几何中心上。蚂蚁随机向8各方向行走,每步前进一个单元长度。当蚂蚁下一步即将跨出所在平面范围时,须重新选取随机方向行走。假设蚂蚁每秒钟前进8步,编程模拟蚂蚁24小时以后所在的位置。 3.这道题说不大清楚,大意是进行数据压缩的。即将一个链表数据结构去掉地4n个点,然后将余下的数据重新构建一个链表。 4.论述C语言进行信息系统开发的方法、过程、作用、难点及解决办法。 2005河海大学 元数据空间数据编码投影转换 数据压缩时空数据库DTM 1:地理空间数据的基本特征 2:GIS的基本构成3:spaghtti数据与拓扑数据的异同 4:ArcGis的产品内容及每一个产品的重要功能 5:GIS项目的系统设计步骤 6:GIS基本数据结构,及优缺点 7:GIS与MIS,CAD的异同点 8:游程编码,四*树编码?根据图 9:结合道路拆迁利用GIS进行面积的计算的步骤几所需数据 10:当前GIS的发展趋势 看看这些题目才知道原来考研的专业课是这么种类型的题目阿,福州大学GIS试题----福州大学2004年招收硕士/博士研究生入学考试试卷 招生学院 空间信息中心招生专业 地图学与地理信息系统` 地图制图学与地理信息工程 考试科目 地理信息系统与摇感导论科目编号 447 1名词解释(每题6分,共36分) 1.1 大气窗口 1.2 空间拓扑分析 1..3 空间滤波 1.4 统一建模语言(UML) 1.5 遥感影像的分辨率 1.6 网络地理信息服务 2简答题(共64分) 2.1 叙述一种有代表性的GIS商业化软件的基本情况和主要功能。(12分) 2.2 专业应用分析模型(如数值分析模型,探索性空间统计分析模型,解析模型)与GIS集成的主要方式及特点。(10分) 2.3 主要的遥感动态监测(变化检测,Change Detection)方法,各自的优缺点及应用条件(至少两种)。(14分) 2.4 简要叙述现代GIS软件工程中的核心工作流(主要步骤)及主要工作内容(16分) 2.5 请简述地球信息科学(Geoinfomation Science)和数字地球(Digital Earth)研究计划的主要内容及其在科学工程和国民经济建设中的重要地位和作用。(12) 3论述题(每题25分,共50分) 3.1 现有两张同一地区,不同专题的纸质底图(如土地利用现状图和森林资源种类分布(林相)图)。它们成图的时间不同,采用的比例尺不一,地图投影分属3度和6度分带,但同属高斯投影体系,部分地图要素定义相同,如耕地,有林地,居民点等。目标是以老图为基础,用新图更新部分的图斑。试设计一个算法(或流程),使两次放置原图在数字化仪平台上,两次所采集的数据仍属于同一坐标系,并进行叠置操作实现部分要素更新。(请写出必要的公式和图示) 3.2 请分别说明空间数据中栅格数据和矢量数据的各自特点,数据结构比较和相互转换算法。现以分类结果影像为原始数据,基于现有遥感和GIS基础软件平台,论述遥感分类数据进行矢量化建库(是一个有特殊要求的栅格转矢量的过程)的基本流程步骤,特点及关键技术。(请写出必要的公式和图标)第三篇:C++上机实验报告
第四篇:C++上机实验报告5(定稿)
第五篇:武汉大学地理信息系统试题