Visual Foxpro程序设计第四章第6讲 DO WHILE循环结构
《Visual-Foxpro程序设计》教学大纲精选全文完整版
可编辑修改精选全文完整版《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命令创建、维护和查询数据库和数据表。
Visual Basic 程序设计基础知识-循环
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。
VFP第6部分(循环结构)
例2:写出程序 的结果store源自0tox,s
do whil .t. x=x+1 s=5*x if s>20
结果为:5 10 15 20
exit else ?s endi endd retu
例3:写出程 序的结果
结果为:8 16 24 32
x=.t. s=0 do whil x s=s+1 if s/8=int(s/8) ?s else loop endi if s>30 x=.f. endi endd retu
2)步长循环(for…endfor计 数循环) 格式:
例2:求n的阶乘
例3:计算s=1+2+3+…+100
clea s=0 for i=1 to 100
s=s+i
enddo
?"1+2+3+...+100=",s
return
说明:
①步长可正可负,缺省为1。
②循环体中不应包含改变循环 变量值的命令,否则循环次数将 随之改变。
③如果循环可以通过计数来控 制,则本循环比条件循环更为方 便。
当循环
inpu “请输入终值:” to n inpu “请输入步长:” to k i=1
步长循环
for i=1 to n step k
do whil i<=n
<命令序列>
<命令序列>
endf|next
i=i+k
endd
例4:写出本程序的执行结果
第一步, 计算 0+1; 第二步, 计算 (0+1)+2; 递归 第三步, 计算 (0+1+2)+3; 算法 ……… 第 i 步, 计算 (0+1+…+i-1)+i; ………. 第100步,计算 (0+1+…+99)+100;
Visual FoxPro 程序设计教程概要
■ 多分支条件选择语句DO CASE
4.3 提供简单选择的控件
■ 命令按钮组
4.1 条件表达式
4.1.1 关系运算符与关系表达式
关系运算符有8种:<、<=、>、>=、=、<>、#、
!=、$、= =
4.1.1 逻辑运算符与逻辑表达式
逻辑运算符有3种:AND、OR、NOT
4.1.1 运算符的优先顺序
教学进程
y = (1 + x1)^5 * a ENDCASE mes = ALLT(STR(a)) + “元” + mes + CHR(13) + “到期时, 本息共计:" + ALLT(STR(y,12,2)) + "元" MESSAGEBOX(mes, 0 , "利息计算")
教学进程
●选项组与选项组生成器
教学进程
【例4-10】利用选项组控制文本的对齐方式与字体,如图4-18。 设计步骤如下: (1) 建立应用程序用户界面。 (2) 设置对象属性。 (3) 编写程序代码。 ●编写表单的Activate事件代码: THIS.Text1.SetFocus ●编写OptionGroup1的Click事件代码: n = THIS.Value DO CASE CASE n = 1 THISFORM.Text1.Alignment = 0 CASE n = 2 THISFORM.Text1.Alignment = 2 CASE n = 3 THISFORM.Text1.Alignment = 1 ENDCASE
设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。
教学进程
VFP第4、5、6部分(程序算法、顺序分支循环)
l ( a b c) / 2
(其中a,b,c为三角形的三边,area为三角形的面积)
“计算”按钮的“Click”事件代码如下: a=thisform.text1.value 数据输入 b=thisform.text2.value c=thisform.text3.value l =(a+b+c)/2 数据处理 area=sqrt( l *( l -a)*( l -b)*( l -c)) thisform.text4.value=round(area,1)
“求解”命令按钮的“Click”事件代码如下: a=thisform.text1.value b=thisform.text2.value c=thisform.text3.value if a=0 messagebox("二次项系数为0,这不是一个一元二次方程") thisform.text1.setfocus else d=b^2-4*a*c if d>=0 x1=round((-b+sqrt(d))/(2*a),2) x2=round((-b-sqrt(d))/(2*a),2) thisform.text4.value=x1 thisform.text5.value=x2 else messagebox("该方程没有实数根!") endif endif
l
(教材P54) 【例3-4】设计如图3-13所示表单,其中 文本框Text1中可以接受日期型数据,运行表单后在 Text1中输入日期:08/25/11,单击命令按钮 “Command1”,则标签Label2显示什么?其中 command1控件的click事件代码: 填什么? d=thisform.text1.value y=year(d) IF ____________________ y1="是" ELSE y1="不是" ENDIF bel2.caption=y1
精品课件-Visual FoxPro6.0程序设计-第6章
第6章 循环结构程序设计
(1) 建立应用程序用户接口与设置对象属性,参见图6-1 所示。
(2) 编写程序代码。 运行程序,结果如图图6-1 求1 + 2 + 3 + … + 100的值
第6章 循环结构程序设计
【例6-2】 输入一个正整数,判断该数是否为素数。 (1) 建立用户接口及设置对象属性,参见图6-2所示。 (2) 编写事件代码。 运行程序,结果如图6-2所示。
THISFORM.Text1.ReadOnly= .T.
运行程序,结果如图6-3所示。
第6章 循环结构程序设计
任务6.2 列表框、组合框、页框控件
任务导入 学习目标 任务实施 1. 列表框的常用属性和方法 列表框(ListBox)显示一个项目列表,用户可以从中选择 一项或多项,但不能直接编辑列表框中的数据。 1) 列表框的常用属性 列表框的常用属性,见表6-1。
第6章 循环结构程序设计 图6-6 加减法算术练习
第6章 循环结构程序设计
进入窗体设计器,首先增加两个文本框Text1(随机出题)、 Text2(用户输入答案)、一个列表框List1(保存做过的题目)、 一个命令按钮Command1、一个图像Image1和一个卷标Label1, 属性的设置参见图6-7所示。
第6章 循环结构程序设计
2) 列表框的常用方法 列表框的常用方法,见表6-2。
第6章 循环结构程序设计
表6-2 常用列表框方法
方法程序 AddItem
Clear RemoveItem
说明 在列 表框中添加新的 数据项 清除 列表中的各项 从列 表框中移去一个 数据项
第6章 循环结构程序设计
2. 列表框使用示例 【例6-5】 输出如图6-4所示的“九九”乘法表。 (1) 建立应用程序用户接口和设置对象属性。 设计窗体接口,其中List1的属性设置,见表6-3。 其他控件的属性设置参见图6-5所示。
VFP课件(第六章)
【例6-13】列表框选择多个项目。
(1)设计表单和控件属性:
(2) 设置对象属性 List对象的属性: 对象的属性: 对象的属性 MoverBars=.t. 设置每个列表项行首有可移动按钮 MultiSelect=.f. 可连续删除多项
(3) 编写事件代码
“删除”按钮的Click 事件 删除”按钮的
【例6-14】显示学生情况 。
(1)设计界面:
(2)设计属性:
“班级编号”组合框: 班级编号”组合框:
ControlSource = 学生情况.班级编号 RowSourceType = 1-值 RowSource = 951202,951603,951801,951201 Style = 2
下拉组合框(即 属性默认为0)则兼有列表框和文 下拉组合框 即Style属性默认为 属性默认为 本框的功能。用户可以单击下拉组合框上的按钮查看选择项的 列表,可以直接在按钮旁边的框中直接输入一个新项。
组合框常用属性 属性
ControlSource RowSourceType RowSource Style ListCount Selected Value DisplayValue
作用
指定用于保存用户选择或输入值的表字段 指定框中数据源的类型 指定框中数据项的来源 指定组合框是下拉列表框还是下拉组合框 返回框中列表项的个数 用于分辨框中某一列表项是否被选中,选中时Selected 属性返回.T.,否则返回.F. 返回在列表中选定的项 返回组合框中键入的文本
(1)下拉列表框 如果想节省表单上的空间, 如果想节省表单上的空间 , 并且希望强 调当前选定的项,可以使用下拉列表框。 调当前选定的项,可以使用下拉列表框
【例6-10】求1~1000之间的全部完数。
Visual Foxpro程序设计第四章第6讲 DO WHILE循环结构
DO WHILE .NOT. EOF()
DO CASE
CASE zcmc="教授"
t1=t1+1
CASE zcmc="副教授"
t2=t2+1
8
CASE zcmc="讲师"
中国矿业大学计算机学院 李向群
t3=t3+1
OTHERWISE
t4=t4+1
ENDCASE
SKIP
ENDDO
@1,10 SAY " 教授的人数:"+STR(t1)
@3,10 SAY "副教授的人数:"+STR(t2)
@5,10 SAY "讲师的人数:"+STR(t3)
@7,10 SAY "助教的人数:"+STR(t4)
USE
RETURN
9
中国矿业大学计算机学院 李向群
(1)DO WHILE循环又称_____循环。 (2)当循环条件为______是开始执行DO WHILE循环。 (3)LOOP语句的功能是_________。 (4)EXIT语句的功能是________。
EXIT语句的功能是退出循环。EXIT语句可以放在循环 体内的任何位置,当执行EXIT语句时,直接退出循环, 执行ENDDO后面的语句。通常,EXIT语句是在条件语 句控制下,当条件得到满足时便跳出循环。
6
DO WHILE 循环
中国矿业大学计算机学院 李向群
例1:计算 S=1+2+……+100
ENDDO
3
DO WHILE 循环结构
中国矿业大学计算机学院 李向群
visual foxpro 课件 顺序结构程序设计
4. 事件与方法的程序调用
• 事件过程由事件的激发而调用其代码,也可以在运行中由程序 调用其代码,在程序中调用事件代码的格式是: 表单名.对象名.事件名 mand1.click • 方法的代码只能在运行中由程序调用. • 在程序中调用对象方法的格式是 • [[〈变量名〉] = ]〈表单名〉.〈对象名〉.〈方法名〉( ) • Thisform.release() • 例:日期时间
•
容器 命令按钮组 容器 自定义 表单集 表单 表格列 表格 选项按钮组
能包含的对象 命令按钮 任意控件 任意控件、页框、容器、自定义对象 表单、工具栏 页框、任意控件、容器或自定义对象 标头对象以及除了表单集,表单,工具栏,计时器和其他列对象以 外的任意对象 表格列 选项按钮
页框页面 工具栏源自页面• • • • • • • • • • • • • Load Event —— 调用(运行)该表单前发生的事件(例题:启动) Init Event —— 表单初始化、创建对象时事件 Activate事件 —— 当表单被激活时发生。 Click Event —— 点击表单(鼠标左键)事件(例题变大小) DblClick Event —— 双击表单事件 Error Event —— 运行表单时出错的事件 Hide —— 隐藏表单方法 KeyPress Event —— 按键时发生的事件 RightClick Event —— 右击表单事件 Destroy Event —— 在对象释放时引发 UnLoad Event —— 当表单被关闭时发生。 在表单运行时首先运行Load Event ,然后Init Event、 Activate事件 在表单关闭时首先运行Destroy Event,然后UnLoad Event
2. 对象的事件
visual foxpro程序设计中循环结构的分析
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循环结构来统计数据库中的总结果或者对结果进行分类。
VFP-04-03DoWhile和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的工作方式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程序是命令行的序列,每个命令都以回车键结束,一行只能写一条命令;若一条命令太长,一行写不下,也可分行书写,并在分行处加上续行符“;”,再按回车键。
Visual FoxPro程序设计实例教程第6章 结构化程序设计基础
21
2)ACCEPT 格式:ACCEPT [<提示信息>] TO <内存 变量名> 功能:该命令与INPUT命令类似,不同的是它 把输入的内容作为字符串赋值给指定的<内存变量 > ①如果没有输入数据就按回车键,那么<内存 变量>的值则为空字符串。 ②
22
3)WAIT 格式:WAIT[<提示信息>][TO <内存变量 名>] [WINDOW] [TIMEOUT<数值表达式> 功能:该命令的作用是暂停正在运行的程序, 直到用户按任意键(如输入为一字符,则可将其存 入内存变量)或单击鼠标或指定时间内继续程序的
50
①DO WHILE和ENDDO、FOR和ENDFOR、 SCAN和ENDSCAN ②<语句序列>可以是任何VFP命令或语句,
③<循环变量>应是数值型的内存变量或数组
④EXIT和LO计过程中,可以把一段经常使用的程 序代码独立出来,创建子程序、过程或自定义函数, 在需要使用该代码时,只需直接调用,而不必重复
46
图6.11
47
5 多重循环即循环的嵌套,是在一个循环结构的 循环体中又包含另一个循环。嵌套层数一般没有限 制,但内层循环的循环体必须完全包含在外循环的 循环体中,不能相互交叉。正确的嵌套关系如图 6.12所示。
48
图6.12 循环层次关系
49
DO WHILE <条件表达式1> <语句序列11> DO WHILE <条件表达式2> <语句序列21> DO WHILE <条件表达式3> ENDDO <语句行序列22> ENDDO <语句行序列12> ENDDO
VF循环结构
循环结构:前面我们学习的顺序结构和选择结构有一个共同点,即程序语句不能重复执行.而在实际应用中,常常需要多次重复执行某些语句.这样的需求适合于用循环语句来处理.在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循环语句的灵活使用
【 计算机与信息技术 】
Vsa Fxr i l oPo中 D IE循 环 语 句 u O WH L 的 灵 活 使 用
尹树 玲
( 运城学院 公共计算 机教学部 , 山西 运城 O4O) 4OO
F e il eo lx be Us fDO HI E o t tme ti s a o P o W L Lo p S a e n Vi lF x r n u
键. 很多初学者在编程过程 中经常会出现错误, 如
1 3 种循环语句的 比较
循环结构 , 也称为重复结构 , 是指程序在执行
不能判断出循环次数等 . 笔者认为解决问题 的最
好办法就是要搞懂 3 种循环语句的区别 , 掌握好
・
收 稿 日期 :{7 0 1 2 —1 —2 D 作者简介 : 尹树玲 (9 1 , 山西侯 马人 , 士研究生 , 18 一) 女, 硕 主要从 事系统工程研究
D IEE D D OWHL N O语句 , 经常是在循环条件 容易给出的情况下使用 .
13 S A .N C N语句 . C N E D S A
是否为真 , 以确定是否再次执行循环体 . 若条件为
假, 则结束该循环 , 执行 E DD N O后面的语句 . 从以上的执行过程可以知道 ,O WHL —N D I ED E D O循环语句是“ 型循环 , 当” 即先判断条件是否成
语 句的 实现
从 F RE D F R语句的执行过程可知 , O —N O 该循 环语句可以用 D IEE DD OWHL N O语句实现 , 其格
式为 :
( 循环变量) 初值) =( D HL < OW IE 循环 变量) =( ( 终值) 此时步长 ( 为正值 , 若步长为负值则( 循环变量) =( ) 终值) )
Visual FoxPro中DO WHILE循环语句的灵活使用
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], 丁爱萍因版权原因,仅展示原文概要,查看原文内容请购买。
VFP编程(循环结构)
二、循环结构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的最大公约数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国矿业大学计算机学院 李向群
第四章第6讲 DO WHILE循环结构 讲课结束 谢谢收看
I=1
S=0
DO WHILE I<=100
S=S+I
I=I+1
ENDDO
?S,I
100以内的奇数和、偶数和?
7
DO WHILE 循环
中国矿业大学计算机学院 李向群
【例2】 统计教师表中职称名称为教授、副教授、 讲师、助教的各有多少人。
CLEAR
USE js.dbf EXCLUSIVE
STORE 0 TO t1, t2, t3, t4
EXIT语句的功能是退出循环。EXIT语句可以放在循环 体内的任何位置,当执行EXIT语句时,直接退出循环, 执行ENDDO后面的语句。通常,EXIT语句是在条件语 句控制下,当条件得到满足时便跳出循环。
6
DO WHILE 循环
中国矿业大学计算机学院 李向群
例1:计算 S=1+2+……+100
DO WHILE .NOT. EOF()
DO CASE
CASE zcmc="教授"
t1=t1+1
CASE zcmc="副教授"
t2=t2+1
8
CASE zcmc="讲师"
中国矿业大学计算机学院 李向群
t3=t3+1
OTHERWISE
t4=t4+1
ENDCASE
SKIP
ENDDO
@1,10 SAY " 教授的人数:"+STR(t1)
LOOP
2
DO WHILE 循环
中国矿业大学计算机学院 李向群
DO WHILE循环又称条件循环,是根据条件表达式 的值来决定循环体的执行次数的一种循环结构。
适用条件:循环次数未知
格式:
DO WHILE <条件表达式>
<语句行序列>
[LOOP]
循 环
[EXIT]
体
【语句功能】语句格 式中的<条件表达式> 称为循环条件,循环 体是需要多次重复执 行的程序段。
@3,10 SAY "副教授的人数:"+STR(t2)
@5,10 SAY "讲师的人数:"+STR(t3)
@7,10 SAY "助教的人数:"+STR(t4)
USE
RETURN
9
中国矿业大学计算机学院 李向群
(1)DO WHILE循环又称_____循环。 (2)当循环条件为______是开始执行DO WHILE循环。 (3)LOOP语句的功能是_________。 (4)EXIT语句的功能是________。
4
DO WHILE 循环
执行流程
循环体中要有使得条件表 达式最终为.F.的语句或通
过EXIT强制退出
中国矿业大学计算机学院 李向群
.F.
条件表达式
.T.
循环体
ENDDO后面的语句
5
DO WHILE 循环结构
中国矿业大学计算机学院 李向群
• 说明
LOOP语句的功能是返回到循环的开始处,重新对循环 条件进行判断。LOOP语句一定要用在循环体内才有意 义,LOOP语句使它后面的语句在本次循环时不被执行。 LOOP语句可以出现在循环体内的任何位置,经常包含 在分支语句中。
中国矿业大学计算机学院 李向群
第四章 Visual FoxPro程序设计基础 第6讲 DO WHILE循环
循环结构程序设计
中国矿业大学计算机学院 李向群
循环结构是指从程序的某处开始有规律的重复执行某一 程序段的程序结构。
三种循环结构: FOR 循环
DO WHILE循环
SCAN 循环
两个命令: EXIT
ENDDO
3
DO WHILE 循环结构
中国矿业大学计算机学院 李向群
语句执行时,若循环条件的值为.T.,则执行 循环体
一旦程序执行遇到ENDDO就自动返回到循环条 件部分,DO WHILE会重新判断循环条件是否为. T.,以决定是否再次执行循环体。
若循环条件的值为.F.,循环就结束,然后执 行ENDDO后面的语句。