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 循环结构
中国矿业大学计算机学院 李向群
- 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后面的语句。