计算机二级vf结构化程序设计基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
< 语句系列1>
ELSE
< 语句系列 2>
ENDIF
• 功能:当<条件表达式 >的值为真时,执行< 语 句系列1>;否则执行< 语句系列 2>。如果没有 ELSE的子句,则当<条件表达式 >的值为假时, 不进行任何操作。 • 注:IF和ENDIF必须配对使用。
例8.4 从键盘输入一个正整数,判断其是否为偶数。 程序代码如下: SET TALK OFF
选择分支结构和循环结构。 1、 顺序结构:程序的执行是按其语句的排列 先后顺序执行,这也是最简单、最基本的程序 控制结构。 语句1 语句2
例8.3:将人事信息表ZG.DBF中新评为教授的 教师,其职称一栏由副教授改为教授
打开表zg 输入教师姓名 记录指针条件定位 修改职称为教授 关闭表RS
CLEAR SET TALK OFF &&打开关闭命令执行状态信息 USE ZG.dbf ACCEPT "请输入要修改记录的教师名:" to xm LOCATE FOR 姓名=xm ACCEPT 输入字符串命令 REPL 职称 WITH "教授" 暂停程序的执行,在屏幕上 USE 给出提示信息,等待用户从键盘 SET TALK ON 上输入一个字符串常量给TO
clear
INPUT "请输入一个正整数:" TO X IF MOD(X,2)=0 ?X,"为偶数!" ELSE ?X,"为奇数!" ENDIF
INPUT 输入其他类型数据命令
暂停程序的执行,在屏幕上显示信息, 并等待用户从键盘上输入各种类型的数据 :数值型,字符型,日期型,逻辑型,货币型, 按回车确认将数据赋给TO后面的内存变量
例8-12输入学生姓名和某一课程成绩,若成绩大于等 于90输出“优秀”,分数大于等于80输出“良好”, 分数大于等于60输出“及格”,小于60输出“不及格”
Set talk off else Clear IF score>=60 name=“” ?”姓名”:,name,”及格!” score=0 else @10,10 say “输入姓名”: get name ?”姓名”:,name,”不及 格!” @11,10 say “输入成绩”: get score range 0,100 endif Read endif If score>=90 endif ?”姓名”:,name,”优秀!” set talk on Else return &&结束程序执行,返回 IF score>=80 命令窗口 ?”姓名”:,name,”良好!”
第8章 结构化程序设计基础
程序:为了实现某一项任务,将若干条 命令按程序控制结构组成的命令序列。 8.1 VFP中建立程序文件 文件—新建—文件类型:程序—新建文 件—打开程序编辑窗口—书写程序— 运行! 程序的执行: DO 〈程序文件名〉
8.3 程序的控制结构
程序控制的基本结构有三种:顺序结构、
(3)多分支选择结构
格式: DO CASE CASE <条件1> [<语句组1>] CASE <条件2> [<语句组2>] …… CASE <条件n> [<语句组n>] otherwise [<语句组n+1>] endcase
3 、 循环结构
定义: 某些语句在某一条件成立时,需要重复执行,直到
条件不成立时,才结束重复执行。循环结构要特别注意 的是在重复执行语句过程中,要有控制条件的语句, 以避免出现死循环现象。 表达式 假
短语后指定的内存变量
2、选择分支结构 定义:选择分支结构是根据条件的测试结果执 行不同的操作。VFP中有两条命令实现条件分 支:二路选择分支结构(IF…ENDIF)和多路 选择分支结构(DO CASE … ENDASE)。
真 条件表达式 假
语句1
语句2
(1)二路选择分支结构
• 格式:IF < 条件表达式>
真
循环体语句
一、DO WHILE ENDDO
– 格式: DO WHILE < 条件表达式 >
<语句序列 >
[EXIT ] [ LOOP ] ENDDO
无条件结束循环 结束本次循环
功能: 当< 条件表达式 >的值为真时,重复执行
DO WHILE … ENDDO之间的<语句序列 >,直到< 条件表达式 >的值为假时结束。
ENDFOR / NEXT
功能:当循环变量的值不大于终值时,执行循 环操作。每循环一次,循环变量的值自动递增 一个步长值。
例4.12:求1000之内所有偶数之和。
SET TALK OFF CLEAR S=0 FOR I=0 TO 1000 STEP 2
S=S+I
NEXT ?“1000之内所有偶数之和为”,S SET TALK ON RETURN
三、扫描型循环结构
扫描型循环是依据数据表而建立的循环,专门用来对 数据表终的若干条记录执行相同的操作处理。
格式: SCAN [<范围>] [FOR<条件>] [语句序列] ENDSCAN
说明:首先利用EOF()函数判断记录指针是否位于 表尾,若为真(循环条件),则结束循环,否则根 据范围和条件将记录指针移动到第一个满足条件的 记录上并执行语句序列,再次判断EOF函数是否为 真。
wenku.baidu.com
SET TALK ON
(2)if语句的嵌套
• 格式:IF < 条件表达式1>
< 语句系列1>
ELSE IF< 条件表达式2>
< 语句系列 2>
……
ELSE
< 语句系列 N>
ENDIF …… • 功能:当<条件表达式1 >的值为真时,执行< 语句系 列1>;否则判断<条件表达式2>的值是否为真,为真执 行< 语句系列2> ;如果当<条件表达式 >的值都为假 时,执行< 语句系列N> 。
例8-20利用SCAN…ENDSCAN语句逐条显示 STUDENT.DBF表中女生的记录 SET TALK OFF CLEAR USE STUDENT N=0 SCAN FOR 性别=“女” DISPLAY &&显示当前记录 WAIT &&按任意键继续 N=N+1 ENDSCAN ?”女生的人数为:”+STR(N) USE SET TALK ON RETURN
例4.8:计算1+3+5+7+9+…+99的值并输出。
SET TALK OFF CLEAR s=0 i=1 DO WHILE i<=99 s=s+i i=i+2 ENDDO ?"1+3+5+7+…+99=",S SET TALK ON
二、FOR 循环程序设计
格式: FOR 循环变量=初值 TO 终值 [ STEP步长 ] < 语句系列 > For I=1 TO 100 STEP 1 [ EXIT ] SUM=SUM+I [ LOOP] NEXT
ELSE
< 语句系列 2>
ENDIF
• 功能:当<条件表达式 >的值为真时,执行< 语 句系列1>;否则执行< 语句系列 2>。如果没有 ELSE的子句,则当<条件表达式 >的值为假时, 不进行任何操作。 • 注:IF和ENDIF必须配对使用。
例8.4 从键盘输入一个正整数,判断其是否为偶数。 程序代码如下: SET TALK OFF
选择分支结构和循环结构。 1、 顺序结构:程序的执行是按其语句的排列 先后顺序执行,这也是最简单、最基本的程序 控制结构。 语句1 语句2
例8.3:将人事信息表ZG.DBF中新评为教授的 教师,其职称一栏由副教授改为教授
打开表zg 输入教师姓名 记录指针条件定位 修改职称为教授 关闭表RS
CLEAR SET TALK OFF &&打开关闭命令执行状态信息 USE ZG.dbf ACCEPT "请输入要修改记录的教师名:" to xm LOCATE FOR 姓名=xm ACCEPT 输入字符串命令 REPL 职称 WITH "教授" 暂停程序的执行,在屏幕上 USE 给出提示信息,等待用户从键盘 SET TALK ON 上输入一个字符串常量给TO
clear
INPUT "请输入一个正整数:" TO X IF MOD(X,2)=0 ?X,"为偶数!" ELSE ?X,"为奇数!" ENDIF
INPUT 输入其他类型数据命令
暂停程序的执行,在屏幕上显示信息, 并等待用户从键盘上输入各种类型的数据 :数值型,字符型,日期型,逻辑型,货币型, 按回车确认将数据赋给TO后面的内存变量
例8-12输入学生姓名和某一课程成绩,若成绩大于等 于90输出“优秀”,分数大于等于80输出“良好”, 分数大于等于60输出“及格”,小于60输出“不及格”
Set talk off else Clear IF score>=60 name=“” ?”姓名”:,name,”及格!” score=0 else @10,10 say “输入姓名”: get name ?”姓名”:,name,”不及 格!” @11,10 say “输入成绩”: get score range 0,100 endif Read endif If score>=90 endif ?”姓名”:,name,”优秀!” set talk on Else return &&结束程序执行,返回 IF score>=80 命令窗口 ?”姓名”:,name,”良好!”
第8章 结构化程序设计基础
程序:为了实现某一项任务,将若干条 命令按程序控制结构组成的命令序列。 8.1 VFP中建立程序文件 文件—新建—文件类型:程序—新建文 件—打开程序编辑窗口—书写程序— 运行! 程序的执行: DO 〈程序文件名〉
8.3 程序的控制结构
程序控制的基本结构有三种:顺序结构、
(3)多分支选择结构
格式: DO CASE CASE <条件1> [<语句组1>] CASE <条件2> [<语句组2>] …… CASE <条件n> [<语句组n>] otherwise [<语句组n+1>] endcase
3 、 循环结构
定义: 某些语句在某一条件成立时,需要重复执行,直到
条件不成立时,才结束重复执行。循环结构要特别注意 的是在重复执行语句过程中,要有控制条件的语句, 以避免出现死循环现象。 表达式 假
短语后指定的内存变量
2、选择分支结构 定义:选择分支结构是根据条件的测试结果执 行不同的操作。VFP中有两条命令实现条件分 支:二路选择分支结构(IF…ENDIF)和多路 选择分支结构(DO CASE … ENDASE)。
真 条件表达式 假
语句1
语句2
(1)二路选择分支结构
• 格式:IF < 条件表达式>
真
循环体语句
一、DO WHILE ENDDO
– 格式: DO WHILE < 条件表达式 >
<语句序列 >
[EXIT ] [ LOOP ] ENDDO
无条件结束循环 结束本次循环
功能: 当< 条件表达式 >的值为真时,重复执行
DO WHILE … ENDDO之间的<语句序列 >,直到< 条件表达式 >的值为假时结束。
ENDFOR / NEXT
功能:当循环变量的值不大于终值时,执行循 环操作。每循环一次,循环变量的值自动递增 一个步长值。
例4.12:求1000之内所有偶数之和。
SET TALK OFF CLEAR S=0 FOR I=0 TO 1000 STEP 2
S=S+I
NEXT ?“1000之内所有偶数之和为”,S SET TALK ON RETURN
三、扫描型循环结构
扫描型循环是依据数据表而建立的循环,专门用来对 数据表终的若干条记录执行相同的操作处理。
格式: SCAN [<范围>] [FOR<条件>] [语句序列] ENDSCAN
说明:首先利用EOF()函数判断记录指针是否位于 表尾,若为真(循环条件),则结束循环,否则根 据范围和条件将记录指针移动到第一个满足条件的 记录上并执行语句序列,再次判断EOF函数是否为 真。
wenku.baidu.com
SET TALK ON
(2)if语句的嵌套
• 格式:IF < 条件表达式1>
< 语句系列1>
ELSE IF< 条件表达式2>
< 语句系列 2>
……
ELSE
< 语句系列 N>
ENDIF …… • 功能:当<条件表达式1 >的值为真时,执行< 语句系 列1>;否则判断<条件表达式2>的值是否为真,为真执 行< 语句系列2> ;如果当<条件表达式 >的值都为假 时,执行< 语句系列N> 。
例8-20利用SCAN…ENDSCAN语句逐条显示 STUDENT.DBF表中女生的记录 SET TALK OFF CLEAR USE STUDENT N=0 SCAN FOR 性别=“女” DISPLAY &&显示当前记录 WAIT &&按任意键继续 N=N+1 ENDSCAN ?”女生的人数为:”+STR(N) USE SET TALK ON RETURN
例4.8:计算1+3+5+7+9+…+99的值并输出。
SET TALK OFF CLEAR s=0 i=1 DO WHILE i<=99 s=s+i i=i+2 ENDDO ?"1+3+5+7+…+99=",S SET TALK ON
二、FOR 循环程序设计
格式: FOR 循环变量=初值 TO 终值 [ STEP步长 ] < 语句系列 > For I=1 TO 100 STEP 1 [ EXIT ] SUM=SUM+I [ LOOP] NEXT