编程实现能力

时间:2019-05-14 21:53:40下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《编程实现能力》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《编程实现能力》。

第一篇:编程实现能力

教育教学研究

试论如何提高学生编程能力

韩国勇男工程硕士信息工程系助理讲师

[文章摘要] 计算机应用能力和编程能力是计算机专业教学的两个重要的检验手段,我结合自己四年的软件开发经验和一年的教学经历,从学习、读程序、思考、练习、实践和好习惯六个方面来论述提高学生的编程能力。[关 键 词] 学习编程实践能力

高等职业技术教育是一种能力教育,是一种以学生就业为导向的教育。除了注重学生能力的全面培养外,更要注重学生专业应用能力和专业扩展能力的培养,这样学生才能适应社会发展的需要。我结合自己四年的软件开发经验和一年的教学经历,通过对我们学校学生的了解,感觉学生编程能力比较薄弱,本文从学、读、思、练、实践和好习惯六个方面探讨如何提高高职院校学生的编程能力。

一、学

所谓学就是学习,认真学习专业课程和编程基础课程,不断地学习新的和先进的开发工具;只有扎实的理论基础,理论指导,编程才能游刃有余,才能写出高水平的代码,才能编写出高质量的程序。

最基础的课程是C语言,然后根据应用范围不同而选择不同的开发工具,如果搞底层开发一般使用C和汇编;如果是大型或者游戏软件开发那就是C或C++,一般都用到VC++或者BC++开发工具;网页编程可以选择ASP/PHP/JSP;电子商务方面选择.NET和J2EE;网络应用一般选择JAVA。不过像数据结构,数据库等课程无论哪个方面的开发都需要学的;另外英语和数学也非常重要。

一般的基础课程有C语言,VB程序设计,数据库原理,数据结构,算法设计等,主要是指学习一门语言,一门数据库,一门算法设计;扎实地学好这些基础课程,基础越牢固编的程序效率越高,这一点在以后的编程中会慢慢的体会到;如果基础课程不牢固,作者简介:韩国勇男工程硕士信息工程系助讲

可能也能编软件,写程序,但是很难写出高水平的程序。

例如一般的程序会遇到费用问题,有费用就要考虑费用的大写问题,那么怎样实现费用的大小写转换呢?首先考虑算法设计,然后考虑使用什么语言实现。考虑算法时就要考虑从左向右转换还是从右向左转换,确定后就可以通过循环控制结构来实现转换;中间用判断结构来判断如果为零或中间有零的情况等等。这样一个问题就通过简单的算法和基本控制结构实现了,所以编程必须有扎实的理论基础。

另外,很多的课程告诉我们一些程序的效率问题,例如数据库设计中提到了SQL语句,我们最先想起的就是Select语句,在数据量比较大的情况下,Select语句的查询速度和数据库中表的索引有很大的关系,但是很多情况下Select语句是不使用索引的,如果在Select语句中的where条件中出现下列情况的不使用索引:列上有数学运算的,列上使用substr字符串函数的,‘%’通配符在第一个字符的,在列上使用字符串连接(||)的,Where条件中使用is null或is not null的等。在对大量的数据进行查询时,如果不考虑上面的情况可能写得SQL语句的效率就比较低。

二、读

所谓的读就是读教材、读程序、读网上资料,然后把看到的经典的程序代码,好的算法,整理出来,逐个消化并吸收,转变为自己的知识,提高编程能力。

多读别人的代码,读完后思考你是否能写出比它更精练更有效率的程序,读别人的程序,不要单纯的模仿,思想才是最重要的,主要是理解别人的思想,和自己的思想进行比较,能学到很多东西;多与别人交流,三人行必有我师焉,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上网搜资料,看别人的开发经验心得,算法的实现,变为己有。

三、思

所谓思就是思考,事前思考有没有解决方案,事中思考有没有更好的解决方案,事后考虑有没有需要完善和补充的功能,总之是使程序功能更强大和完善,性能更好!

首先:事前思考有没有可行性,给你一个问题或一个项目,最先要做的就是思考可行性问题,包括技术可行性、经济可行性、法律可行性。如果给你一个悖论,让你用程序来实现,本身是一个悖论,编写程序肯定陷入死循环,怎么可能解决呢?

其次:事中考虑有没有更好的解决方案?微软给了我们很好的思路,比如:登陆界面,保存,输入格式的限制和输入范围的限制等。登陆界面一般有用户名和登录密码,并且默认上次成功登陆系统的用户名,输入的密码显示为一串“*”,在这些操作中可以只使用键盘,我们编写的程序应该怎样实现呢?可以使用setfocus()方法来实现;那么定期保存怎样实现,数据备份怎样实现?其实我们可以在程序中增加登陆时系统时间,在一定的时间间隔内实现备份,最简单的就是调用Winrar进行文件压缩备份;一些输入的限制,要根据输入的内容的逻辑进行判断到底应该输入的内容或范围是什么?例如日期有的月份能输入31日,有的月份就不能输入31日,需要进行逻辑判断,当然了现在已经有很多工具有时间的控件,自动进行逻辑判断。

最后:事后考虑有没有需要完善的,代码有没有

需要优化的?下面举几个代码优化的例子:(1)判断年year是否为闰年,首先我们知道闰年的定义是能被4整除,不能被100整除;或者能被4整除,且能被400整除,然后书写算法(year % 4 == 0 && year % 100!= 0)||(year % 4 == 0 && year % 400 == 0),其实 year % 4 == 0 就不需要了,因为year如果能整除400,肯定能整除4,所以year % 400 == 0一个条件就可以了。(2)求一元二次方程ax + bx + c = 0的根,步骤是先判断a是否为0,在判断b24ac是否为0时,需要这样判断fabs(b2-4ac)<= 1e – 6,因为在计算机中,储存实数一般都有误差。

四、练

所谓练就是动手做练习,教材上的例题、课后习题都是很好的练习素材,这些是编者经过深思熟虑的例子和习题,很有代表性。

边练习,边理解,边思考,多问为什么?然后根据自己的思考和理解对例子作一定的改动,看执行结果,是否和自己期望的一样?出现问题设法调试和改正使其编译通过。例如有很多循环例子,是否可以实现for循环和while循环相互转化,当通过自己的实际转换后才体会到原来每个循环有各自的特点。

练习要分阶段分步骤,开始编一些趣味性大一点的小程序,例如:数据结构书中有很多算法的,试着把它们敲成程序,运行一下,既可以实践检验算法,也可以锻炼自己的实际编程能力,队列,排序,很多都是很经典的。当积累到一定程度就可以按照自己的想法去编一些实用性强一点的程序,开始时没灵感也不要紧,毕竟资源丰富,可以从借鉴别人的劳动成果开始。最后,系统地学学软件工程,完全按照软件生命周期的6个阶段来做。

练习是一个逐渐的过程,开始熟悉语法,编程规范,各种控件的用法,然后再学习各种控件的综合运

用,甚至编写一个小的系统。但是不要为了练习而练习,要加上自己丰富的想象力,不要拘泥于固定的思维方式,多思考、多练习,通过不断的练习,加深对各种工具或控件的运用,提高编程能力。

五、实践

如果有机会,可以做实际的项目工程,在实践中不断地锻炼自己的其他能力:逻辑能力、思维能力、业务能力、沟通交流能力。

逻辑能力和思维能力是编程能力的基础,只有良好的逻辑能力和思维能力才能开发出高性能的程序,才能保证程序的正确性。

业务能力和沟通交流能力是必须的,如果你不知道业务的话,不可能开发出适合用户的程序,因为不懂业务,所以就不知道用户所需,不能更好的为用户服务。

实践的项目不在大小,在于我们的实践经历,通过实践我们知道在实施项目中除了编程能力外还需要其他的能力,通过实践知道项目的实施过程和环节,在实施的过程中遇到各种各样的问题,会使我们明白在编程中怎样解决这些问题,例如:在培训用户使用我们的系统时,发现用户对我们的业务流程不适应,业务流程过于繁琐,他们有自己的业务流程,而且也比较简单,那么我们在编程时就可以借鉴用户的流程,使我们系统的操作流程更简捷;在测试阶段发现用户经常使用业务回退功能,那么我们就把主要的业务流程都增加上业务回退功能,使系统功能更完善;在现场维护阶段发现维护人员看代码看不明白,那么在编程阶段就要注意良好的编程风格和增加适量的注释,这样位护时才能很快的看明白程序,尽快地调试和改正程序中的问题,以便提高工作效率。

所以,编程能力的高低,不是语言懂的越多能力越高,需要我们在实践中不断的锻炼,提高自己的沟

通交流能力和逻辑思维能力,提高编程综合能力。

六、好习惯

所谓好习惯就是在编程过程中要养成良好的习惯,提高编程效率和编程能力:

1、先想后做:在编程前或解决问题前,先考虑该问题是否有可行性,有可行性再考虑计划和实施。

2、游戏规则:编程要遵循软件的生命周期,按照制定计划、需求分析、软件设计、程序编码、软件测试和运行维护这6个阶段来实现软件,不可越级。

3、有备无患:编程之前,先找一些样例程序仔细研究,应该包含哪些基本功能?里面一些难度大的算法应该怎样实现?不打无准备之仗。

4、见名知意:程序再小,用的变量也不会少,变量起名应当“见名知意”,这是老规矩,能提高程序的易理解性和易修改性。

5、编程规范:和见名知意雷同,主要是使得程序层次清晰,易于理解。

6、多加注解:对程序中自定义的变量、函数、子程序加以功能性的注释说明,别嫌麻烦,如果三五个月之后,连自己写的东西都看不明白了,那才麻烦大了。

7、环境保护:如果应用程序需要修改系统设置,记着执行程序前先保存设置,结束后要恢复设置,千万别污染环境。

8、拿来主义:一个人的力量是有限的,大家的力量是无限的,平时多看看书,有好的经验、巧的方法、用得上的段子不妨拿来。

总之:要提高编程能力,就要不断地学习,不断地读程序、读代码,不断地思考和练习、有机会就实践,还要在编程中养成良好的习惯,只有这样才能得到锻炼,能力才能提高。

第二篇:序列卷积和快速卷积的编程实现

武汉理工大学《信号分析与处理》课程设计说明书 Matlab软件介绍..............................................................................................................................................1 2 原理简介...........................................................................................................................................................3 2.1 离散傅里叶变换(DFT)和快速傅里叶变换(FFT).......................................................................3 2.2 序列的卷积和快速卷积运算...............................................................................................................3 2.3 快速傅里叶变换和快速卷积...............................................................................................................3 3 Matlab程序设计..............................................................................................................................................4 3.1 程序设计...............................................................................................................................................4 3.2程序仿真................................................................................................................................................4 3.2.1:.................................................................................................................................................4 3.2.2:.................................................................................................................................................5 3.2.3:.................................................................................................................................................6 3.3 运行结果及分析...................................................................................................................................8 4 心得体会...........................................................................................................................................................9 5 参考文献........................................................................................................................................................10

武汉理工大学《信号分析与处理》课程设计说明书

课程设计任务书

学生姓名: 刘禹煜 专业班级: 电信1104 指导教师: 阙大顺 工作单位: 信息工程学院

课程设计名称:信号分析与处理课程设计

课程设计题目:序列的卷积和快速卷积运算的编程实现

初始条件:

1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“信号与系统”、“数字信号处理原理与实现”、“Matlab及在电子信息课程中的应用”等;

3.先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.课程设计时间:1周;

2.课程设计内容:序列的卷积和快速卷积运算的编程实现,具体包括:直接卷积及应用、快速卷积方法及实现、两者的比较分析等;

3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结,按要求进行实验演示和答辩等;

4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:

① 目录; ② 与设计题目相关的理论分析、归纳和总结; ③ 与设计内容相关的原理分析、建模、推导、可行性分析; ④ 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤ 课程设计的心得体会(至少500字); ⑥ 参考文献; ⑦ 其它必要内容等。

时间安排:2周(分散进行)

武汉理工大学《信号分析与处理》课程设计说明书 Matlab软件介绍

Matlab(Matrix Laboratory,矩阵实验室)软件最初是作为“矩阵理论”和“数据分析”等课程的计算工具,经过十几年的发展和完善,目前已成为世界各国在科学分析和计算领域的主流软件,并被IEEE评述为国际公认的最优秀的科技应用软件。它的主要特点是:

(1)Matlab可以用来解线性方程组、进行矩阵变换与运算、数据插值运算等,能使用户从繁杂的数学运算分析中解脱出来。

(2)Matlab中有许多高级的绘图函数,包括二维、三维、专用图形函数、图形句柄、用户图形界面工具等,利用这些函数可以轻松地完成各种图形的绘制和编辑工作,实现计算结果和编程的可视化。

(3)友好的用户界面及接近数学表达式的自然化语言,使学习者易于学习和掌握。(4)功能丰富的应用工具箱(如信号处理工具箱,通信工具箱,控制系统工具箱等)为用户提供了大量方便实用的处理工具。

Matlab的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前,国内很多理工院校已经或者正在把该软件作为学生必须掌握的一种软件。MATLAB 产品族可以用来进行以下各种工作:(1)数值分析(2)数值和符号计算(3)工程与科学绘图

(4)控制系统的设计与仿真(5)数字图像处理技术(6)数字信号处理技术(7)通讯系统设计与仿真(8)财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

它的主要特点是:

武汉理工大学《信号分析与处理》课程设计说明书

(1)Matlab可以用来解线性方程组、进行矩阵变换与运算、数据插值运算等,能使用户从繁杂的数学运算分析中解脱出来。

(2)Matlab中有许多高级的绘图函数,包括二维、三维、专用图形函数、图形句柄、用户图形界面工具等,利用这些函数可以轻松地完成各种图形的绘制和编辑工作,实现计算结果和编程的可视化。

(3)友好的用户界面及接近数学表达式的自然化语言,使学习者易于学习和掌握。(4)功能丰富的应用工具箱(如信号处理工具箱,通信工具箱,控制系统工具箱等)为用户提供了大量方便实用的处理工具。

Matlab的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前,国内很多理工院校已经或者正在把该软件作为学生必须掌握的一种软件。

武汉理工大学《信号分析与处理》课程设计说明书 原理简介

2.1 离散傅里叶变换(DFT)和快速傅里叶变换(FFT)

离散傅里叶变换,是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号在做变换。在实际应用中通常采用快速傅里叶变换(FFT)高效计算DFT。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。

2.2 序列的卷积和快速卷积运算

卷积是数字信号处理中最常见的,也是最重要的运算之一。利用卷积可以实现相关计算和FIR滤波等等,正因为卷积如此重要,所以半个世纪以来,学者们提出了多种不同卷积实现结构,这些结构各有优点,针对不同应用可以灵活选择,而其中快速卷积无疑是重要的卷积方法之一。顾名思义,快速卷积重点在一个“快”,如果对卷积速度要求较高,快速卷积无疑是理想的工具。当然,为了提高速度,就要牺牲面积和功耗。在此,我们是利用快速傅里叶变换实现快速卷积运算。

2.3 快速傅里叶变换和快速卷积

在此,我们是利用快速傅里叶变换实现快速卷积运算。同时在进行Matlab编程时也是利用快速傅里叶变换来得到快速卷积的结果。(具体方法将在分析中详细介绍)

武汉理工大学《信号分析与处理》课程设计说明书 Matlab程序设计

3.1 程序设计

题目1:已知线性非移变系统的h(n)=[6,2,3,4,2],输入为x(n)=[1,2,3,4,5];

(1)用人工计算系统输出y(n);(2)编写程序输出y(n),并作图。

题目2:用函数conv和FFT计算长为1000序列的卷积,比较其计算时间。

题目3:用快速卷积法计算x(n)0.9nRM(n)和h(n)RN(n)两个序列的卷积;并测试直接卷积和快速卷积的时间。

3.2程序仿真

3.2.1:

已知线性非移变系统的h(n)=[6,2,3,4,2],输入为x(n)=[1,2,3,4,5];

(3)用人工计算系统输出y(n);(4)编写程序输出y(n),并作图。程序:

h=[6,2,3,6,4,2];x=[1,2,3,4,5];y=conv(h,x);stem(y)

武汉理工大学《信号分析与处理》课程设计说明书

图1 3.2.2:

用函数conv和FFT计算长为1000序列的卷积,比较其计算时间。程序: L=1000;N=L*2-1;n=1:L;x1=2*n;x2=3.^n;t0=clock;yc=conv(x1,x2);conv_time=etime(clock,t0)t0=clock;yf=ifft(fft(x1,N).*fft(x2,N));fft_time=etime(clock,t0)结果:

武汉理工大学《信号分析与处理》课程设计说明书

conv_time=0.0030 fft_time=0.0050 可知计算长为1000序列的卷积,直接卷积用时反而少些。3.2.3:

用快速卷积法计算x(n)0.9nRM(n)和h(n)RN(n)两个序列的卷积;并测试直接卷积和快速卷积的时间。

因为并没有说明M和N的取值,所以我们用两组数据来对比说明。情况1:

取M=60,N=40时, xn=0.9.^(1:60);hn=1.^(1:40);tic;yn=conv(xn,hn);toc;L=pow2(nextpow2(60+40-1));%取快速卷积的长度L>=M+N-1并为2的整次幂 tic xk=fft(xn,L);hk=fft(hn,L);yk=xk.*hk;yn=ifft(yk,L);toc;subplot(221),stem(xn,'.');ylabel('x(n)');subplot(222),stem(hn,'.');ylabel('h(n)');subplot(212),ny=1:L;stem(real(yn),'.');ylabel('y(n)');Elapsed time is 0.004174 seconds.Elapsed time is 0.008883 seconds.6

武汉理工大学《信号分析与处理》课程设计说明书

图2 情况2:

取M=3000,N=2000时,xn=0.9.^(1:3000);hn=1.^(1:2000);tic;yn=conv(xn,hn);toc;L=pow2(nextpow2(3000+2000-1));%取快速卷积的长度L>=M+N-1并为2的整次幂 tic xk=fft(xn,L);hk=fft(hn,L);yk=xk.*hk;yn=ifft(yk,L);toc;

武汉理工大学《信号分析与处理》课程设计说明书

subplot(221),stem(xn,'.');ylabel('x(n)');subplot(222),stem(hn,'.');ylabel('h(n)');subplot(212),ny=1:L;stem(real(yn),'.');ylabel('y(n)');Elapsed time is 0.006967 seconds.Elapsed time is 0.006764 seconds.图3 3.3 运行结果及分析

图1及图2序列长度较短,用直接卷积比用快速卷积更好,图3序列长度较长,快速卷积更效率。所以我们得出以下结论:当序列长度较少时,直接卷积比快速卷积所需时间短;当序列长度较长时,快速卷积更效率。

武汉理工大学《信号分析与处理》课程设计说明书 心得体会

本次课程设计我所做的题目是信号的谱分析及时域和频域采样对偶性分析的编程实现,这次课设应该来说是比较轻松的一次,没有接触太多陌生的东西,作为电子信息工程的一名学生,老师从一开始就一直强调信号的分析和对于MATLAB的掌握,当然我觉得这至少从一个侧面反映出这个软件或者是这种方法的重要性,我们必须很认真的对待。事实上MATLAB也向我们展示了它的强大,虽然我们用的、掌握的只是很少一部分,这不免让我有很多感触:

第一,信息类专业的学生,我们要接触很多仿真软件,比如Pspice、Protel、ISE„„我们每学期都要做课设,这是一个很好的进行能力拓展的平台,但是我们会觉得一些东西并没有达到其训练效果,为什么呢?我觉得很大一个方面就是我们的指导思想并不明确,我们在不断的追求数量。如此反复,回头看看,我们发现什么都不会,什么都是在记忆中,却什么都想不起来,而许多东西是相通的,我觉得我们掌握最基本的就够了,最基本的就是最重要的,贪多没有任何好处。

第二,MATLAB作为一种科学计算软件,有着其独特优势,尤其在科学计算及精确绘图上,与其他计算机语言相比,简洁而且具有智能化,适应我们的思维方式与书写习惯,它使用解析方法工作,直观且简单明了。人机交互性能好,操作也很简单,在图形描绘上解决手工描绘的各种缺点。我想这也是我们专业为什么一再强调的原因。

第三,完成这次课程设计我认为收获还是很多的,不但进一步掌握了数字信号处理的基础知识及一门专业仿真软件的基本操作,还提高了自己的设计能力及动手能力,同时对于模拟滤波器来了个系统的总结。更多的是让我看清了自己,明白了凡事需要耐心,实践是检验学习的唯一标准。理论知识的不足在这次课设中表现的很明显。这将有助于我今后的学习,端正自己的学习态度,从而更加努力的学习。只有这样我们才能真正的去掌握它,而不是只懂得一点皮毛。

同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。这一点,是非常宝贵的、重要的。对我而言,知识上的收获重要,精神上的丰收更加可喜。其次,整个设计、扩展过程也进一步提高了我对知识整合的能力,如果仅靠课本、教材所提供的知识范围是远远不够的,应学会充分利用网络资源、参考文献等知识获取渠道,从而巩固与扩展教材、课堂上给予我们的基础知识。

武汉理工大学《信号分析与处理》课程设计说明书 参考文献

[1] 刘泉等.数字信号处理原理与实现(第2版)[M].北京:电子工业出版社,2009.[2] 丁玉美等.数字信号处理[M].西安:西安电子科技大学出版社,2001.[3] 陈怀琛等.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2003.[4] 程佩青.数字信号处理教程[M].北京:清华大学出版社,2008.[5] 李建新等.现代通信系统分析与仿真-MATLAB通信工具箱[M].西安:西安电子科技大学出版社,2000.10

第三篇:《VB编程实现文字闪烁》教案

《VB编程实现文字闪烁》教案

授课课题:VB编程实现文字闪烁 授课时间: 授课地点: 授课班级: 授 课 人: 教学目的:

一、认知目标

1、理解文字闪烁程序的设计思想和设计方法

2、理解Select case语句构造多分支程序的方法和实现的技巧

3、理解RGB()函数和RND()函数配合,动态随机生成颜色的方法

二、技能目标

1、熟练使用VB中的Label控件构造程序界面

2、熟练使用格式工具对控件进行排列设置

3、熟练使用编程工具对程序代码进行编写和简单的调试

三、情感目标

1、培养学生的自学能力、自主创意、分析解决问题的能力

2、培养学生的团队合作精神,互相协作完成任务的能力

教学重点:

1、熟练使用VB中的Label控件构造程序界面

2、理解文字闪烁程序的设计思想和设计方法

3、理解Select case语句构造多分支程序的方法和实现的技巧

教学难点:

1、理解文字闪烁程序的设计思想和设计方法

2、理解Select case语句构造多分支程序的方法和实现的技巧

教学方法:直观演示法、案例教学法、分层教学法和兴趣激励法 教学用具:VB开发工具、VB程序案例、多媒体演示系统

学情分析:高二的学生上课纪律较好,比较能够配合教师进行教学;通过大半学期的VB学习,对项目教学法也已经比较熟悉;但大部分学生由于基础知识和学习方法的限制,学习还比较死板,学习方法还只停留在教师教学生学的层面上;学生也不太主动通过摸索、调试自己解决问题。所以本课准备先讲后练,步步引导,并协调好学生自主学习和教师辅助学习的关系,提高学生的主观能动性。

教学过程:

【引入】演示原来讲解过的文字变色的例子和今天要讲解的文字闪烁的例子;提问学生:这两个案例有什么不同。可以调节闪烁的时间,让学生仔细观察。

【预测】学生通过观察大部分都能过发现两个实例的区别。(5分钟)【演示】开始新课,教师先演示Label控件排列文字的方法。

【预测】学生可能有疑问,为什么8个汉字要用8个Label控件呢,这个问题教师主动提出来,学生可以思考以后马上解答,也可以设计完程序以后解答。【讲解】教师讲解核心代码和代码设计思想。该过程是学习程序构造算法的关键,教师有目的地进行引导讲解。该过程以教师讲为主,根据学情进行难度适中的提问,力求让大部分学生理解程序的基本设计思路。(10分钟)

【预测】大部分学生应该能初步理解程序的设计思路。在学生自己练习时让学生自己再去体会。

【摸索】学生开始进行设计,也可以在设计过程中进行简单的学生之间的交流和讨论。

【巡视】教师巡视,视学生的设计情况决定是否终止摸索而再次进行教师统一讲解教学。

【预测】由于学生有实习计划和程序代码,大部分学生都应该能够进行设计,但学..生对程序的理解可能要困难的多。提高程序设计的方法只有两条:多阅读别..............人的优秀程序;自己大胆尝试程序设计。

【建议】成绩比较优秀的学生应该能够完成任务,有部分学生在设计时回出现教学前教师不可预见的错误,如果大部分学生完成任务顺利而教学时间充足,应该把学生中常见的错误和完成好的实例进行展示讲解。教师应该走到学生中去辅助教学。

【练习】尽量能让学生在教师小节前做完设计。

【建议】该过程是学生提升技能,形成能力的关键,应要求学生人人动手,努力设计。(25分钟)

教学评价:

【小节】学生应上传作品和上缴实训报告,教师应结合学生作品对本节内容进行总结。

【预测】有部分学生在设计时会出现教学前教师不可预见的错误,如果大部分学生完成任务顺利而教学时间充足,应该把学生中常见的错误和完成好的实例进行展示讲解。教师应该走到学生中去辅助教学。

【作业】文字闪烁程序的修改版——跳跃文字闪烁(5分钟)

第四篇:用c语言实现单纯形法的编程

用c语言实现单纯形法的编程

#include “stdio.h” #include “math.h” #include int M,N;float c[100],a[100][100],b[100],CZ[100],Dn[100],th[100],x[100];int Fn[100];int K,L,ths;float zy;int shuru();void findmm();void chang();main(){ float max_Z,sum=0,s=0;int i,j,r=0;if(!shuru()){ printf(“ERROR!!n”);return 0;} while(r0){findmm();if(ths==M){goto loop;} else chang();} else r++;} } loop: if(ths==M){printf(“n此线性规划没有有限最优解!!n”);printf(“n此线性规划最终迭代结果为:”);printf(“n Cj ”);for(j=0;jDn[K])max=i;K=max;for(i=0;i0)&&(th[i]Dn[K])K=i;for(i=0;i

第五篇:使用java实现面向对象编程总结

第一章:抽象和封装

1,为什么使用面向对象

1.1:万事万物皆对象,面向对象就是采用“现实模拟”的方法设计和开发程序。

2,使用面向对象进行设计

2.1:面向对象设计三部曲

1,发现类。

2,发现类的属性。

3,发现类的方法。

经验:在需求中找出名词的方式确定类和属性,找出动词的方式确定方法。

3,创建类的对象

1,通过构造方法来创建对象

2,通过对象名.属性名的方式调用属性。

3,通过对象名.方法名的方式调用方法。

4,Static可以用来修饰属性,方法和代码块。Static修饰的变

量属于这个类所有。即由这个类创建的所有对象共有同一个static变量。类属性,类方法可以通过类名和对象名访问,势力属性,实例方法只能通过对象名访问。

5,在方法里不可以定义static变量,类变量不能是局部变量。6,构造函数的重载

1,构造方法的名字和类名相同,没有返回值类型。构造

方法的作用主要就是在创建对象是执行一些初始化操作,赋值。

2,在没有给类提供任何构造方法时,系统会提供一个无

参的方法体为空的默认构造方法。一旦提供了自定义构造方法,系统将不会提供这个默认构造方法,如果要使用她,必须手动添加。

3,如果同一个类中包含了两个或两个以上方法,它们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载。成员方法和构造方法都可以重载。

4,构造方法没有返回值类型。如果有,就不是构造方法,而是构造方法同名的成员方法。

5,封装

1,封装是类的三大特性之一,就是将类的状态信息隐

藏在内部。

2,封装的具体步骤:为每个属性创建一对一赋值,在赋值方法中,加入对属性的存取控制语句。

3,隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制语句,限制不合理操作。

下载编程实现能力word格式文档
下载编程实现能力.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    计算机网络课程设计-编程实现简单的TCP协议分析器

    编程实现简单的TCP协议分析器 编程实现简单的TCP协议分析器 一、问题描述 编程实现简单的TCP协议分析器,TCP协议分析器是一种用于监督和跟踪网络活动的诊断工具,它从局域网中......

    自维创新项目-数据库编程实现简单网管

    巧妙利用数据库编程轻松解决网元监控难题--自维创新项目2018年下半年,我县为教育局组建了智慧教育网络,该网络涉及到教育局及各学校共计118个节点,为了向用户提供更好的人性化......

    JAVA程序员应聘编程能力测试(英文版)

    Q. 1 Which color is used to indicate instance methods in the standard "javadoc" format documentation: A. blue B. red C. purple D. orange Java Certification Mock......

    如何学习编程

    最近看到很多朋友问到如何学习编程这个问题,我想这个问题应该是所有初学者都非常关注的问题了,在论坛上回答了很多也讲了很多,但是总是无法让所有朋友得到一个解答,所以我想写一......

    编程教案

    常用编程指令的应用 车削加工编程一般包含X和Z坐标运动及绕Z轴旋转的转角坐标C 。 (1)快速定位(G00或G0) 刀具以点位控制方式从当前所在位置快速移动到指令给出的目标位置......

    编程员

    1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘! 2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,......

    编程感想

    编程感想 从C学到C++ , 就是从面向过程到对象 ,又从C++到JAVA , 就是从静态语言到动态语言 。 编程语言的学习无怪乎多写代码 , 多参考 ,多了解 , 那些所谓的牛人 , 又有多牛呢 ? 我......

    编程小结

    编程小结(一) 一.累加:加数1+加数2+加数3+„„+加数n (n个加数相加) 假设我们用i表示我们的加数数目,例如:当i=9时,就表示加数9 模版:int i,sum=0; (注意:如果是分数或者小数sum就是flo......