Visual Foxpro程序设计第四章第6讲 DO WHILE循环结构
- 格式:ppt
- 大小:1.29 MB
- 文档页数:11
可编辑修改精选全文完整版《Visual Foxpro程序设计》教学大纲一、课程的性质和任务Microsoft Visual Foxpro关系数据库是新一代小型数据库管理系统的杰出代表。
它具有强大的性能、完整而丰富的工具、较高的处理速度、友好的界面以及完备的兼容性等特点。
是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的工具软件。
目前在我国有广泛的应用基础和用户群。
《Visual FoxPro程序设计》课程是目前国内各高校普遍开设的一门计算机公共课程,学习本课程将有助于学生巩固、加深和拓展已有的计算机和信息技术知识;掌握基本的数据库应用技术和基于数据库的应用程序设计技术;培养逻辑思维能力,以及分析问题和解决问题的能力。
将专业知识与计算机信息管理知识和技能结合起来,使之在今后的学习和工作中适应新时代的要求。
二、课程教学目标(一)知识教学目标本课程为必修课,按照本大纲采用同一程序设计语言开课的各专业统一内容、统一要求、统一考试。
通过本课程的课堂教学与上机实训,要求学生:1、了解信息(Information)、数据(Data)、数据库(Data Base)、数据库管理系统(DBMS)和数据库系统(DBS)的基本概念,以及数据库技术在当今社会各个层面管理中应用的重要性。
2、熟悉Visual FoxPro的用户界面和运行方式,掌握Visual FoxPro的各种数据类型,以及常量、变量、表达式、函数等各种数据元素,掌握Visual FoxPro 的命令格式和主要文件类型等基础知识。
3、掌握数据表的创建方法,以及数据记录的插入、删除、修改、排序、索引、查找、统计汇总等基本操作,同时掌握多个数据表之间的关联、更新等操作。
4、掌握数据库创建与维护的方法,以及数据字典、数据视图、数据库表之间的永久关系和参照完整性等知识,掌握应用数据库技术管理大量信息的基本技能。
5、熟悉SQL结构化查询语言,了解该语言的特点;着重掌握SQL的数据定义语言、数据修改语言和数据查询语言,能够使用基本SQL命令创建、维护和查询数据库和数据表。
WHILE循环结构一、语法结构WHILE <条件><循环体>WEND注:1.执行过程:先判断条件是否成立,如果成立就执行循环体(while与wend之间的语句);循环体执行完后,再判断条件是否依旧成立,如果成立继续执行循环体,否则退出循环,执行wend后的语句。
2.while-wend结构的循环必须在循环体内改变循环控制变量的值,否则会出现死循环例1 求s=2+3+……+100s=0:n=1while n<=00s=s+nn=n+1wendprint “s=”;s例2.如果我国工农业生产每年以12%速度增长,问多少年后产值翻一番:基值设为100。
(逐年计算产值,看是否达到200)p=100r=0.12n=0WHILE p<200p=p*(1+r)n=n+1WENDPRINT n,p例3.一张纸厚度为0.5毫米,问对折多少次后厚度超过8844米 n =0h = 0.5Do while h<=8844000h =2*hn =n+1LoopPrint nFor-next循环结构1、格式FOR <变量>=<初值> TO <终值> STEP <增量>循环体NEXT <变量>如: for i=1 to 10 step 2print inext i2、说明(1)FOR与NEXT必须配对;(2)FOR必须在NEXT的前面;(3)FOR中的循环变量与NEXT的变量一致;(4)步长为1时“ STEP 1”可省略;(5)循环终止的条件是循环变量赋值超过终值,而不是等于终值。
终止条件:当步长>0时,循环变量>终值当步长<0时,循环变量<终值当步长=0时,永不终止(6)循环次数的计算次数=(终值一初值)/步长+1(7)循环变量尽量用整型变量;(8)循环变量初值和终值、步长值均可以是正值、负值或零,也可是整数或小数;例题1for i=1 to 100print "a"next I例题2for I=1 to 100 step 2 s=s+Inext I例题3for I=100 to 1 step -5 print Inext i 例题4 百钱买白鸡For g=1 to 19For m = 1 to 31x=100-g-mif 5*g+3*m+x/3=100 thenprint g , m , xend ifNext mNext g。
visual foxpro程序设计中循环结构的分析VisualFoxpro(VFP)一种强劲的对象关系数据库管理系统,它支持复杂的数据库应用程序的开发。
在Visual Foxpro中,循环结构是一种重要的程序设计语言,它提供了一种有效的方法来控制程序的执行和控制程序的流程。
本文就Visual Foxpro程序设计中循环结构的分析进行简要介绍。
一、Visual Foxpro中的循环结构Visual Foxpro中的循环结构分为三种:Do While循环结构、For 循环结构和For Each循环结构。
1、Do While循环结构Do While循环由“Do While”子句开始,该子句包括一个条件表达式,如果该条件表达式为真,则循环会一直执行,否则循环将终止。
Do While循环可以连续执行,直到条件为假或者循环体结束,它也可以将循环体执行指定的次数。
2、For循环结构For循环由for循环头和for循环尾构成,for循环头包括一个变量和初始值、最终值以及变量的变化量。
for循环尾包括一个step 语句,它用于指定变量增量。
for循环可以表示一次性累计计算,也可以表示分级循环或者嵌套循环。
3、For Each循环结构For Each循环是一种特殊的循环结构,它用于处理多维数组,还可以处理文件和记录集中的一组记录。
For Each循环结构有foreach语句、while条件修饰符和end for each语句组成,while条件修饰符用于确定for each语句的执行条件,在for each语句与end for each语句之间的语句将会被循环执行。
二、Visual Foxpro中循环结构的应用Visual Foxpro中循环结构可以用于各种类型的应用,从简单的任务到复杂的任务都可以使用循环结构。
1、统计与分析使用循环结构可以轻松实现数据库中的数据统计和分析,例如,可以使用For循环结构来统计数据库中的总结果或者对结果进行分类。
Do While和For循环班级:数学系12级日期:2013.11时数:1目的:理解Do While和For循环语句重点:Do while/EndDo语句及举例难点:循环语句的理解关键:图示4.4 循环结构程序4.4.1 Do While循环语句格式:Do While <条件><语句序列>[Exit][Loop]EndDo功能:条件满足时,循环执行Do While和EndDo之间,直到条件不满足或Exit强行退出。
执行过程:第1步:计算<条件>表达式,结果为.F.,整句结束;否则为.T.,到第2步。
第2步:执行Do While和EndDo之间的<语句序列>。
中途遇Exit命令,强行结束本循环语句。
中途遇Loop命令,回到第1步。
遇EndDo语句,回到第1步。
图4-5 Do While语句流程图教学提示:为了与FOR语句流程图一致,才这样画图中的虚线。
说明:①Do While和EndDo须各占一行,成对出现。
②必须能退出循环,否则为“死”循环。
教学提示:以求s=1+2+...+100为例,变以取奇、偶数、s>100、去3的倍数,以演示初值、增量、exit、loop。
第97页,例 4.13已知学生成绩表student_cj.dbf中有10条记录,请写出以下程序的执行结果。
set talk offclearuse student_cj.dbfi=1do while i<10i=i+2append blankenddo"學生成績表的記錄個數為:",recc()useset talk onreturn第97页,例 4.14请写出以下程序的执行结果。
set talk offst="123456789"k=8do while k>=0x=substr(st,k,k)y=left(st,k)z=right(st,k)s=x+y+zk=k-3enddo"s=",sset talk onreturn第97页,例 4.15逐条显示学生信息表student_info.dbf中1989年出生的学手的记录。
Visual FoxPro的工作方式Visual FoxPro系统提供有三种工作方式:即单命令方式、菜单方式及程序文件方式。
1.单命令方式Visual FoxPro单命令方式是利用Command 窗口来实现的。
用户通过Command 窗口输入命令,并执行操作。
在Command 窗口中,可以输入单个的操作命令和系统命令,完成对数据库的操作管理和系统环境的设置;也可以建立命令文件及运行命令文件。
Command 窗口不仅是Visual FoxPro命令的执行窗口,也是Visual FoxPro命令文件的编辑窗口。
所谓单命令方式,即输入一条命令,完成一个操作的工作方式。
2.菜单方式在Visual FoxPro 环境下,也可以通过系统提供的菜单选项,对数据库资源进行操作管理和对系统环境进行设置;并通过菜单建立命令文件及运行命令文件。
所谓菜单方式,即通过打开不同的菜单选择并完成不同的操作。
我们在以前各章所讲的内容其实都可说是菜单方式。
3.程序文件方式程序文件(简称程序)也叫做命令文件。
运用程序文件方式进行数据库管理,是通过程序文件编辑工具,将对数据库资源进行操作管理的命令和对系统环境进行设置的命令,集中在一个以(.PRG)为扩展名的命令文件中,然后再通过菜单方式或命令方式运行该命令文件。
所谓命令方式,即通过程序文件中的命令完成不同的操作。
第一节程序文件一、Visual FoxPro程序的几点说明1.注释语句【格式1】NOTE <注释内容>【格式2】* <注释内容>【格式3】&& <注释内容>【功能】增强程序文件的易读性或放弃<注释内容>中语句的执行2.对话开关语句【格式】SET TALK OFF|ON【功能】关闭或打开命令执行时的对话开关3.命令的分行Visual FoxPro程序是命令行的序列,每个命令都以回车键结束,一行只能写一条命令;若一条命令太长,一行写不下,也可分行书写,并在分行处加上续行符“;”,再按回车键。
循环结构:前面我们学习的顺序结构和选择结构有一个共同点,即程序语句不能重复执行.而在实际应用中,常常需要多次重复执行某些语句.这样的需求适合于用循环语句来处理.在vfp中,提供了3种循环语句:do while循环、for循环及scan循环.1.while循环:格式:do while 条件语句序列[loop][exit]enddo说明:(1).\"do while 条件\"是循环说明语句,它标志循环的开始,并判断循环条件是否为真值;当条件为真值时,则执行语句序列;否则跳到enddo后面的语句继续执行.(2).do while和enddo之间的语句序列也被称作循环体,是需要多次重复执行的语句,由它完成规定的数据处理工作.(3).循环语句中的可选项exit,用于退出循环语句,可放在循环体语句的任意位置上.若在循环体中加上该可选项,当执行exit时,跳出循环体去执行enddo 后面的语句.通常,exit是在条件语句控制下,当条件得到满足时便跳出循环;否则永远不能执行exit后面的循环体语句.(4).可选项loop,是循环短路语句,也可以放在循环体语句的任意位置上.当执行loop时,其后的循环体语句部分不予执行,直接返回到循环起始语句.loop也通常放在条件语句的控制下.(5).enddo和do while必须成对出现.例:将\"职工档案\"表中所有职称是\"讲师\"的工资加200元,副教授加150元,无职称的加100元.首先,我们修改一下\"职工档案\"表的结构,为其增加一个\"工资\"字段: 在命令窗口依次执行如下命令:use 职工档案modify structure弹出\"表设计器\"窗口,添加一个新字段:工资 N6.1,单击\"确定\",保存更改.再执行browse命令,在弹出的browse窗口中为每条记录的\"工资\"填上值, 新建一个程序文件xiugai.prg,程序文件的内容如下:clearuse 职工档案do while .not.eof()do casecase 职称=\"讲师\"replace 工资 with 工资+200case 职称=\"副教授\"replace 工资 with 工资+150case 职称=\"无\"replace 工资 with 工资+100endcaseskipenddousereturn程序分析:循环程序由以下4个主要部分构成:A.循环的工作部分.它完成循环的主要工作,是循环体的主要部分.这里由do case---endcase组成.B.循环的修改部分.它保证循环体在循环过程中,有关的量能按一定的规律变化.这里的循环修改部分是skip语句,用来实现依次操作文件的各条记录.C.循环的控制部分.它保证循环体语句按规定的循环次数正常执行.此例中的循环控制部分是.not.eof()逻辑表达式,它表示做完所有记录的操作.D.循环的初始部分.它是循环控制初值.本程序中循环控制初值是隐含的,因为打开文件后,记录指针指向首记录,所以操作是从首记录开始的.2.for循环:在已知循环次数的情况下,使用for循环比较方便格式:for 变量=初值to 变量终值[step]步长语句序列[exit][loop]endfor|next功能:在循环控制变量的初值和终值的范围内执行循环语句,每执行一次循环,循环控制变量都要加上增量.当其值在规定范围内时就再次执行循环体语句序列,否则结束循环,执行循环终止语句下面的语句.跳出循环和循环短路语句exit和loop意义同前.具体执行步骤:(1).给变量赋初值;(2).判断变量的值是否小于等于终值;(3).若不是,则循环结束;(4).若是,则执行语句序列;(5).变量=变量+步长(若省略step,则步长=1);(6).转(2).例:在屏幕上输出乘法口诀表程序文件内容如下:?\"九九乘法表\"?for i=1 to 9for j=1 to i??alltrim(str(i))+\"*\"+alltrim(str(j))+\"=\"+alltrim(str(i*j))+\" \"next?next3.scan循环:格式:scan [范围][for 条件]语句序列endscan功能:对表中指定范围,满足条件的记录执行循环体语句,每执行一次循环,记录指针自动移动到下一条记录.操作表时,使用该语句功能强,效率高.例:使用scan语句编程,显示\"职工档案\"表中的女教师的姓名和职称.use 职工档案scan for .not.性别display 姓名,性别endscanusereturn。
Visual FoxPro中DO WHILE循环语句的灵活使用
尹树玲
【期刊名称】《重庆工学院学报》
【年(卷),期】2007(021)023
【摘要】针对初学者在循环结构程序设计中存在的问题,分析了DO WHILE循环语句与FOR语句及SCAN语句的区别,举例说明了DO WHILE循环语句的灵活使用方法.
【总页数】4页(P140-143)
【作者】尹树玲
【作者单位】运城学院公共计算机教学部,山西运城044000
【正文语种】中文
【中图分类】TP391
【相关文献】
1.谈Visual FoxPro 中索引的使用 [J], 黄云
2.Visual FoxPro中循环语句的解读及应用 [J], 蒲会兰;丁世文
3.兴趣诱导法在Visual Foxpro循环语句教学中的应用与思考 [J], 张小艳
4.Visual FoxPro中DO WHILE循环语句的灵活使用 [J], 尹树玲
5.FoxBASE+、FoxPro和Visual FoxPro中索引表达式的正确使用 [J], 丁爱萍因版权原因,仅展示原文概要,查看原文内容请购买。
二、循环结构do while 循环:当循环的次数事前未知,只知道什么时候退出循环时,要用 do while 语句;在循环体里应有使条件成立的语句;条件表达式的条件一定要与题目中给出的条件相反。
…………………………………………………………………………………………1.求12+42+72+……一直加直到和超过1000为止,输出和数和项数。
i=1sum=0n=0do while sum<=1000sum=sum+i^2i=i+3n=n+1enddo? "项数为",n? "sum=",sum2.求∏值,直到某项的绝对值小于0.000001为止。
4pi =1-31+51-71+…… sum=0s=1i=1t=s/ido while ABS(t)>=1E-06sum=sum+ts=-si=i+2t=s/ienddopi=4*sum? pi3.从键盘不断输入字符,统计其中数字字符的个数,一旦输入*,统计结束。
n=0accept "输入一个字符" to CHdo while CH<>"*"m=ASC(CH)if M>=48 and m<=57n=n+1endifaccept "输入一个字符" to CHenddo? "输入的字符中共有数字字符个数为",n4.键盘输入两个整数,求他们的最大公约数和最小公倍数。
input "输入一个整数" to minput "输入另一个整数" to nm1=mn1=nt=mod(m,n)do while t<>0m=nn=tt=mod(m,n)enddo? "最大公约数为",n? "最小公倍数为",m1*n1/n* 02年真题第2题:求两个整数m和n的最大公约数。