博文

Divisibility by 7 is a Walk on a Graph,(2013-10-11 11:46:00)

摘要:Found this cool test for divisibility by 7 on Tanya’s website. Read about how to use it here, but basically you follow that diagram a certain way.

Divisibility by 7 :-

and yeah the graph is planar. :D
Write down a number n. Start at the small white node at the bottom of the graph. For each digit d in n, follow d black arrows in a succession, and as you move from one digit to the next, follow 1 white arrow.

For example, if n = 325, follow 3 black arrows, then 1 white arrow, then 2 black arrows, then 1 white arrow, and finally 5 black arrows.

If you end up back at the white node, n is divisible by 7.......

阅读全文(1411) | 评论:0

VC++实现GPS全球定位系统定位数据的提取(2013-08-08 23:34:00)

摘要: 摘要: 本文提出了一种在VC下实现对GPS全球定位系统定位信息的接收以及对各定位参数数据的提取方法。

                               引言

                              卫星导航技术的飞速发展已逐渐取代了无线电导航、天文导航等传统导航技术,而成为一种普遍采用的导航定位技术,并在精度、实时性、全天候等方面取得了长足进步。现不仅应用于物理勘探、电离层测量和航天器导航等诸多民用领域,在军事领域更是取得了广泛的应用--在弹道导弹、野战指挥系统、精确弹道测量以及军用地图快速测绘等领域均大量采用了卫星导航定位技术。有鉴于卫星导航技术在民用和军事领域的重要意义,使其得到了许多国家的关注。我国也于2000年10月31日和12月21日成功发射了第一颗和第二颗导航定位试验卫星并建立了我国第一代卫星导航定位系统--\"北斗导航系统\",但由于起步晚也没有得到广泛应用。目前在我国应用最多的还是美国的GPS系统。本文就针对当前比较普及的GPS系统,对其卫星定位信息的接收及其定位参数提取的实现方法予以介绍。

                               定位信息的接收

  &......

阅读全文(1302) | 评论:0

听大师讲课(2013-06-09 10:36:00)

摘要:施敏先生在我们学校开课,《半导体器件物理》。共三周,九次课,每次二小时。还做了一个学术报告。我推掉了所有的活动,完整地听了这些课。    施先生发明了nonvolatile器件,与MOS并称为二大基础器件。没有它,我们现在的数码产品不可能这么小巧玲珑,这么高容量,这么便携。施先生也以此为傲。另一大成就,我想就是《半导体器件物理》这本书了,被世界各国广泛采用。施先生还到各地开课。我知道的是96年在吉大讲,06年在西安交大讲过,这次,施先生以七十七岁高龄来到我们学校。      课程内容我非常熟悉。我听的不是课程内容,而是讲法,即表述方法。做为领域内顶尖的科学家,其职业生涯与半导体器件发展同步,因此施先生对五花八门的器件了若指掌,讲起来行云流水,哪些是关键问题,哪些需要重点阐述,一清二楚。一个小小的例子,随口而出的数据,一句话的提示,都使教学形象起来,不是那么干干的没有弹性。这些可能就是我们这些小教员不具备的了。      由此,我想,教改,不应该是形式上的,而应该是内涵。我们的教员有多少对所讲授内容了然于胸。看一遍书就上讲台的有多少?教员都没吃透的知识如何传递给学生。可是现在教员哪里有时间,有心情去深入把握所讲授知识啊!不是不想,是不让。做一个单纯的读书人,理解知识,传递知识,可以吗?不可以吧。一个纯粹的读书人吃不着饭吧。百无一用是书生。我们的社会容不下这种百无一用的书生。眼见各种各样的教改项目,花里胡哨的,对教学哪里会有益处。那么多教改项目,而我们的教学越来越不受待见。      有学生问,大学时的施先生梦想是什么?显然是因了当今中国梦而发此问。施先生回答:该读书时读好书,该考试时好好准备考试。工作时,全心完成工作,踏入社会的第一年是最重要的。。。。。。,哪里有什么long-term plan,都是瞎扯的。感谢施先生如此回答。   这本书已经是第三版了,一直排在本专业相关书目第一位。施先生讲了写这本书的初衷。当时在贝尔实验室里,有个项目,施先生想负责,但老板安排给了另一个更年轻的人去做,施先生说这可能是种族歧视。为此施先生想换家公司,但夫人不愿意,怕麻烦......

阅读全文(1920) | 评论:0

C++矩阵类的编写(2013-05-18 10:48:00)

摘要:    面向对象程序设计和泛型程序设计是C++的两大特色,它们分别通过类和模板来实现。说实话,对于像我这样编写小程序的人来说,这些功能基本用不上,面向过程的C足矣。但是,毕竟在学C++,出于兴趣,就设计编写了一个矩阵类,算是对类和模板的一次综合运用。我一贯主张探索性和应用性的学习,在编写这个矩阵类之前,对于类和模板只知其概念,具体细节一概不知,所以编写编译过程中各种报错,而我则是各种纠结、迷茫和疑惑,最终在谷歌、百度和《C++ Primer》的帮助下勉强完成,这可能就是孔夫子所说的“不愤不启,不悱不发”吧!下面叙述一下实现过程和切身感受。
   先说一下这个矩阵类要实现的功能。①动态分配内存,也就是说矩阵的大小可以在程序执行时确定,编译时无需指定。在C/C++中这叫动态数组,并非什么特色。②矩阵元素通过中括号方式索引,即 M[i][j]。③支持算符重载。④使用模板,矩阵的元素可以是任意数据类型,当然考虑到数学上的应用,矩阵的元素应该是double、single、int 和long等。
   如同所有的算法都有核心一样,一个类也有其核心,说白了核心实现了类的功能,而其他细枝末节的部分不过是构造一个友好的接口,方便使用而已。在叙述该矩阵类的的具体实现之前,有必要讲一下它的核心。矩阵是二维数组,在C/C++中可通过多种方式创建一个二维数组 ,如果要求动态的话,可能就要用到new/delete了。最常用的方式是分两步实现,先创建一个指针数组,再分别为该指针数组中各指针分配内存以存放元素。例如我要创建(m,n)的二维数组,可以通过下面的方式实现:
                double** p = new double* [m];
                 for (unsigned i = 0; i != m......

阅读全文(3009) | 评论:0

C++矩阵类的编写(2013-05-14 15:41:00)

摘要:   面向对象程序设计和泛型程序设计是C++的两大特色,它们分别通过类和模板来实现。说实话,对于像我这样编写小程序的人来说,这些功能基本用不上,面向过程的C足矣。但是,毕竟在学C++,出于兴趣,就设计编写了一个矩阵类,算是对类和模板的一次综合运用。我一贯主张探索性和应用性的学习,在编写这个矩阵类之前,对于类和模板只知其概念,具体细节一概不知,所以编写编译过程中各种报错,而我则是各种纠结、迷茫和疑惑,最终在谷歌、百度和《C++ Primer》的帮助下勉强完成,这可能就是孔夫子所说的“不愤不启,不悱不发”吧!下面叙述一下实现过程和切身感受。
   先说一下这个矩阵类要实现的功能。①动态分配内存,也就是说矩阵的大小可以在程序执行时确定,编译时无需指定。在C/C++中这叫动态数组,并非什么特色。②矩阵元素通过中括号方式索引,即 M[i][j]。③支持算符重载。④使用模板,矩阵的元素可以是任意数据类型,当然考虑到数学上的应用,矩阵的元素应该是double、single、int 和long等。
   如同所有的算法都有核心一样,一个类也有其核心,说白了核心实现了类的功能,而其他细枝末节的部分不过是构造一个友好的接口,方便使用而已。在叙述该矩阵类的的具体实现之前,有必要讲一下它的核心。矩阵是二维数组,在C/C++中可通过多种方式创建一个二维数组 ,如果要求动态的话,可能就要用到new/delete了。最常用的方式是分两步实现,先创建一个指针数组,再分别为该指针数组中各指针分配内存以存放元素。例如我要创建(m,n)的二维数组,可以通过下面的方式实现:
                double** p = new double* [m];
                for (unsigned i = 0; i != m; ++i) {
                  &n......

阅读全文(4403) | 评论:0