资源预览内容
第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
第9页 / 共70页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 程序设计基础,3.1 基本概念和分类 3.2 面向过程程序的创建与编辑 3.3 面向过程程序设计原则 3.4 面向过程程序的调试 3.5 过程间的联系 3.6 面向对象程序设计概述 3.7 用户子类的创建和使用,3.1 基本概念和分类 3.1.1 程序设计方法与语句结构 1.面向过程方式,CLEA * 创建窗口 DEFINT WINDOW QQ FROM 10,10 TO 20,70 SYSTEM TITLE “人机对话窗口” CLOSE 取消” SIZE 2,10,5 READ & 激活按钮 IF JX=1 RELE WINDOW QQ ENDIF RETU,格式化输入输出命令 SAY PICTURE “模式符” FUNCTION “功能符” GET PICTURE “模式符” FUNCTION “功能符” DEFAULT RANGE 表达式1 ,表达式2 SIZE , VALID ERROR WHEN FONT “字体名”,字号 STYLE “风格符” READ SAVE CYCLE TIMOUT 秒 2,10 SAY “请输入姓名:” GET NAME 2,10 SAY “请输入姓名:” GET NAME DEFA “ “ 2,10 SAY “请输入姓名:” GET NAME FUNC”A” 3,10 SAY “请输入年龄:” GET NL DEFA 18 RANGE 16,26 3,10 SAY “请输入年龄:” GET NL SIZE 6,8 & 6行8列区域 3,10 SAY “年龄:” GET NL VALID NL=16 AND NL=26 ERROR ” 错误!“ 3,10 SAY “请输入年龄:” GET NL DEFA 18 WHEN NOT NL=18 READ,窗口操作命令 定义窗口 DEFINE WINDOW FROM TO | AT SIZE TITLE FONT “字体名”,字号 STYLE “风格符” CLOSE | NOCLOSE 允许或禁止用键盘或鼠标关闭窗口。 FLOAT | NOFLOAT 允许或禁止用键盘或鼠标移动窗口。 GROW | NOGROW 允许或禁止用键盘或鼠标改变窗口大小。 MINIMIZE | NOMINIMIZE 允许或禁止用键盘或鼠标将窗口最小化。 ZOOM | NOZOOM 允许或禁止用键盘或鼠标将窗口最大化。 DOUBLE | PANEL | NONE | SYSTEM 窗口边界风格为:双线、宽边、无边、仿系统(默认为单线)。 例如: define wind qq from 2,1 to 13,75 title “检验测试“ CLOS GROW ZOOM MINI FLOAT SYSTEM,激活窗口命令 ACTIVATE WINDOW , | ALL 例如:ACTI WIND QQ 修改窗口命令 MODIFY WINDOW | SCREEN 注意:命令参数与定义窗口命令一样,只能修改当前打开的窗口。SCREEN用来修改系统窗口的参数。 隐藏窗口命令 HIDE WINDOW , | ALL 显示窗口命令 SHOW WINDOW , | ALL 关闭窗口命令 RELEASE WINDOW CLEAR WINDOWS CLEAR ALL,创建按钮 GET | FUNCTION |PICTURE FONT “字体名”,字号 STYLE “风格符” DEFAULT SIZE , VALID WHEN 在FUNCTION字句中,的格式应当是: 控制码 字符串1;字符串2; 注意必须用星号开始,两端还要用定界符扩起来。该命令用READ命令激活。 其中的“字符串”个数表示创建的这一组按钮的个数,“字符串”为各按钮的名称,多个“字符串”之间应当用分号隔开。 其中的控制码是决定按钮形式的,一个有四个。 T 选定按钮时终止READ (这是默认状态) N 选定按钮时不终止READ H 多个按钮水平排列 V 多个按钮垂直排列,2.面向对象方式 先选取“表单”作为窗口对象,并将它的标题栏设置为“学生基本情况”,将大小调整合适。,RELEASE THISFORM 3.语句命令,3.1.2 程序设计中常用命令语句与函数 1.常用命令 SET DEFAULT TO 盘符路径 MODIFY STRUCTURE / COMMAND OPEN DATABASE USE DISPLAY / LIST STRUCTURE / STATUS BROWSE APPEND BLANK DELETE / RECALL / PACK / ZAP GO / GOTO / / SKIP SET TALK ON/OFF,2.常用交互命令 ACCEPT “提示” TO 变量 INPUT “提示” TO 变量 WAIT “提示” TO 变量 3.关闭退出命令 QUIT CLOSE ALL / DATABASE / INDEXES / PROCEDURE / TABLES CLEAR ALL/GETS / MEMORY 4.其他命令 SELECT 名 / 号 / 别名 COPY TO 文件名 ? / ? / ? (?直接送打印机),中断等待命令 WAIT “提示 ” TO 内存变量 WINDOW AT 行,列 NOCLEAR TIMEOUT 秒 WAIT CLEAR 例如: WAIT “请输入信息:” TO XY WAIT “请输入信息:” TO XY WINDOW WAIT “请输入信息:” TO XY WINDOW AT 20,30 WAIT “请输入信息:” TO XY WINDOW NOCLEAR WAIT CLEAR WAIT “请输入信息:” TO XY WINDOW TIMEOUT 5,5. 函数 PARAMETERS(),PCOUNT() OBJTOCLIENT(对象,参数),3.1.3 结构化程序设计 基本思路:使用三种基本结构 OPEN DATABASE R98 USE JZG DO WHILE .T. ACCEPT “请输入姓名:“ TO NAME SCAN FOR XM=NAME DISPLAY WAIT “是查找此人吗?“ TO PT IF UPPER(PT)=Y EXIT ELSE SKIP ENDIF ENDSCAN WAIT “还要继续查询吗?“ TO PT1 IF UPPER(PT1)#Y EXIT ENDIF ENDDO USE,1.顺序结构 所谓顺序执行,就是按着程序语句行的自然顺序,一条接一条语句地执行程序。 例:在屏幕上显示三角型,程序TS1.PRG如下: SET TALK OFF CLEAR ? _ _ ? _ ? SET TALK ON,2.判断选择结构 (1)简单判断选择 语句格式: IF ELSE ENDIF 例:从JZG库表文件查找某人,要求能够判断是否有此人。 USE JZG ACCEPT “请输入查找人名:“ TO NAME LOCATE FOR XM=NAME IF FOUND() DISPLAY OFF XM,ZC,JBGZ ELSE WAIT 无此人! WINDOW AT 20,1 TIMEOUT 5 ENDIF,(2)多分支(选择)结构 语句格式: DO CASE CASE CASE CASE OTHERWISE ENDCASE,例如:将学生表的总平均分用优良5级表示。 *成绩转换 USE STUDENT_A DO WHILE NOT EOF() ZF=(SX+WY)/2 IF ZF=90 CJ=“优“ ELSE IF ZF=80 CJ=“良“ ELSE IF ZF=70 CJ=“中“,ELSE IF ZF=60 CJ=“及格“ ELSE CJ=“不及格“ ENDIF ENDIF ENDIF ENDIF REPL FL WITH CJ SKIP 1 ENDDO,*成绩转换 USE STUDENT_A DO WHILE NOT EOF() ZF=(SX+WY)/2 DO CASE CASE ZF=90 CJ=“优“ CASE ZF=80 CJ=“良“ CASE ZF=70 CJ=“中“ CASE ZF=60 CJ=“及格“ OTHERWISE CJ=“不及格“ ENDCASE REPL FL WITH CJ SKIP 1 ENDDO USE,3. 循环结构 (1)基本循环结构 语句格式: DO WHILE LOOP EXIT ENDDO,例:随机循环。用逻辑表达式的真假判断循环与否。 USE JZG ACCEPT “请输入姓名:“ TO NAME LOCATE FOR XM=NAME IF FOUND() DO WHILE .NOT.EOF() DISPLAY WAIT “是找此人吗?“ TO PT IF UPPER(PT)=Y EXIT ELSE CONTINUE ENDIF ENDDO ELSE ? “查无此人!“ ENDIF,(2)计数循环结构 语句格式: FOR = TO STEP LOOP EXIT ENDFOR | NEXT 例:固定次数的循环。以变量作为计数器,用变量值控制循环次数。 X=0 DO WHILE X100 FOR X=0 TO 99 X=X+1 ? X ? X ENDFOR ENDDO,(3)扫描(指针型)循环结构 命令格式: SCAN FOR WHILE LOOP EXIT ENDSCAN,例:在JZG表中随机查询某人。 USE RSDA DO WHILE .T. ACCEPT “请输入姓名:“ TO NAME SCAN FOR XM=NAME DISPLAY WAIT “是找此人吗?“ TO PT IF UPPER(PT)=Y EXIT ELSE SKIP ENDIF ENDSCAN WAIT “还继续查询吗?“ TO PT1 IF UPPER(PT1)#Y EXIT ENDIF ENDDO,3.2 面向过程程序的创建与编辑 3.2.1 使用内部编辑器创建程序 1.命令方式 格式:MODIFY COMMAND 程序文件名 2.菜单方式 打开主菜单的“文件”下拉菜单,单击“新建”选项,打开“新建”窗口;或者在常用工具栏中,单击“新建”按钮,打开“新建”窗口。 选择“新建”窗口中“程序”类型,再单击“新建文件”按钮,可以打开程序编辑器窗口,3.2.2 编辑修改程序 1.菜单方式 打开“打开”对话框窗口,选择需要打开的程序文件名,再单击“确定”按钮。 2. 命令方式 格式:MODIFY COMMAND 3.2.3 程序的运行 1.菜单方式 2.在编辑中执行 3.命令方式 格式:DO ,3.3 面向过程程序设计原则 3.3.1 程序设计步骤 (1)问题分析 按用户要求具体分析,确定编程的目标。一般是先分析输出要求,再分析输入数据,最后明确如何处理。 (2)确定算法 所谓算法就是解决问题的计算方法或处理过程。描述算法的工具主要是流程图和N-S图。 (3)编写程序 按着选定的计算机语言和确定的算法进行编码,叫做编写程序。 (4)调试程序 把编好的程序送入计算机运行,并反复调试检查,纠正错误直到得出正确的结果为止。,3.3.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号