Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲

上传人:E**** 文档编号:89184019 上传时间:2019-05-20 格式:PPT 页数:28 大小:1.07MB
返回 下载 相关 举报
Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲_第1页
第1页 / 共28页
Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲_第2页
第2页 / 共28页
Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲_第3页
第3页 / 共28页
Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲_第4页
第4页 / 共28页
Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲》由会员分享,可在线阅读,更多相关《Visual Forpro数据库设计与应用 教学课件 ppt 作者 安晓飞 10VFP第10讲(28页珍藏版)》请在金锄头文库上搜索。

1、第10讲,第6章 程序设计基础,2,教学内容,第6章 程序设计基础 6.2 程序的基本结构(循环结构),第6章 程序设计基础,3,教学重点 熟练掌握For、Do、Scan循环控制结构 教学难点 循环结构中的loop和exit 语句,scan循环结构 多重循环结构,第6章 程序设计基础,4,6.2 程序的基本结构,6.2.3循环结构 DO WHILE-ENDDO语句,【格式】DO WHILE LOOP EXIT ENDDO,【功能】先判断取值的真假,如果为真,则执行DO WHILE与ENDDO之间的语句序列(即循环体),当执行到ENDDO语句时返回到DO WHILE,再次判断的值,如果为真再次执

2、行循环体,如此循环往复,直到某一时刻的值为假,则不再执行循环体,执行ENDDO后面的语句。,循环体,条件表达式,循环体,ENDDO后面的语句,假,真,第6章 程序设计基础,5,6.2 程序的基本结构,6.2.3循环结构 DO WHILE-ENDDO语句,【说明】 DO WHILE和ENDDO语句必须成对出现 LOOP:结束本次循环体的执行,重新判断条件 EXIT:结束循环体执行,直接跳到ENDDO后 LOOP和EXIT通常出现在循环体内嵌套的选择语句中,【格式】DO WHILE LOOP EXIT ENDDO,条件表达式,循环体,ENDDO后面的语句,假,真,LOOP,EXIT,第6章 程序设

3、计基础,6,6.2 程序的基本结构,6.2.3循环结构 【例6.10】显示所有物理 专业学生的信息,SET TALK OFF CLEAR OPEN DATABASE 教学 USE 学生 DO WHILE .NOT. EOF() IF 专业=“物理 “ DISPLAY ENDIF SKIP ENDDO CLOSE DATABASE RETURN,第6章 程序设计基础,7,6.2 程序的基本结构,6.2.3循环结构,SET TALK OFF CLEAR OPEN DATABASE 教学 USE 教师 DO WHILE .T. ACCEPT “请输入教师号:“ TO jsh LOCATE FOR 教

4、师号=jsh DISPLAY WAIT “是否继续查询?(Y/N)“ TO yn IF UPPER(yn)=“N“ EXIT ELSE LOOP ENDIF ENDDO CLOSE DATABASE SET TALK ON RETURN,【例6.11】编写程序,查询某一个教师的信息,随即提示用户输入指令,决定是否继续查询。,第6章 程序设计基础,8,【例】下列程序执行后,变量Y的值是 *08.4国二考试真题 CLEAR X=12345 Y=0 DO WHILE X0 y=y+x%10 x=int(x/10) Enddo ?y,A. 54321 B. 12345 C. 51 D. 15,第6章

5、程序设计基础,9,【例】下列程序执行后,变量Y的值是 *08.9国二考试真题 CLEAR X=76543 Y=0 DO WHILE X0 y=x%10+y*10 x=int(x/10) Enddo ?y,A.3456 B.34567 C.7654 D.76543,第6章 程序设计基础,10,6.2 程序的基本结构,6.2.3循环结构 FOR-ENDFOR语句,【格式】 FOR = TO STEP LOOP EXIT ENDFOR|NEXT,【功能】根据的值是否超越终值决定是否执行循环体,【说明】 的默认值为1 LOOP和EXIT也可出现在循环体中 、和在循环语句执行过程中的值不会改变,循环体,

6、第6章 程序设计基础,11,程序的基本结构,FOR-ENDFOR语句,CLEAR s=0 FOR i=1 TO 10 s=s+i ENDFOR ?“S=1+2+3+ +10=“,s,【例补充】计算S=1+2+3+ +10,程序执行过程如下: i=0 s=0(初始值) i=1 s=s+i=0+1 i=2 s=s+i=0+1+2 i=3 s=s+i=0+1+2+3 i=10 s=s+i=0+1+2+3+4+10 i=1110 跳出循环,6.2.3循环结构,第6章 程序设计基础,12,SET TALK OFF SET TALK OFF SET TALK OFF CLEAR CLEAR CLEAR S

7、=0 S =0 S =0 i=1 DO WHIL i=10 FOR i=1 TO 10 FOR i=10 TO 1 STEP -1 S= S +i S = S +i S= S +i i=i+1 ENDDO ENDFOR ENDFOR ? S ? S ? S,i=i+1,i=i-1,【例】分别用DO WHILE和FOR循环求数1-10的累加和。,第6章 程序设计基础,13,6.2 程序的基本结构,6.2.3循环结构 【例6.12】计算1到100之间所有能被3整除的数的和。,CLEAR S=0 FOR i=1 TO 100 IF MOD(i,3)=0 S=S+i ENDIF ENDFOR ?s R

8、ETURN,IF i%3=0,FOR i=3 TO 100 STEP 3 S = S + i ENDFOR,INT(i/3)=i/3,第6章 程序设计基础,14,【练习1】计算S=1*2*3*4*5*10,CLEAR s=1 FOR i=1 TO 10 s=s*i ENDFOR ?“S=1*2*3*4*5*10=“,s,第6章 程序设计基础,15,6.2 程序的基本结构,6.2.3循环结构 FOR-ENDFOR语句,求最大值算法如下: 1.先假设第一个数就是最大值,将其赋值给变量max1 2.将下一个数读入变量num 3.将max1与num比较,若max1num,则将num的值赋给max1 4

9、.重复以上23步,直到将所有数都比较完毕,则最大值保存于变量max1中,CLEAR INPUT “请输入一个数:“ TO num STORE num TO max1,min1 FOR i=2 to 10 INPUT “请输入一个数:“ TO num IF max1num min1=num ENDIF ENDFOR ?“最大值为:“,max1 ?“最小值为:“,min1 RETURN,【例6.13】从键盘输入10个数,找出其中的最大值和最小值,第6章 程序设计基础,16,6.2 程序的基本结构,6.2.3循环结构 SCAN-ENDSCAN语句,【格式】 SCAN FOR ENDSCAN,【功能】

10、表记录指针自动移动,扫描表中指定范围内的记录,对每一条满足条件的记录依次执行循环体内的命令,第6章 程序设计基础,17,【例】分别用DO WHILE和SCAN循环显示“学生”表记录。,SKIP,*DO WHIL循环 SET TALK OFF OPEN DATABASE 教学 USE 学生 DO WHILE .NOT.EOF() DISP SKIP ENDDO USE SET TALK ON RETU,*SCAN循环 SET TALK OFF OPEN DATABASE 教学 USE 学生 SCAN DISP ENDSCAN USE SET TALK ON RETU,第6章 程序设计基础,18,

11、6.2 程序的基本结构,6.2.3循环结构 SCAN-ENDSCAN语句,SET TALK OFF OPEN DATABASE 教学 n=0 USE 教师 SCAN FOR 职称=“副教授“ AND 性别=“男“ DISPLAY 姓名,性别,职称 n=n+1 ENDSCAN ?“副教授男教师有“,ALLTRIM(STR(n),“位“ USE SET TALK ON RETURN,【例6.14】统计职称为“副教授”的男教师的人数,并显示教师的姓名、性别和职称,2,第6章 程序设计基础,19,例国二真题:如果在命令窗口执行命令:LIST名称,主窗口中显示 记录号 名称 1 电视机 2 计算机 3

12、电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是: GO 2 SCAN NEXT 4 FOR LEFT(名称,2)=“电” IF RIGHT(名称,2)=“线” EXIT ENDIF ENDSCAN ?名称 A) 电话线 B) 电线 C) 电冰箱 D) 电视机,第6章 程序设计基础,20,例国二真题:如果在命令窗口执行命令:“LIST 名称”后,在主窗口中显示: 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是 GO 2 SCAN NEXT 4 FOR LEFT(名称,2)

13、=“电“ IF RIGHT(名称,2)=“线“ LOOP ENDIF ? 名称 ENDSCAN A)电话线 B)电冰箱 C)电冰箱电线 D)电视机电冰箱,第6章 程序设计基础,21,6.2 程序的基本结构,6.2.3循环结构 循环嵌套,FOR i=m1 TO m2 ENDFOR,FOR j=n1 TO n2 ENDFOR,【说明】 外循环必须完整包含内循环,不允许交叉 EXIT语句只能跳出一层循环,LOOP语句只能结束本层循环,第6章 程序设计基础,22,【例】 For i = 1 To 3 For j = 1 To 3 Print i, j Next j Next i,执行过程: 外循环一次

14、,内循环完,再取外下次 i=1 j=1 输出 1 1 j=2 1 2 j=3 1 3 i=2 j=1 2 1 j=2 2 2 j=3 2 3 i=3 j=1 3 1 j=2 3 2 j=3 3 3 i=4 退出循环,第6章 程序设计基础,23,6.2 程序的基本结构,6.2.3循环结构 循环嵌套 【例6.15】编程求1!+2!+ +10!,SET TALK OFF CLEAR s=0 FOR i=1 to 10 t=1 FOR j=1 to i t=t*j &内层循环求i的阶乘 ENDFOR s=s+t ENDFOR ?“1!+2!+ +10!=“,s RETURN,求10!的程序如下: t=

15、1 FOR j=1 to 10 t=t*j ENDFOR ?j,第6章 程序设计基础,24,1.数组:名字相同而下标不同的内存变量。 一维数组(一个下标) A(2) A(1) A(2) A(5) A(1) A(2) A(3) A(4) A(5) 二维数组(两个下标) Y(2,3),说明: 数组元素下标的起始值为1。 数组必须先定义后使用。,数组:P22页,第6章 程序设计基础,25,2、数组的定义: DIMENSION (,) DECLARE (,) 例1 DIME M(2,3),N(4),3、数组的赋值 数组生成后,系统自动赋予逻辑假值。,a.单个赋值: DIME A(3) A(1)=5 A(2)=A A(3)=2010/04/23,b.为整个数组赋值: DIME B(2,3) B=9,第6章 程序设计基础,26,c.用循环语句给数组元素赋值。 DIME a(100) FOR i=1 TO 100 a(i)=i ENDFOR,A(1)=1 A(2)=2 A(3)=3 A(4)=4 A(100)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号