信息学院 测绘系 董超 Marchac-0968@163.com 文理楼1213 西 测 绘 程 序 设 计 第 一 章 绪 论 信息学院 测绘系 董超 Marchac-0968@163.com 文理楼1213 西.

Slides:



Advertisements
Similar presentations
《程序设计实践》 孙辉 理工配楼104A
Advertisements

计算机网络教程 任课教师:孙颖楷.
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
实用操作系统概念 张惠娟 副教授 1.
.NET平台和C#编程 信息工程系:罗明刚.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第一章 認識Visual C 環境架構 1-1 認識Visual C Visual Studio 概觀
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
南华大学计算机学院 软件工程系 QQ讨论群:
.NET 簡介.
.NET 簡介.
SVN的基本概念 柳峰
第二讲 搭建Java Web开发环境 主讲人:孙娜
面向对象建模技术 软件工程系 林 琳.
第1章 .NET与C# 为什么要设计一门新的编程语言? C#在微软的.Net平台中占据什么样的地位?
基于 C# 的 .NET Framework 程序设计
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第二章 Visual Studio .NET 2003.
第1章.NET Framework 2.0简介.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
管理信息结构SMI.
Ch01網際網路、HTML 、 Script 、 ASP.NET簡介
走进编程 程序的顺序结构(二).
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Visual Studio Team System 简介
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Windows 7 的系统设置.
《编译原理与技术》 期末复习 计算机科学与技术学院 郑启龙 李 诚 25/12/2018.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
程序设计工具实习 Software Program Tool
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
$9 泛型基础.
21世纪高职高专规划教材 C#语言程序设计 李继武 彭德林 主 编 张 珑 赵 松 周建辉 副主编
第四章 团队音乐会序幕: 团队协作平台的快速创建
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
第1章 ASP.NET基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
2019/5/8 第2章 数据分析软件介绍.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
WEB321 使用ASP.NET2.0快速开发电子商务网站
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
编译原理 中南大学软件学院 陈志刚.
Presentation transcript:

信息学院 测绘系 董超 Marchac-0968@163.com 文理楼1213 西 测 绘 程 序 设 计 第 一 章 绪 论 信息学院 测绘系 董超 Marchac-0968@163.com 文理楼1213 西

课程简介 学时: 理论 36 实验 18 学分: 3 1、课程内容简介 学时: 理论 36 实验 18 学分: 3 1、课程内容简介 以.NET平台上的C#语言来介绍测绘程序的编程思路、方法、步骤和技巧。 主要内容分为C#语言基础及测绘程序设计两部分。 学习的测绘程序包含简单测量程序、测量平差、坐标转换、路线测量计算程序及简单影像处理程序。

课程简介 2、课程教学的任务 3、课程的考核方法与要求 学习掌握基本测绘程序实现。 培养独立编写其它常用的测量应用程序的技能。提高利用计算机 技术实际问题的能力,为今后的学习和工作打下基础。 3、课程的考核方法与要求 平时成绩(包括提问、作业、出勤情况等)占30%,期末笔试 试卷考核成绩占70%。

课程简介 4、注意事项 编程语言 VB、C、C++、C#、PAD IDE Visual Stidio 2010, SharpDevelop 练习实验 认真练习,亲自编写,不要复制粘贴。 课程教材

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.1 测绘程序设计的意义 计算机在现代测绘科学中的广泛应用带来极大便利 测绘软件不通用 编写相关专业程序,深化测量知识的过程。 方便、快速、准确,可重复性 测绘软件不通用 测绘相关软件丰富数据计算、制图、遥感影像处理、数字摄影测量、地理信 息系统(GIS)、 GPS平差计算等软件。 实际工作遇到的问题千差万别,特定应用需要掌握一门编程语言,设计 相应的程序解决实际问题。 编写相关专业程序,深化测量知识的过程。 随着 光谱数据(波峰波谷),设计程序分:独立开发,二次开发

1.1 测绘程序设计的意义

1.1 测绘程序设计的意义

1.1 测绘程序设计的意义

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.2 .NET概述 .NET之前的世界 讨论.net之前,先思考一下现有这个平台诞生的原因。 1.2.1 C/WINDOWS API程序员的生活 联合使用C编程语言和Windows API是一种非常复杂的工作。 C语言非常简练,程序员要手动内存管理,讨厌的指针运算和语 法结构。 C语言不具备面向对象开发的优点。 Windows API定义的数以千计的全局函数和数据类型。 一直以来,人们都在找程序开发的“银弹”。语言、框架、架构和API曾被人们认为是找到了,但最终都在一些更好的至少是更新的东西前面黯然失色。

1.2 .NET概述 1.2.2 C++/MFC程序员的生活 1.2.3 VB6程序员的生活 C++编程语言对原始软件开发模式有很大的提升。C++是在C之上的面向对象层。但有了OOP带来的好处,还是无法避免上面的痛苦。 MFC的主要作用是把基本的Windows API的一个健全子集包装成类、宏和很多代码生成工具,但是无论多么强大,用他开发还是艰难并且容易犯错的过程。 1.2.3 VB6程序员的生活 因为简单,VB6开始流行,用户花费最少的功夫创建复杂的用户界面、代码库以及数据库访问逻辑。 最大不足是他是基于对象而不是面向对象,例如,VB6不允许程序员在类之间建立“is-a”的关系。

1.2 .NET概述 1.2.4 COM程序员的生活 COM是微软的前一个应用程序开发框架。是一种可复用的二进制模块。 优点是以语言无关的形式可以被访问。 COM被认为是一个非常成功的数据模型,但是背后太过于复杂,而且脆 弱的组件注册问题和很多部署相关的问题(DLL地狱)。 即简单又复杂。简单是相对于使用者,复杂是对于开发者,这被称为不对 称的开发方式。 举个例子,C++要调用VB里创建返回整型数组的方法,需要调用COM API创建SafeArray结构体,一下导致几十行代码,但这是唯一能兼容的 方式。类似复杂性还体现在boolean值上!

1.2 .NET概述 基于上述原因,微软在2001年首次提出了“.NET”的概念。 微软CEO-Steve Ballmer: .NET代表一个集合,一个环境,一个可以作为 平台支持下一代Internet的可编程结构。 .NET最终目标: 让用户在任何地方、任何时间,利用任何设备都能访问所需信息、文件和程序。用户无需知道这些信息存放在何处,所有后台的复杂性是完全屏蔽的。 Steve Ballmer mono

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.3 .NET体系结构 1.3.1 Visual Studio .NET 是一套完整的开发工具,用于创建各种类型的应用程序,包括 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。 .NET Framework是生成、部署和运行各种应用程序的平台.NET Framework 具有两个主要组成部分: 通用语言运行时(Common Language Runtime--CLR),是 .NET Framework 的基础 .NET Framework 类库。

.NET Framework体系结构 Windows Forms Data Classes Base Class Library Operating System Common Language Runtime (CTS, JIT, Memory Management) Base Class Library (System.IO, System.Drawing, System.Threading) Data Classes (ADO.NET, XML, SQL) Windows Forms Web Applications Web Services Web Forms ASP .NET Mobile

1.3 .NET体系结构 (技术层次) OS 公共语言运行库CLR .NET类库 ADO.NET ASP.NET 公共语言规范(CLS) C# .NET Framework VB C++ ... Windows Form XML Common Language Specification CLS定义了在.NET平台上运行的语言所必须支持的最小规范,用以避免不同语言特性产生的错误,实现语言之间互操作性。 Common Language Runtime CLR是应用程序的执行引擎,负责程序安全地载入和运行用户程序代码,包括内存分配、垃圾收集和安全检查等,并保证应用和底层操作系统之间必要的分离。 mono

语言特定的编译器和运行库 代码被执行 VB 可执行 代码 可执行 编译器 C++ 代码 R U N T I M E 执行代码阶段通常称为运行时 可执行 代码

.NET代码的编译 IL 和 CLR 的使用 Intermediate Language Common Language Runtime C++ VB 编译器 IL + 元数据 可执行 代码 C L R R U N T I M E 代码被执行 .NET 程序被编译两次,第一次编译很慢,而第二次编译较快!

MSIL 中间语言 MSIL + 元数据 .NET 源 代码 语言 编译器 CLR 机器 代码 代码 被执行 帮助语言实现互操作 通过 CLR将 MSIL 转换为具体 CPU 的代码 IL不是字节代码,但很接近字节代码。因此,执行应用程序时,IL 到机器码的转换速度非常快! CPU 无关的指令集

IL语言范例 IL_0000: nop IL_0001: call IL_0006: nop IL_0007: ldc.i4.0 IL_000d: nop IL_000e: ldnull IL_000f: ldftn IL_0015: newobj IL_001a: call IL_001f: nop IL_0020: newobj IL_0025: call IL_002a: nop IL_002b: newobj IL_0030: throw

CLR 通用语言运行时CLR 管理内存 跨语言集成(特别是跨语言继承) 易于设计组件和应用程序,其对象可以跨语言互动 .NET 源 代码 MSIL + 元数据 机器 被执行 管理内存 易于设计组件和应用程序,其对象可以跨语言互动 跨语言集成(特别是跨语言继承) JIT 编译器:一次编译,就可运行在支持运行库的任何 CPU 和操作系统上 语言 编译器

1.3 .NET体系结构 实现一个程序的过程 (1)使用某种.NET兼容语言(如C#)编写应用程序代码 (2)把代码编译为CIL,存储在程序集中 (3)在执行代码时,首先必须使用JIT编译器将代码编译为本机代码 (4)在托管的CLR环境下运行本机代码,以及其他应用程序或进程 C#代码 C#应用程序代码 程序集 编译 程序集 本机代码 JIT编译 系统运行库 .NET CLR 本机代码

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.4 C#及编程环境 C#可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C++语言演化而来,是微软专门为使用.NET平台而创建的。 C#开发应用程序比使用C++简单,因为语法比较简单 在C++中能完成的任务几乎都能利用C#完成 C#代码比C++略长,因为C#是一种类型安全的语言。在类型之间转换时,必须遵守严格的规则。在C#中不能完成诸如把4字节的内存分配给这个数据后,使其有10个字节长,并把它解释为“X”的任务。

1.4 C#及编程环境 C#能写什么程序 Web程序:主要是利用ASP.NET技术开发的动态网站,用户可以使用IE浏览器进行访问,是B/S模式的应用程序。 Windows程序:这种程序运行在客户机上,常有一到多个Form元素,是一种典型的C/S模式应用。 移动数字设备程序:为智能手机、PDA、便携式游戏机等开发的应用程序。 局域网应用程序:局域网中的分布式计算机之间需要互相通过.NET Remoting(.NET远程)等技术进行通信。 Web Services应用程序:基于XML Web Services技术开发的跨平台、跨系统的分布式系统。 …

1.4 C#及编程环境 VS安装 略 Sharpdevelop安装

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.5 创建控制台应用程序

1.5 创建控制台应用程序

1.5 创建控制台应用程序

1.5 创建控制台应用程序

1.5 创建控制台应用程序

1.5 创建控制台应用程序

编译和执行 C# 应用程序 要生成 C# 项目,请从菜单中选择“生成” “生成解决方案” 该过程将编译项目中包括的所有文件,编译结果显示在“输出”窗口中 如果结果显示“生成: 1 成功或最新,0失败,0被跳过”,则说明已经成功生成,然后即可交付该应用程序

1.5 创建控制台应用程序

1.5 创建控制台应用程序 C# 应用程序文件夹结构 创建一个与项目同名的文件夹。 该文件夹包含项目文件“xx.csproj”和其他关联文件 每个新项目都创建了 bin、obj和Properties 三个文件夹。 Bin和obj这两个文件夹下都有一个 Debug 子目录,其中包含可执行文件 HelloWorld.exe 在解决方案资源管理器中启用“显示所有文件”选项,可查看项目的结构

程序入口点, Main 的返回类型为 void 控制台类的 WriteLine() 方法用于显示输出结果 Hello World 程序 描述代码的注释 //这是用 C# 编写的一个简单的 HelloWorld 程序 using System; namespace Notepad { class HelloWorld static void Main() Console.WriteLine("Hello World"); } 导入 System 命名空间 声明命名空间 Notepad 声明 HelloWorld 类 程序入口点, Main 的返回类型为 void 控制台类的 WriteLine() 方法用于显示输出结果 将文件保存为 *.cs

1.5 创建控制台应用程序 说明: 1. 程序一般包括以下几部分: 2.类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中可以有: 1.  程序一般包括以下几部分: 名称空间的引用:使用using关键字指明引用的名称空间。 名称空间的声明:使用namespace关键字声明名称空间。 类:使用class关键字声明类。 Main方法:Main方法是C# 程序的入口。 2.类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中可以有: (1)变量声明 (2)构造函数 (3)方法 (4)属性 (5)事件 3.  一个文件中可以有1个或者多个类。 4. 所有语句都以分号";"结束。

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

1.6 创建windows应用程序

1.6 创建windows应用程序

1.6 创建windows应用程序

1.6 创建windows应用程序

1.6 创建windows应用程序

1.6 创建windows应用程序

目录 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.1 测绘程序设计的意义 1.2 .NET概述 1.3 .NET体系结构 1.4 C#及编程环境 1.5 创建控制台应用程序 1.6 创建windows应用程序 小结

小结 本章主要内容包括 作业,安装编程环境,创建一个控制台程序与WinForm程序(输出自己的姓名) .NET的基本概念及体系 C#程序的概念 C#的编程环境 控制台程序与winform程序的实现。 作业,安装编程环境,创建一个控制台程序与WinForm程序(输出自己的姓名)