
编程练习
文章平均质量分 74
liaocs2008
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数值积分之龙贝格积分
除了复化求积外,这里用龙贝格积分法进行近似求积,其原理与埃特金插值有些类似,进行线性整合后使结果具有高精度的求积效果。在实际过程中,由于对于评判合理步长的困难,我们常采取变步长的办法进行计算,使结果满足精度要求。龙贝格运算过程:梯形公式装载数据→辛甫生化→柯特斯化→龙贝格高精度化。 对于梯形公式,我们知道T1=[F(Xk)+F(Xk+1)]*h/2,T2=[F(Xk)+2*F(Xk+1/2原创 2012-04-24 17:49:48 · 10239 阅读 · 0 评论 -
改善C++代码的学习笔记2
1、使用typedef与#define提高可读性 对于某些复杂难懂的指针,如void (*p[10]) (void(*)()),谁知道这什么东西?第一个括号中的*p[10]是指针数组,数组中的指针指向以void(*)()为参数的函数,而这个参数void(*)()又是一个指向无参数、无返回的函数指针。对于这些可读性太纠结的东西,我们可以这样来:typedef void (*pfv)()声原创 2012-05-09 14:08:04 · 755 阅读 · 0 评论 -
MFC练习4:使用模态对话框
模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。基于之前的练习3,我们已经有了一个口令对话框,可以试着将两者进行结合使用。Ⅰ、添加菜单资源和菜单响应函数原创 2012-05-12 11:31:09 · 5521 阅读 · 4 评论 -
MFC练习5:使用非模态对话框
非模态(Modalless)对话框,又叫做无模式对话框,当用户打开非模态对话框时,依然可以操作其他窗口。非模态对话框允许用户在处理非模态对话框的同时处理目标对话框。上次的练习已经说明了Modalless与Modal的区别,此处就不赘述。这次将做一个窗口使看见某目录下的文件,以C盘为例。Ⅰ、创建对话框类并且添加控件1>在Resource的IDR_DIALOGTYPE里,在“查看”里添加菜原创 2012-05-17 11:15:51 · 1470 阅读 · 0 评论 -
驱动开发入门:WDK与VS2010
最近要开始做内核驱动了,现实属入门窥探,今花上一小时搞定了VS2010与WDK的配置,记录如下:1、WDK与VS2010自然要装好啦,似乎学习版的VS2010不行;2、如下增加一个配置方案名Driver3、设置Driver的VC++路径(下图已经显示所有需要配置的目录)4、新建一个cpp后调整C/C++与链接器常规 目标文件扩展名:.sys原创 2012-09-17 22:03:25 · 10069 阅读 · 1 评论 -
C++简易理论模型:DFS深搜法破解安卓手机锁
今天吃完晚饭突然想到手机锁如何破开,以前一直认为它只有9个点,总感觉它不见得怎么中用,只不过在普通人眼里看来很强大而已,今天一试,果然破解了~~~~HiaHia!!过会去上自习,下面简略说下模型:1 2 34 5 67 8原创 2012-11-11 19:03:35 · 1671 阅读 · 1 评论 -
MATLAB:定位手掌最大内切圆
最近要做的一件事就是:对于一份给定的手掌图,要定位可寻的最大内切圆。做了近12个小时,才终于解决了这个问题,下面记录一下过程。1、图片在MATLAB里是个矩阵,如何在矩阵作圆:function [] = DrawCircle( Image, Centre, Radius )figure, imshow(Image), hold on;t = 0:0.01:2*pi;x =原创 2013-03-06 11:20:39 · 6090 阅读 · 5 评论 -
透明加密微过滤驱动回顾
一、目标 1、Windows下实现底层过滤,对word、txt进行透明加密二、参考1、微过滤驱动入门2、Word文档结构3、Windbg双机环境配置4、《FilterDriverDeveloperGuide》5、《Windows驱动开发技术详解》(内容较老,但作者写的很用心,值得看看)6、《Windows内核安全编程从入门到实践》(具体的应用教程,工作开原创 2013-05-12 20:48:37 · 1213 阅读 · 1 评论 -
零基础学JAVAWEB黑马班视频笔记
2013/6/41、MyEclipse装好就成2、新建Java Project3、新建源码Class时,有意识的填写Package名,勾选void main4、加一行system.out.print("hello world!")5、run as / debug as6、基本快捷键,可自行到windows->preference下配置个性快捷键alt + / 内容原创 2013-06-04 22:22:26 · 2244 阅读 · 1 评论 -
TortoiseGit入门亲体验
1、安装TortoiseGit-1.8.5.0-64bit.msi2、解压PortableGit-1.8.3-preview20130601.7z3、右键选项当中的TortoiseGit->settings4、General里面将MSysGit下的Git.exe路径配置为前面的解压包路径5、Git里面填好自己的GitHub名字和相关邮箱6、用TortoiseGit里面自带的Pu原创 2013-08-20 20:43:49 · 1416 阅读 · 0 评论 -
GMP大数库实现RSA算法
引用GMP大数库里的开篇陈词,请注意此文仅供学习与参考,谢绝其它用途。GNU MP Copying ConditionsThis library is free; this means that everyone is free to use it and free to redistribute it on a freebasis. The library is not in the pub原创 2012-05-28 15:59:04 · 10175 阅读 · 3 评论 -
二分法+牛顿下山法
最近写了牛顿下山法,就是针对x^3-x-1=0这个函数F(x)=0求根的问题。牛顿下山法的迭代使造出一个迭代函数G(x)=x-(x^3-x-1)/(3*x^2-1),不断迭代过程中,要注意下山条件| F(xk+1) | 显然,可知我们的二分法该如何进行设置了~下为相应伪代码const double H =1;//二分法逼近步长const double LIMIT = 0.1;//二分原创 2012-05-07 14:06:24 · 4242 阅读 · 1 评论 -
常微分方程之差分法
对于最简单的常微分方程形式,y'=F(x,y)与y(x0)=y0,我们假定F(x,y)适当光滑,在一定的区间内进行求值。这里讲的是差分的方法,通过寻求一系列离散点求解近似解y1,y2,y3……下面的所有,以函数Y'=Y-2*X/Y,Y(0)=1为例。1、Euler方法最原始的Euler格式是用向前差商的方法推导的,Yn+1=Yn+h*F(Xn,Yn)。基于这个道理,我们如果将前面算过的原创 2012-04-26 15:16:24 · 6602 阅读 · 0 评论 -
MFC练习2:利用文档类处理数据
在练习1中做出的结果下,如果我们略微改动下窗口的大小,原有的数据什么的全部都消失不见了!这是因为,当窗口要重画时,我们并没有对当前的内容进行保存,下面对其进行相关的修改使之趋于完善。首先,我们建立一个类对当前的画线信息进行存放,而字符则保存在CStringList的对象里。1、建立Cline类1>在Insert菜单下进行New Class,类型为Generic Class,名字为Cline原创 2012-04-28 13:31:20 · 890 阅读 · 0 评论 -
MFC练习1:通过视类与用户进行简单交互
Ⅰ、在视中响应鼠标输入与画图1>建立一个简单的文档;2>建立变量bool m_bMouseDown; //记录鼠标左键按下HCURSOR m_hCross; //十字型鼠标句柄HCURSOR m_hArrow; //标准型鼠标句柄CPoint m_ptOld; //画线临时点CPoint m_ptStart; //画线起点3>添加鼠标动作响应函数原创 2012-04-19 16:09:57 · 917 阅读 · 0 评论 -
数值积分之复化求积法
实际问题中,如果遇上积分的求解,是不是就纠结了呢?呵呵,我们知道积分值表现为x=a与x=b之间,y=0与y=F(x)所组成的曲边梯形面积。根据积分中值定理,我们知道,在[a,b]上可以找到一个函数值F(ξ)使得S=F(ξ)*(b-a)。按照这种理解,人们不断去搜寻如何逼近这个F(ξ),于是乎我们有了梯形公式,有了中矩形公式,辛甫生公式……但它们的效果并不是很理想,所以我们得另外寻找更加可靠的方法。原创 2012-04-22 16:41:10 · 3687 阅读 · 1 评论 -
三次样条插值(Spline插值)
当看到周围的同学抱怨样条的种种困难后,哥终于赶上大家的进度,开始写样条插值函数了。基本情况:我们测试的函数以F(x)=1/(1+x^2)为例,检测样条函数S(x)在[-5,0]范围内的插值效果,样条S(x)满足S(xi)=yi,S'(x0)=F'(x0),S'(xn)=F'(xn),所以Spline插值将用到的数据有,(x0,y0)……(xn,yn)这n+1个点,以及F'(x0)与F'(x原创 2012-04-17 15:41:04 · 16887 阅读 · 2 评论 -
线性方程组的直接法
求解线性方程组的最基本而古老的直接法即为消去法,利用一系列递推公式计算有限步即可得到方程组的精确解,当然有时也会有舍入误差等,也可能引致严重精度问题。系数矩阵设置为float a[ ],方程组的结果为float y[ ],未知数矩阵为float x[ ],自然y[ ]、x[ ]都只有一列,下面介绍两种经典的解法。1>Jordan消去法将每列的系数消成只剩一个,最后一一对应,即求解完毕。原创 2012-04-21 18:19:54 · 1422 阅读 · 0 评论 -
线性方程组的迭代法
迭代法的突出优点是算法简单,因而写成程序比较容易,然而迭代法又要求系数矩阵在迭代过程中保持收敛(要求对角占优),否则发散的迭代没有实用价值。1>Jacobi迭代法对于线性方程组∑aij*xj=bi,转化为xi=(bi-∑aij*xj)/aij,选取迭代初值x1=x2=x3=0,将其代入迭代,不断用第k步的值进行迭代出k+1步,直至逼近所要的结果。do{ cout<<endl;原创 2012-04-21 13:36:51 · 908 阅读 · 0 评论 -
改善C++代码的学习笔记1
在查看相关资料后,收获颇丰,对于我这样的C++小民来说,这些东西简直是太有用了!1、main函数的使用对于C++而言,采用标准的int main()或者int main(int argc,char *argv[])很有必要,虽然有些不规范的形式在VC++6.0等里也会支持,但是要跨平台运行时,可能就会出现问题,不要到时怀疑C++的跨平台性哦!2、良好的运算符习惯曾经我经常写下这样的原创 2012-05-07 12:59:03 · 506 阅读 · 0 评论 -
MFC练习3:使用对话框与控件
现在我们来创建一个多文档工程,在其中加入一个口令对话框,以防止非法用户侵入。实现效果即为:出现一对话框要求用户输入口令,口令不正确显示错误并退出。若按下取消键,那也退出。如果正确,则进入程序。Ⅰ、创建工程与编辑对话框资源1>以Dialog为名,创建多文档工程2>在Resource View标签展开Dialog Resources|Dialog条目3>选中Dialog右键Insert原创 2012-05-07 17:36:17 · 1241 阅读 · 0 评论 -
owlplatform五天听课笔记
这几天老师请了老外来讲课,于是乎被召去学习学习。老外自己造了一套传感器,卖给我们,然后作为售后服务交流,特地来到这里给我们做培训。相关网站就是这个猫头鹰平台(http://www.owlplatform.com/)。从传感器到上层应用仿TCP/IP的分层式结构,互不打扰。老外敲代码非常流畅,用VIM非常娴熟,而且基本没见过他用鼠标的。不过他也没讲什么,只是简单的介绍一下怎么用而已,说GITHUB他原创 2013-08-16 10:23:44 · 1166 阅读 · 0 评论