首页 > 范文大全 > 正文

谈谈循环程序设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇谈谈循环程序设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:循环结构是结构化程序设计中的三种基本结构之一,也是程序设计的基础。但是,对于初学者来说,循环结构与人类日常的思维习惯不同,较难掌握。本文通过VF和QBASIC循环程序设计例子阐述了各种语言的循环程序设计都具有共同点。因此在学习中首先要正确理解各种语言循环语句,然后根据具体问题编写算法,找准循环控制条件,据此画出流程图,编写程序语句,上机调试。

关键词:循环程序;循环控制;流程图;算法;程序语句;VF QBASIC

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)08-1906-02

On Recycling Program Design

LIU Li-ming

(Zunyi City, Guizhou Province Vocational High Schools, Zunyi 563000, China)

Abstract: Loop structure is a structured program design, one of the basic structure of the three. but it's also the basis for program design. However, for the beginners, Loop structure is difficult to master, for it's different from the daily habit of thinking of the human mind. In this paper, VF, and QBASIC program design cycle described examples of the cycle of programming languages have in common. Therefore, in the course of study must first correctly understand the language loop statement, and then to prepare specific algorithm, find out the loop control the conditions under which to draw flowcharts, programming statement, on the machine to debug.

Key words: circulation procedures; loop control; flow algorithm; algorithm; program statements; VF QBASIC

顺序、分支、循环是结构化程序设计的三种基本结构,所以在高级语言程序设计课程中,掌握这三种结构是学好程序设计的基础。而循环结构是这三者中最复杂的一种结构,几乎所有的程序都离不开循环结构,但是对于那些没有经验的初学者来说,难度却不小。特别是遇到更加复杂的多重循环程序,以及分支程序嵌套在一起就更加难以理解。因此这也是计算机等级考试高级语言程序设计的一大难点。

1 循环程序的基本原理

程序是能够完成一定任务的命令的有序集合。存放程序的文件称为程序文件。例如:我们要让计算机屏幕显示一句话:“I like computer!”。以QBASIC高级语言为例,编写相应的程序语句如下:

PRINT “I like computer!”

然后执行它,就能得到相应的屏幕显示。然而在现实生活中往往会遇到一些按规律重复执行的问题,例如:要在计算机屏幕上显示100行:“I like computer!”,采用循环结构设计将使程序简练,减少程序的行数,从而节省运行时占用的内存,因此引入并运用了循环程序设计。通过相应的循环程序设计语句让PRINT “I like computer!”循环执行100次就行了,编写程序语句如下:

10 FOR I=1 TO 100 SETP 1

20 PRINT “I like computer!”

30 NEXT I

程序中采用了循环语句格式:FOR= TO STEP

NEXT

功能:这个语句指定循环变量取一系列数值,并且对循环变量的每一个值把循环体执行一次。初值表达式、终值表达式和步长值表达式都是算术表达式。步长值可以是正数(叫做递增循环),也可以是负数(叫做递减循环)。

结合图1分析,该循环程序的控制过程是这样的,令I的取值范围为1到100,先将变量I赋值为1(即I=1),I的值属于1到100的取值范围(即满足循环条件),执行PRINT “I like computer!”一次;然后I的值按步长数1依次递增,从而反复执行PRINT “I like computer!”语句100次。

从分析不难发现循环程序执行的核心问题就是判断循环条件,即根据对循环条件的判断来确定是否进入循环体以及执行循环体语句的次数。各种高级语言程序设计的基本原理都相同,即当所给定的循环条件为真时,就反复执行其循环体(命令组);当条件为假时,则终止其循环体,而去执行其后继命令。

2 如何学习循环程序设计

2.1 循环程序语句

各种高级语言都有相应的类似的循环程序语句。例如前面介绍的QBASIC中的:

FOR= TO STEP

NEXT

等循环语句。

又如VF中的:

DO WHILE

[命令组]

ENDDO

等循环语句,初学者在学习时首先要搞清楚这些循环语句的含义、特点和用法。例如VF中与DO WHILE循环语句配对的是ENDDO;与FOR循环语句配对的是ENDFOR。不能混淆使用,也不能将忘记书写。

一般每种语言都有多种循环语句,要对它们进行比较。在一些具体运用中采用恰当的循环语句可能会使循环程序更加简洁明了。

2.2 流程图

学习循环程序设计首先要学会看流程图(亦称程序框图)。就是用一些简单的图形符号和文字说明,直观地描述程序的处理步骤。程序流程图不仅有助于程序设计,而且也为阅读、分析程序带来方便。

2.3 算法

在具体的循环程序设计中遇到的问题往往比较复杂,因此在设计前应该认真分析,要设定哪些变量,写出哪些计算公式,拟出解决问题的思路。

例:假定要求从键盘上依次输入三个数,求这三个数之和。

编写算法:第一步:存和的内存变量S清0。第二步:反复执行下列操作3次,输入一个数并存入X,计算S=S+X。第三步:输出S。第四步:结束。

2.4 编写语句

学习编写循环程序之前应该多阅读一些相关的典型的程序语句,从易到难循序渐进。编写语句时应该充分的结合流程图来展开,要根据拟定的算法来设计循环条件。

3 循环程序的应用

以VF程序设计为例,假定要求从键盘输入一个邮政编码,在“考生档案”库文件中查找。一个也查不到,则显示“无此邮政编码”。否则,每查到一个,就显示该考生的姓名与工作单位。直到全部查完为止。

过程分析:① 键盘输入待查邮编并存入内存变量YZBM;② 打开库文件查询邮编;③ 用EOF()函数进行循环控制,即通过查找后是否到达文件尾作为条件来进行循环控制;④ 如EOF()为真则退出循环,并显示“无此邮编”;⑤ 如EOF()假则循环显示该考生的姓名、工作单位,然后继续查找直到EOF()为真时停止查找并显示“查找完毕”。

程序流程图如图2所示,其循环结构由三部分组成。① 设置初值。包括循环操作中的初值和控制循环的初值两部分,通过查找邮政编码获得EOF()函数的值是控制循环用的初值。② 循环的实际操作。这部分是循环中要反复执行的操作,同是包括控制循环条件的修改,又叫“循环体”,输出姓名和工作单位是循环操作,继续查找既是循环操作的一部分,又是修改控制循环条件。③ 循环控制部分的核心是一个条件判断,即EOF()函数的值是 “假”开始循环,值为“真”退出循环。

程序设计如下:

ACCEPT "请输入待查的邮政编码(5位整数):"TO YZBM

USE 考生档案

LOCATE ALL FOR 邮政编码=YZBM

IF EOF()

?"经查找,所有考生中无此邮政编码!"

ELSE

DO WHILE .NOT. EOF()

?"姓名:"+姓名+SPACE(4)+"通讯地址:"+通讯地址

CONTINUE

ENDDO

?"已经查完了!"

ENDIF

USE

在循环程序设计中一定要注意控制循环次数的控制,否则循环程序将无法结束,即陷入“死循环”。通常的办法有“计数控制”,“条件控制”。在本例中就采用了“条件控制”。

4 多重循环

一个循环语句中可以包含另一个循环语句,这种结构叫做循环语句“嵌套”,在外层的叫外循环,在内层的叫内循环。多重循环结构的特点是:外层变一次,内层变一遍。

比较典型的运用例子就是设计打印乘法九九表的程序,即1*1=1,1*2=2,……,9*9=81。首先考虑如何打印1*1=1,1*2=2……,1*9=9,这用单循环很容易就能实现。但是对于整个程序的设计就要使用多重循环了。被乘数和乘数分别用A和B表示,A的值从1增加到9,B的值从1增加到9,每次都增加1,其乘积用P表示。每个A值都要使B从1变化到9,然后打印出相应的乘积。用VF设计主要程序语句如下:

A=1

DO WHILE A

B=1

DO WHILE B

P=A*B

? A,"*",B,"=",P

B=B+1

ENDDO

A=A+1

ENDDO

5 结束语

许多问题的求解归结为重复执行的操作,比如数值计算中的方程迭代求根,非数值计算中的对象遍历。重复执行就是循环。重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。重复的动作是受控制的,因此循环程序设计的要点就是要做好循环控制的设计。

参考文献:

[1] 林卓然.BASIC语言简明教程[M].广州:中山大学出版社,1995.

[2] 迟成文.全国计算机考级考试教程(二级)[M].北京:电子工业出版社,1997.

[3] 周南岳.数据库基础与应用技术[M].北京:高等教育出版社,1999.

[4] 周建祥,王金祥,管加磊.FOXBASE PLUS[M].南京:南京大学出版社,1992.