程序设计的目的和意义-Read

合集下载

程序设计的相关基本概念

程序设计的相关基本概念

程序设计的相关基本概念程序设计的相关基本概念导言程序设计作为计算机科学与技术领域的重要分支,是指通过编程语言将解决问题的思路和方法转化为计算机可以识别和执行的指令序列的过程。

它涉及到诸多相关的基本概念和原理,只有深入了解这些基本概念,才能更好地进行程序设计和开发。

本文将从深度和广度两个方面对程序设计相关的基本概念进行全面评估,并根据这些基本概念撰写一篇有价值的文章。

一、程序设计的基本概念1.1 算法算法是解决特定问题或实现特定功能的一系列清晰而有序的解决步骤。

它是程序设计的基础,程序设计师需要先明确问题的算法思路,再将其转化为计算机可以执行的代码。

算法的好坏直接影响着程序的运行效率和结果质量。

1.2 数据结构数据结构是指数据元素之间的关系以及对数据元素的操作。

在程序设计中,选择合适的数据结构可以更好地组织和管理数据,提高程序的执行效率。

常见的数据结构包括数组、链表、栈、队列、树、图等。

1.3 编程语言编程语言是程序设计的工具,是程序员与计算机进行交流的媒介。

不同的编程语言有不同的特点和适用场景,程序设计师需要根据具体的需求和情况选择合适的编程语言进行开发。

1.4 编程范式编程范式是指一种编程风格或思想,包括面向过程编程、面向对象编程、函数式编程等。

不同的编程范式有不同的特点和优势,程序设计师需要根据具体的问题选择适合的编程范式进行开发。

1.5 程序设计原则程序设计原则是程序设计的指导思想和规范,包括单一职责原则、开放-封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则、迪米特法则等。

遵循程序设计原则可以提高程序的可读性、可维护性和可扩展性。

1.6 软件工程软件工程是程序设计的一门学科,包括软件开发过程、软件构建、软件测试、软件维护等各个阶段。

它致力于提高程序设计的效率和质量,是程序设计师需要了解和掌握的重要知识领域。

二、个人观点和理解在我看来,程序设计的基本概念是程序设计师必须要深入理解和掌握的知识点。

C语言程序设计实验实验报告

C语言程序设计实验实验报告

C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。

⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。

需要复习课本以前所学内容,浏览上课讲解的相关内容。

2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。

3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。

也可以实现其他⾃定义的功能。

界⾯采⽤简易菜单形式,可以分级显⽰。

实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。

初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。

4、实验成绩评价标准:参见成绩评定表。

四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。

2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。

3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。

注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。

4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。

5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。

1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计实验报告目录一、程序设计 (1)1、程序设计目的 (1)2、程序设计基本原理 (1)二、课程设计任务及分析 (6)三、设计原理 (7)1、机器指令 (7)2、微程序流程图 (9)3、微指令代码 (10)4、课程设计实现步骤 (11)四、实验设计结果与分析 (15)五、实验设计小结 (15)六、参考文献 (15)一、程序设计1、程序设计目的(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

(2使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。

(3)掌握微程序控制器的组成原理。

(4)掌握微程序的编写、写入,观察微程序的运行。

(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。

2、程序设计基本原理(1)实验模型机结构[1] 运算器单元(ALU UINT)运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。

ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。

ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。

[2] 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。

三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。

[3] 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。

[4] 时序电路单元(STATE UNIT)用于输出连续或单个方波信号,来控制机器的运行。

程序设计技术和方法_summary

程序设计技术和方法_summary

软件的复杂性和控制
软件是人类开发的最复杂的系统 指令到整个软件/指令执行时间到软件运行时间/... 系统本身的复杂性 规模庞大 参与工作的人众多,主要靠手工和智慧,很难管理 静态描述与动态行为之间的关系,很难把握 环境和需求的动态演化带来的复杂性 复杂系统难完全理解,开发过程中新认识带来系统构造的变化 错误难以避免,修改的影响难以把握 需求不断变化,不断出现维护和提升功能的新需要 系统的良好设计,对修改、变动、升级等活动的支持至关重要 本书主要不是讨论巧妙的算法,而是讨论系统的组织和设计
程序设计技术和方法
裘宗燕,2009-2010 /10
Scheme 程序设计
基于对象和状态的程序设计 局部状态(局部变量)和状态变动(mutation),操作 set! 表结构的变动,操作 set-car! 和 set-cdr! 消息传递风格的程序设计 基本技术:生成带有局部状态的过程 用一个基本过程作为消息分发接口 可以定义一组内部过程实现对局部状态的操作(包括修改状态) 语言处理器(解释器、分析器、求值器等等) 基本框架是按结构分发(eval),调用适当的处理过程 处理抽象结构的过程(apply),根据语言的抽象机制设计 可能需要建立环境(全局和局部状态),支持多层抽象的执行 不同语言的实现有许多共性
总 结
总结主要是两部分
1.
贯穿本课程(教科书)整体的具有普遍意义的重要原理, 编程和软件开发的重要原则 抽象和复杂性控制 统一设计的意义和价值
2.
本课程涉及的主要技术内容 Scheme 语言和基本程序设计 一些具有通用性的高级技术
最后是复习考试的一些情况说明
程序设计技术和方法
裘宗燕,2009-2010 /1
基本结构:原子表达式,复合表达式 基本过程:cons, car, cdr (包括 cadr 等), +, -, *, /, quotient, remainder, abs, min, max, nil 等 基本谓词:null?, eq?, equal?, pair?, =, >, <, >=, <=, even?, odd?, number?, zero?, symbol? 等 特殊形式:if, cond, begin, and, or, not, quote 表操作:list, append, length, map, assoc, memq, member 过程定义和局部状态:define, lambda, let, eval, apply 修改状态:set!, set-car!, set-cdr! 输入输出:read, display, newline(考试中不要求做输入输出) 求值模型:代换模型,环境模型 过程产生的典型计算:线性迭代,线性递归,树形递归

00-59秒计时器设计

00-59秒计时器设计

00-59秒计时器一、课题目的1、设计目的及意义(1)设计目的1)掌握51系列单片机的基本硬件结构及工作原理;2)掌握51系列单片机的汇编语言及基本程序设计方法;3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。

(2)设计意义1)了解单片机系统构成;2)了解单片机开发流程;3)培养自主学习的能力;4)构建电子系统知识体系;5)切实培养单片机应用系统的实践设计开发能力;6)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

2、总体设计方案(1)设计要求1)该计时器具有计时秒表的功能,计时范围为00—59秒;2)利用软件延时实现一秒计时功能;3)设计开始、暂停和清零按钮;4)计时时间利用数码管显示。

(2)设计原理本设计要求进行计时并在数码管上显示时间,分为时钟电路、按键电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。

在设计过程中,用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到00,从新计数。

对于秒计数单元中的数据要把它十位数和个数分开,方法采用对10整除和对10求余。

一秒时间的产生采用软件延时的方法来完成,经过精确计算得到1秒时间为1.002 秒。

在数码管上显示,通过查表的方式完成。

表1数码管对应段位码(3)电路原理图图1电路原理图(4)单片机开发板原理及部分功能说明STC89C52RC是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。

STC89C52完全兼容AT89C51 AT89C52 AT89S51 AT89S52 而且加入了更多新功能, 它内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD(AD系列),片内自带EEPROM、片机自带看门狗、双数据指针等。

c语言课程设计目的

c语言课程设计目的

c语言课程设计目的C语言课程设计目的导言:C语言作为一门广泛应用于编程领域的高级程序设计语言,其学习和掌握对于计算机科学专业的学生来说是必不可少的。

为了帮助学生更好地理解和掌握C语言,课程设计是一个重要的环节。

本文将围绕C语言课程设计目的展开论述,旨在明确课程设计的目标和意义。

一、提高学生的编程能力C语言课程设计的首要目的是培养学生的编程能力。

通过设计实际的编程项目,学生需要运用所学的C语言知识解决具体的问题。

在设计过程中,学生将面临问题分析、算法设计、代码实现等一系列挑战,从而提高自己的编程技巧和解决问题的能力。

二、加深对C语言的理解通过课程设计,学生需要深入理解C语言的各种特性和语法规则。

在实际项目中,学生需要选择合适的数据结构和算法,并正确运用C语言的语法进行编码。

这不仅要求学生对C语言的各种语法知识有深入的理解,还需要他们能够灵活运用这些知识解决实际问题。

三、培养学生的团队合作精神在课程设计中,学生通常需要与其他同学组成小组,共同完成一个大型的编程项目。

这要求学生具备良好的团队合作精神和协作能力。

通过与他人合作,学生可以学会倾听他人的意见、分工合作、解决冲突等技能,为将来的工作和生活打下坚实的基础。

四、培养学生的问题解决能力C语言课程设计不仅考验学生的编程能力,更重要的是培养他们的问题解决能力。

在设计过程中,学生往往会遇到各种各样的问题,如代码错误、逻辑错误、性能问题等。

通过不断解决这些问题,学生可以提高自己的分析和解决问题的能力,培养自己的耐心和毅力。

五、拓宽学生的视野C语言课程设计通常会涉及到一些实际的应用场景,如游戏开发、图像处理、网络编程等。

通过设计这些项目,学生可以了解到计算机科学在不同领域的应用,拓宽自己的视野。

同时,学生还可以学习到一些与C语言相关的技术和工具,如调试器、性能优化等,为将来的工作和学习打下坚实的基础。

结语:C语言课程设计作为培养学生编程能力和解决问题能力的重要环节,具有重要的意义。

第4讲 面向对象的程序设计


(3)私有成员 私有成员通过在成员声明中使用private修饰 符来定义.C#中的私有成员只有类中的成员 可以访问,在类的外部是禁止直接访问私有 成员的.这也是C#中成员声明的默认方式, 即若在成员声明时没有使用任何访问修饰符, 那么C#自动将它限定为私有成员. (4)内部成员 内部成员通过在成员声明中使用internal修饰 符来定义.该成员只能被程序集中的代码访 问,而程序集之外的代码无法访问.
(3)不能显式地调用析构函数. (4)析构函数的命名规则是在类名前加上一个"~"号. 如上例的Example1类的析构函数为: ~Example1() { }; (5)析构函数在对象销毁时自动调用. 【例7-3】 类的构造函数和析构函数的演示.(程序代 码详见例7-3)[执行结果]
using System; class Exam { static public int a;//静态成员 public int b;//实例成员 public Exam()//构造函数,没有参数,用来给成员变量赋初值0 { a=0; b=0; } public Exam(int m,int n)//构造函数,有参数,用来给成员变量赋特定的初值 { a=m; b=n; } ~Exam()//析构函数 {} } class A_7_3 { public static void Main() { Exam E1=new Exam();//产生类的实例E1,自动调用无参数的构造函数 Console.WriteLine("a={0},b={1}",Exam.a,E1.b); Exam E2=new Exam(10,20);//产生类的实例E2,自动调用有参数的构造函数 Console.WriteLine("a={0},b={1}",Exam.a,E2.b); } }

初中Python程序设计 文件操作 教学设计方案

初中Python程序设计文件操作教学设计方案目标本教学设计方案旨在帮助初中学生研究和理解Python程序设计中的文件操作。

通过教授文件的读取、写入和处理技巧,学生能够掌握基本的文件操作概念和实践能力。

教学内容1. 文件操作介绍- 了解文件操作的基本概念和作用。

- 研究文件的打开、关闭和保存等操作。

2. 文件读取- 研究如何打开和读取文本文件。

- 理解文件读取时的编码问题。

- 练使用Python的`open()`函数和`read()`方法进行文件读取。

3. 文件写入- 研究如何创建和写入文本文件。

- 练使用Python的`write()`方法和`close()`函数进行文件写入。

- 理解文件路径和保存位置的选择。

4. 文件处理- 研究如何处理文件的内容。

- 练使用Python的字符串处理函数对文件内容进行操作和处理。

5. 实例练- 通过实例练巩固所学的文件操作知识。

- 指导学生完成基于文件读取和写入的简单程序设计。

教学步骤1. 引入- 简要介绍文件操作的重要性和应用场景。

2. 讲解- 详细讲解文件操作的基本概念和常见操作方法。

- 使用示例代码演示文件读取和写入的过程。

3. 实践- 指导学生进行小组活动,通过合作实践文件操作。

- 学生可以选择自己喜欢的话题,创建文本文件并进行读取和写入操作。

4. 总结- 对所学内容进行总结和回顾。

- 强调文件操作的重要性和实用性。

5. 练- 提供一些简单实例练,让学生巩固文件操作的技能。

- 鼓励学生自主设计和实现基于文件操作的程序。

教学评估1. 小组活动表现评估- 观察学生在小组活动中的表现和合作能力。

- 考察学生对文件操作的理解和实践能力。

2. 实例练评估- 评估学生完成的实例练的质量和准确性。

- 考察学生对文件操作知识的应用能力。

教学资源1. PPT课件- 提供文件操作的详细讲解和示例代码。

2. 文本文件示例- 提供一些文本文件示例供学生练使用。

3. 简单程序案例- 提供一些基于文件操作的简单程序案例供学生参考。

面向对象程序设计教案完整版


01
将对象的属性和行为封装在一起,隐藏内部实现细节,只对外
提供必要的接口。封装提高了代码的安全性和可维护性。
继承(Inheritance)
02
子类可以继承父类的属性和行为,并可以添加新的属性和行为
。继承实现了代码的重用和扩展。
多态(Polymorphism)
03
子类可以重写父类的方法,实现不同的行为。多态使得程序具
构造函数作用及使用方法
构造函数作用
构造函数是一种特殊的方法,用于创建类的实例对象。当使 用`new`关键字创建对象时,会自动调用该类的构造函数。
使用方法
在类中定义构造函数时,需要遵循以下规则:构造函数的名 称必须与类名相同;构造函数没有返回类型;可以使用不同 的参数列表定义多个构造函数,形成构造函数的重载。
类与对象概念及关系
类(Class)是对具有相同属性 和行为的一组对象的抽象描述,
它定义了对象的结构和行为。
对象(Object)是类的实例, 具有类所描述的属性和行为。每 个对象都有其独特的状态和行为

类与对象之间的关系是“类型实例”关系,即类是对象的类型
,对象是类的实例。
封装、继承和多态原理
封装(Encapsulation)
类定义
类是面向对象编程的基本单元,它定义了一类事物的共同 属性和行为。在Java中,使用`class`关键字来定义一个类 。
成员变量
成员变量是类的属性,用于描述该类对象的状态。在类中 声明成员变量时,需要指定变量的访问修饰符、数据类型 和变量名。
方法声明
方法是类的行为,用于描述该类对象可以执行的操作。在 类中声明方法时,需要指定方法的访问修饰符、返回类型 、方法名和参数列表。

VFP-程序设计

12
补充: 1.显示xsda.dbf中在1978年以后出生的记录。
DISPLAY FOR 出生年月>{1978/12/31} 或:DISPLAY FOR year(出生年月)>1978
2.显示xsda.dbf中所有是团员的记录。
LIST FOR 团员否
13
二、执行 1.菜单方式:Program->Do… 在弹出的Do 对话框中选择程序文件并执行。 2.命令方式: do <命令文件名> 例4-3:执行例4-1创建的程序文件 do a.prg 例4-3:执行例4-2创建的程序文件 do LT2
操作
36
几点说明 a.IF--ELSE—ENDIF三者要匹配 b.ELSE,ENDIF要独占一行 c.ENDIF总是离与它最近的IF语句匹配。
37
2.多分支(情况分支语句)
<命令格式> DO CASE 情况n 其他 情况1 情况2 CASE <条件表达式1> 条件1 条件2 条件3 条件n F <语句序列1> T CASE <条件表达式2> B B1 B2 B3 Bn <语句序列2> …… [OTHERWISE <语句序列>] ENDCASE
SR>3000?
计算所得税: ZS=SR*0
计算所得税 ZS=SR*0.2
显示个人所得税
结束
35
SET TALK OFF INPUT „请输入收入情况:’ TO SR IF SR>9000 <- 9000以上 ZS=SR*0.4 ELSE IF SR>6000 <- 6000~ 9000 ZS=SR*0.3 ELSE IF SR>3000 <- 3000~6000 ZS=SR*0.2 ELSE <- 0~3000 ZS=0 ENDIF ENDIF ENDIF ?‟应征税为:‘,ZS
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地籍测量程序设计报告
1 / 5
一、程序设计的目的和意义
地籍测量程序设计旨在通过用VC++语言编写测量学中的一些基本计算公式的程序,巩
固和掌握测量学的基本概念和基本技能,提高实际动手能力,并通过实际编程实现测量在地
籍测量中运用,加深对地籍测量的理解和掌握。

二、程序设计的内容

针对本次地籍测量程序设计,我编写以下4个测量计算公式:
1) 高斯投影坐标的正、反算;
2) 平面坐标的正、反算。

三、程序设计的原理和思路

(一) 程序设计的原理
我编写的两个测量计算公式程序的原理都是依据测量学书本上的基本计算公式。
1、高斯投影坐标的正反算
正算(依据《大地测量学基础》 孔祥元编著,P 167):

反算(依据《大地测量学基础》 孔祥元编著,P 169):
但是反算的计算机编程实现是根据反算的电算公式(依据《大地测量学基础》 孔祥元
编著,P 176)。
2、平面坐标的正反算(依据《数字测图原理与方法》 P180)
(1)正算
如图1所示,设A为已知点,B为未知点,当点A坐标(XA,YA)、A点至B点的水平距
离S和坐标方位角β均为已知时,可求得B点的坐标(XB,YB)。
XB=XA+Scosβ YB=YA+Ssinβ
地籍测量程序设计报告
2 / 5
坐标增量:
△X=
Scosβ
△Y=
Ssinβ

图1
(2)反算
设A、B两已知点的坐标分别为(XA,YA)和(XB,YB),则直线AB的坐标方位角
β和水
平距离S为:

β=


22

YXS

上式反三角函数计算坐标方位角,不论用三角函数表或一般的计算器,只能
得到象限角,此时,可根据坐标增量的正负,按上面“坐标增量的正负号”表决
定坐标方位角所在的象限,再按下表将象限角换算为坐标方位角
象限 关系 象限 关系
Ⅰ α=R Ⅲ α=180°+R
Ⅱ α=180°-R Ⅳ α=360°-R

(二) 程序设计的思路
本程序要求有友好的用户界面,故我设计的程序都是在对话框应用程序的基础上按照上
面的测量公式的原理进行编写的。
一般都是首先建立主对话框界面,然后一次建立各个子对话框,通过点击主对话框的按
钮调用子对话框,从而在各个子对话框实现不同的功能。对于每个子对话框的实现,首先根
据需要输入输出的数据添加各个子控件及对其添加成员变量,然后在成员函数中依据测量计
算公式编写实现算法。

四、程序编写的步骤

由于篇幅限制以及四个子程序的编写步骤大致相同,故这里只是详细给出高斯投影坐标
正算的编写步骤。
1、首先建立基于对话框的应用程序框架,然后在上面添加命令按钮,如图2所示。

图2
2、新建高斯投影坐标正算对话框,并且添加相应的成员变量。高斯投影坐标正算对话
地籍测量程序设计报告
3 / 5
框的设计界面如图3所示。

图3
3、对“清除”按钮添加消息处理函数,使其能清除输入对话框的数据,其代码如下:

4、对“计算”按钮添加消息处理函数,使其实现坐标正算的功能,其代码如下:
void Czuobiaozhengsuan::Onclear()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_EDIT1)->SetWindowText("");
GetDlgItem(IDC_EDIT2)->SetWindowText("");
GetDlgItem(IDC_EDIT3)->SetWindowText("");
GetDlgItem(IDC_EDIT4)->SetWindowText("");
GetDlgItem(IDC_EDIT5)->SetWindowText("");
GetDlgItem(IDC_EDIT6)->SetWindowText("");
}

void Czuobiaozhengsuan::Onjisuan()
{
// TODO: Add your control notification handler code here
UpdateData();
double angle; //方位角角度
double fangle; // 方位角弧度
double fSina, fCosa; //正弦、余弦值
angle = m_deg + m_min/60.0 + m_sec/3600.0;
fangle = RADIAN(angle); //角度转换成弧度
fSina = sin(fangle); // 计算旋转角度的正弦
fCosa = cos(fangle); // 计算旋转角度的余弦
m_zX = m_bianchang * fCosa; //计算x坐标增量
m_zY = m_bianchang * fSina; //计算y坐标增量
m_Xb = m_Xa + m_zX;
m_Yb = m_Ya + m_zY;
UpdateData(FALSE);
}
地籍测量程序设计报告
4 / 5
5、在添加其他代码后,就实现了高斯投影坐标正算功能,然后对于后面的3个子程序
也可按其相同的方法实现其功能,他们的对话框截图如下:

图4 高斯投影坐标反算
图5 平面坐标正算
图6 平面坐标反算
地籍测量程序设计报告

5 / 5
五、程序设计结果分析与总结
1、程序设计结果分析
为了检核编写的程序的正确性,在完成程序编写后都将已知数据代入程序中计算,然后
和正确的结果进行比较,结果均正确。

2、程序设计总结
理论必须付诸于实践,只有亲身实践过才能真正掌握,这是我通过这次实习得到的启示。
在以前只是利用现成的测量软件进行相关计算,没有很重视算法的程序实现,通过这次
程序设计我才感受到测量公式的编写的不易,从根本上理解了公式。同时,对于地籍测量也
有了更深的理解,相信对以后的实践会更加有益。

相关文档
最新文档