关于程序设计的方法与技巧

时间:2022-07-20 06:25:56

关于程序设计的方法与技巧

摘要: 本文对中等职业学校程序设计课程教学现状进行了探讨,并主要介绍了程序设计方面的方法与技巧,旨在提高教学效果和学生的编程能力。

关键词: 程序设计 方法与技巧 编程能力

一、中等职业学校程序设计课程教学现状

程序语言设计是职业中专计算机专业在校学生学习的主要课程之一。中等职业学校的生源大部分是只有初中文化基础的学生,基础相对薄弱。而计算机程序设计课程的特点是逻辑性强,对于只有初中文化基础的职业学校的学生来说,学习程序设计就会感觉到很吃力。一部分学生因学不会就知难而退了;有一部分学生上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因,一是所谓的看懂听明白的,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果没有深刻地理解语句的执行过程(或流程),怎么会编写程序解决这些实际问题呢?二是用语言编程解决实际问题,所需要的不仅仅是语言的编程知识,还有相关的专业知识。例如,如果你不知道圆的面积公式,即使命令语句学得再好你也编不出求圆的面积的程序来。

对于这些现状,这就要求我们教师应该在教学上下功夫,多教学生一些程序设计的方法和技巧。只要学生们掌握一些方法与技巧,不轻言放弃,是完全可以学好的。

二、程序设计的方法与技巧

(一)掌握程序设计的步骤。

设计程序一般分为这样几个步骤:

1.分析阶段

也就是搞清楚未来的程序应该“做什么”。这个阶段的工作是程序设计的基础,务必求精细求准,不放过任何一个不明白的工作环节。不要以为在这个阶段上花费时间是没必要的,是浪费的。这个阶段的工作粗糙,将会给未来的工作带数不清的麻烦。俗话说“磨刀不误砍柴功”的道理就在于此。

2.设计阶段

设计阶段主要考虑程序应该“怎样做”才能满足用户的要求。设计时首先要进行算法设计,也就是解决问题过程的设计,然后将这些算法用图形的方式描述出来。其中流程图是最常用的一种形式。它的优点是直观、清晰、易懂,便于检查、修改和交流。

3.编码阶段

根据设计好的算法,选择适当的语言编写程序,具体实现。在书写上采用缩格书写方式,加上适当的注释。在编写过程中就应注意层次清楚,思路清晰,为今后任何人阅读程序做好准备。

4.测试阶段

测试又可分两个阶段:首先是把我们的大脑当作计算机进行“人工测试”,还要静态检查程序中有无诸如命令拼写、格式上等错误。接下来要进行“动态测试”。原程序编写出来后不能保证在机上运行时一定正确,往往还要经过测试和调试之后才能正常顺利运行,“纸上谈兵”是没用的。

(二)掌握程序的三种最基本结构。

(1)顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

(2)分支结构

分支程序结构又称选择结构,是指在程序执行过程中,根据一定的条件来确定程序走向的一种程序结构。分支程序结构一般分单向选择、双向选择和多向选择三种。

(3)循环结构

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。循环结构程序也是学生学习的重点和难点。

顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构。在实际编程过程中常将这三种结构相互结合,设计出相应的程序。

(三)多阅读他人程序。

俗话说“见多识广”。程序犹如文章,具有较强的可读性,读一段好程序更犹似看一篇好文章,可以得到诸多启示和教育。语言教学要善于运用阅读法,引导学生多看多读多思,在读中理解他人独特的解题思路,在读中体会他人的设计思想,以获得更多解决问题的途径。有数据说明,一个人所掌握的编程技巧中70%是通过阅读书本或他人程序的途径获取的,阅读法已被众多事实证明是一种非常有效的学习程序设计的方式。

阅读程序要抓住程序的主线和灵魂,坚持从大处入手,坚持从关键处突破。阅读时不应拘泥于程序的局部和个别细节。多运用所学知识、经验去理解算法,这对帮助提高阅读效果是非常有益的。

例如,案例程序如下:

clear

set talk off

i=1

do while i

j=1

do while j

@ 10+i,10+jsay ‘*’

j=j+1

enddo

i=i+1

enddo

set talk on

return

阅读该程序时,从大处我们发现i 是外循环控制变量,循环变化4次。j是内循环控制变量,外循环1次,其值变化5次。从细节我们发现@say语句输出“*”。因此,我们便清楚了该程序的功能是打印由“*”组成的一个4行5列的图形。外循环控制行数,内循环控制每行的个数。

阅读程序还要多考虑程序的优化,即在充分阅读理解程序设计思想基础上,要让学生多分析程序的优缺点,力求找出更佳的思路、更有效的算法。同时我们可以组织学生开展互读互学活动,在对比各自设计方法的过程中互相促进共同提高。

例如,案例:编程计算1―100的偶数和。

通过阅读以上三个程序,学生会发现方法三显然是最佳程序。该程序不但思路清楚、易懂,而且程序语句少,执行时间短,效率高。

我们不仅要让学生阅读正确的程序,还要积极鼓励学生去阅读错误的程序。让学生在发现错误、纠正错误的过程中增长才干。分析和排除错误是程序设计的重要环节。程序设计中我们应善于利用错误资源,教给学生如何面对错误、分析错误、排除错误的方法,提高学生对错误的识别能力,增强学生解决问题的能力和自信心。看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,能够提高自己的程序设计能力。

(四)多上机实践程序。

程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好的。例如,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。

第一步,验证性练习。

在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。输入初步记忆并理解新学的知识点。

第二步,举一反三,照葫芦画瓢。

在第一步输入的程序的基础上进行试验性的修改,运行一下程序,看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解,实现“修改”加深对知识的理解。

案例:求100以内偶数的和的程序。

clear

s=0

for n=2 to 100 step 2

s=s+n

endfor

?s

return

将程序运行后,记录程序结果,然后将for中的100改成50,运行一下程序,看有什么变化。找出程序结果变化的原因,就加深了对for语句的理解。

第三步,调试程序。

将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够使学生明白程序发生错误的原因并修改错误,加深对语句的理解并提高调试程序的能力。

案例:在数据表XSDJ.DBF中查找判断某学生的数学成绩是否及格,及格则显示“及格”,不及格则显示“不及格”。

usexsdj.dbf

accept"请输入学生学号:"toxh

locate all for 学号=xh

if 数学>=60

?"及格"

else

?"不及格"

endif

use

return

学生可试将其中的endif语句删除后,运行一下程序,看有什么结果,就会知道if 与endif必须成对出现。

注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因。

(五)多归纳总结,抓规律。

提高编程能力一个重要的方法是研究许多典范的程序和大量的程序设计实践中锻炼出来的。因此,不仅教师在教学中要多归纳总结,学生在学习过程中也要及时归纳、做好小结,目的是抓规律。程序设计的教学,一般都是从局部分散地讲,如果不归纳总结,学生则难以形成完整、清晰的框架。归纳可以是一个语句的归纳,也可以是对一种结构的归纳(如分支结构的归纳);总结可以是一课的总结,也可以是几课的总结。归纳总结的形式也可以多种多样,可以使用文字概括,也可以使用图示总结,重难点要着重强调。这种归纳总结,一方面有利于学生理解知识、融会贯通,顺利实现知识迁移;另一方面对于提高学生的学习效率也有很大的帮助。

例如在学习DO WHILE语句我们会归结出这样的规律,该语句用于计数器控制循环时,条件表达式是一个循环变量,它用来作为循环条件的一个判断变量。首先应当设置循环变量的初值,如K=0、K=A;然后建立逻辑条件表达式,如K0;最后在循环体内要有修改循环变量的内容,如K=K+1、K=K-1,防止进入死循环。

再例如,在学完循环结构程序设计中的三个循环语句后,学生会从许多实例设计中发现,有时同一个实例其中的二个或三个语句都可以实现。而有的实例只能由其中一个语句do while实现。通过这种实践过程,我们可以归纳总结出:do while循环时,依赖于条件是否满足。若满足条件,执行循环。do while循环使用时适用性最强;for循环一般在程序设计中,适用于需要重复固定次数的计数循环;而scan扫描记录循环只适用于对数据表中满足条件的记录执行同一种操作。

(六)多信心。

大多数学生学不好是因为一开始遇到困难就放弃,很多学生是听不懂、不想听、放弃这样一个过程。在初学程序设计时,可能会遇到有些问题理解不透,这就要求学生不要气馁,不明白的地方多问多想,由浅入深、循序渐进,鼓足勇气进行学习,始终要记住“曙光在前头”。

当我们把握好上述几方面后,只要学生们能克服畏难、厌学情绪,上课能专心听讲,多看、多想、多做,一定会提高程序设计能力。

参考文献:

[1]沈大林.FOXBASE.电子工业出版社.1994年版.

[2]华烨.C语言程序设计入门学习六步曲.2006年12月.

[3]于同亚.职业学校程序设计课程教学方法初索.江苏省经贸技师学院信息工程系.

上一篇:计算机病毒特点分析及防范措施 下一篇:对当前德育工作中几个案例的反思