270 likes | 386 Views
第七章程序设计基础. 主讲人 于洪奎. 本章概述. 程序. 选择结构、循环结构. 一个概念 两个结构 三个模块 四个重点 五条命令 六个考点. 参数传递、函数调用、变量作用域. 1 )命令格式 2 )条件、分支和循环语句 3 )变量作用域 4 )调试器子窗口功能. 1 程序文件的建立与执行 2 选择结构 3 循环结构 4 参数传递 5 变量作用域 6 调试器环境. 1)MODI COMM 2)DO 3)INPUT 4)ACCEPT 5)WAIT. 二级考试分析. 1 程序文件的建立与执行 2 选择结构 3 循环结构 4 参数传递
E N D
第七章程序设计基础 主讲人 于洪奎
本章概述 程序 选择结构、循环结构 • 一个概念 • 两个结构 • 三个模块 • 四个重点 • 五条命令 • 六个考点 参数传递、函数调用、变量作用域 1)命令格式2)条件、分支和循环语句3)变量作用域4)调试器子窗口功能 1程序文件的建立与执行 2选择结构 3循环结构 4参数传递 5变量作用域 6调试器环境 1)MODI COMM 2)DO 3)INPUT 4)ACCEPT 5)WAIT
二级考试分析 1程序文件的建立与执行 2选择结构 3循环结构 4参数传递 5变量作用域 6调试器环境
简单程序示例 • MODI COMM MJ • 程序内容: • R=3 • S=3.14*R*R • ?S • RETURN • 保存并运行 • DO MJ
7.1程序与程序文件 • 7.1.1程序的概念程序是能够完成一定任务的命令的有序集合。程序中几点说明:(1)命令注释以NOTE或*开头命令行后&&(2)SET TALK ON|OFF在主窗口、状态栏或用户自定义窗口里显示一些结果信息,用ON/OFF来控制(如SUM等信息)。(3)命令分行续行符;/在命令窗口选择多行,按ENTER执行。
改进后的示例 SET TALK OFF INPU “请输入圆半径:" TO R NOTE R=3 S=3.14*R^2; &&计算圆面积 ?S SET TALK OFF RETURN
7.1.2程序文件的建立 • 1、程序文件的建立步骤: (1)打开文本编辑窗口。“文件”菜单--“新建”-“程序”(2)输入程序内容。(3)保存文件。“文件”菜单--“保存”或ctrl+w程序文件扩展名:PRG
7.1.2程序文件的修改 • 打开、修改文件的步骤:(1)“文件”菜单--“打开”(2)在“文件类型”列表框中选“程序”(3)选择要修改的文件(4)编辑后,保存文件。“文件”菜单--“保存”或ctrl+w • 也可用命令格式:MODIFY COMMAND 文件名
7.1.2程序文件的执行 • 2、执行程序文件(1)菜单方式:“程序”菜单--“运行”(2)命令方式:DO 文件名相关命令:(1)CANCAL:终止程序运行,清除所有的私有变量,返回命令窗口。(2)DO:转去执行另外一个程序。(3)RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。(4) QUIT:退出VFP系统,返回到操作系统。DO命令执行顺序:EXE(可执行文件)---APP(应用程序文件)---FXP(编译文件)--PRG(源程序文件) • DO命令执行查询文件、菜单文件必须包括扩展名:QPR、MPR
建立简单的菜单文件 • 查询/1按班级查询2按姓名查询 • 退出:SET SYSMENU TO DEFAULT • 执行菜单程序文件:DO CD.MPR • 如果不加.MPR,则认为是.PRG
7.1.3简单的输入输出命令 • 1、INPUT命令格式:INPUT [字符表达式] TO 内存变量 • 2、ACCEPT命令格式:ACCEPT [字符表达式] TO 内存变量该命令只能接收字符串,用户在输入字符串时不需要加定界符。不输入任何内容而直接回车,把空串赋给内存变量。 • 3、WAIT命令格式:WAIT [字符表达式] [TO 内存变量][WINDOWS [AT行,列]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT 数值表达式]
ACCEPT示例 程序名:T4-5.PRG SET TALK OFF ACCEPT “请输入字符串:” TO ZFC ZF=SUBSTR(ZFC,1,1) ?ZF WAIT WINDOW &&注意:NOWAIT和WINDOW须同时出现;CLEAR与WINDOWS不能同时出现. ?ASC(ZF) SET TALK ON
7.2程序的基本结构 • 顺序结构:按命令在程序中出现的先后次序依次执行。 • 选择结构:包括条件语句和分支语句 • 循环结构:包括DO WHILE-ENDDO、FOR-ENDFORH和SCAN-ENDSCAN
7.2.1选择结构 • 1、条件语句格式:IF 条件 语句序列1 [ELSE语句序列2] ENDIFIF和ENDIF必须成对出现。也可以嵌套。 回顾:IIF()函数---横向 条件语句---纵向,支持多行命令。
判断身高和体重 • 输入身高、体重,对身高和体重进行判断,如果身高和体重的差大于105,就认为体重偏轻。程序名:TJYJ.PRG INPUT “请输入您的身高(cm)” TO H INPUT “请输入您的体重(kg)” TO W D=105 SW=H-D IF W<SW ? “您的体重偏轻” ELSE ?“您的体重很标准” ENDIF
分支语句 • 2、分支语句格式:DO CASE CASE 条件1语句序列1 CASE 条件2语句序列2 ...... CASE 条件N语句序列N [OTHERWISE语句序列] ENDCASE
摸奖机 • 要求摸奖者输入1—5这5个数字之一,然后进行判断,确定摸奖者的奖品,利用DO CASE命令来实现。程序名:MJJ.PRG INPUT “请您选择(1-5)” TO X DO CASE CASE X=1 ?“您的奖品是100元” CASE X=2 ?“您的奖品是10元” CASE X=3 ?“您的奖品是500元” CASE X=4 ?“您的奖品是10000元” CASE X=5 ?“谢谢您的参与” ENDCASE
显示当前季节 • 功能:显示当前季节。程序名:E4-6.PRG YUE=MONTH(DATE()) DO CASE CASE INLIST(YUE,3,4,5) JJ=“春” CASE INLIST(YUE,6,7,8) JJ=“夏” CASE INLIST(YUE,9,10,11) JJ=“秋” CASE INLIST(YUE,12,1,2) JJ=“冬” ENDCASE WAIT JJ WINDOW
统计字母、数字等个数 • 输入一个字符串,要求分别统计出其中英文字母、空格、数字和其他字符的个数。程序名:T4-51.PRG CLEAR STORE 0 TO zm,kg,sz,qt ACCEPT “请输入字符串:” TO ZFC FOR I=1 TO LEN(ZFC) ZF=SUBSTR(ZFC,I,1) ZF=ASC(ZF) DO CASE CASE ZF>64 AND ZF<91 OR ZF>96 AND ZF<123; &&大写英文字母的ASCII值在65到90之间,小写的在97到122之间. ZM=ZM+1 CASE ZF=32 &&空格的ASCII值为32 KG=KG+1 CASE ZF>47 AND ZF<58 &&数字的ASCII值在48到57之间 SZ=SZ+1 OTHERWISE QT=QT+1 ENDCASE ENDFOR ?”英文字母个数:”,ZM ?”空格的个数:”,KG ?”数字的个数:”,SZ ?”其他字符的个数:”,QT
考题1 • 在VFP中,程序文件的扩展名是_____ • A)PRG • B)QPR • C)APP • D)SCX
考题2 • 在VFP中,用来建立程序文件的命令是___ • A)CREATE COMMAND <文件名> • B)CREATE FILE <文件名> • C)MODIFY FILE <文件名> • D)MODIFY COMMAND <文件名>
考题3 • 设有如下程序段: A=10 B=20 C=40 IF A>B IF C>A C=A+B ELSE C=A-B ENDIF ENDIF ?C 执行结果:_____. A)30 B)-10 C)10 D)40
考题4 • 设成绩表当前记录中“计算机”字段的值为85,执行下面的程序段之后,输出结果为___. DO CASE CASE 计算机<60 ?“计算机等级是”+“不及格” CASE 计算机>=60 ?“计算机等级是”+“及格” CASE 计算机>=75 ?“计算机等级是”+“良好” CASE 计算机>=85 ?“计算机等级是”+“优秀” ENDCASE A)不及格B)及格C)良好D)优秀
考题5 • 1程序是____,它被存放在称为____或____的文本文件中. • 2在编写程序时,可以在程序行的最前端加上一个__符号,表示该行为注释行,在运行程序时,并不执行该行;如果当某程序行过长时,可以在此行加上一个___符号,可将此程序行按两行或多行显示. • 3在DO CASE-ENDCASE语句中,可使用__短句直接跳出该分支语句.
考题6 • 上机题
实际应用 • 1、主程序 • 2、“退出”过程的编写
课程小结 • 初级篇:基础理论知识。 • 中级篇:考点介绍,考题练习。 • 高级篇:实际应用。