VFP第3、4、5部分(程序算法及顺序分支循环).ppt

上传人:max****ui 文档编号:10977557 上传时间:2020-04-16 格式:PPT 页数:77 大小:466.50KB
返回 下载 相关 举报
VFP第3、4、5部分(程序算法及顺序分支循环).ppt_第1页
第1页 / 共77页
VFP第3、4、5部分(程序算法及顺序分支循环).ppt_第2页
第2页 / 共77页
VFP第3、4、5部分(程序算法及顺序分支循环).ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
VisualFoxpro6 0 程序设计基础 重庆工商大学计算机学院计算机基础教研室 要点 1 算法的概念及特点2 掌握程序3种基本结构的表示3 掌握利用分支结构编程4 掌握利用循环结构编程 第三 四 五讲程序设计 1 算法及算法的表示 一 算法的概念及特点所谓算法就是对解决问题所采用的方法和步骤的描述 二 算法的描述算法的描述方法有很多 为直观 准确地表示一个问题的处理方法和步骤 通常采用流程图的方法 流程图是用一些几何图形符号 线条及文字说明来表征一个问题的处理过程 一般采用传统流程图和N S图来描述算法 教材P51 例3 1 设计如图所示表单 在文本框text1中输入华氏温度 单击 计算 按钮可以求出对应的摄氏温度 并在文本框text2中显示 计算 按钮的 Click 事件代码如下 fas thisform text1 valuecels 5 fas 32 9thisform text2 value round cels 1 结果保留1位小数 描述方法1 用自然语言表示步骤1 输入华氏温度fas 步骤2 按照公式 计算摄氏温度cels 步骤3 输出摄氏温度 描述方法2 用流程图表示如图所示 描述方法3 用N S流程图如图所示 一个算法应该具有以下特点 教材P52 确定性 有穷性 有效性 输入 输出 任何一个问题能否让计算机处理 关键在于能否设计出合理的算法 有了合适的算法 再使用合适的计算机语言来编写程序 VFP就是一种语言工具 要用VFP编写出高质量的程序 一方面要构建合理的算法 另一方面要掌握VFP的语法规则 它是实现算法的基础 命令有一定的书写规则 1 命令分行 程序中每条命令都以回车键结尾 一行只能写一条命令 若命令需分行书写 应在一行终了时键入续行符 然后按回车键 2 命令注释 程序中可以插入注释 以提高程序的可读性 注释语句 NOTE 注释部分 注释部分 格式 行首注释 单命令的行尾注释 三 3种基本结构的表示程序的3种基本结构 顺序结构 选择 或分支 结构 循环结构 它们构成了实现一个算法的基本单元 顺序结构 是一种最基本 最简单的程序结构 如下图所示 先执行A 再执行B A与B按照顺序执行 选择 或分支 结构 根据条件是否成立而执行不同的程序模块 循环结构 是指重复执行某些操作 重复执行的部分称为循环体 1 基本的输入 输出命令 常用命令 用于结构化程序 1 INPUT命令 INPUT TO 格式 例如 s 100input 请输入 toa a a执行上述命令 若输入的内容为s 20 则输出结果 2 ACCEPT命令 ACCEPT TO 格式 例如 把上例中的input改成accept s 100accept 请输入 tob b b执行上述命令 若输入的内容为s 20 则输出结果 3 基本输出命令 格式 常用输入输出控件 用于可视化程序 1 输入控件 2 输出控件 文本框 标签 文本框 fas thisform text1 value thisform text2 value round cels 1 程序设计实例 顺序结构程序实例分支 选择 结构程序实例循环结构程序实例 1 顺序结构顺序结构是在程序执行时 根据程序中语句的书写顺序依次执行的命令序列 VisualFoxPro系统中的大多数命令都可以作为顺序结构中的语句 教材P53 教材P52 例3 2 设计如图3 5所示表单 在文本框text1 text2 text3中输入三角形的三边 单击 计算 按钮可以在文本框text4中显示三角形的面积 其计算公式为 其中a b c为三角形的三边 area为三角形的面积 计算 按钮的 Click 事件代码如下 a thisform text1 valueb thisform text2 valuec thisform text3 value a b c 2area sqrt a b c thisform text4 value round area 1 2 分支 选择 结构分支结构是在程序执行时 根据不同的条件 选择执行不同的程序语句 用来解决有选择 有转移的诸多问题 多路分支语句 常见的分支结构有 IF语句 流程图 1 IF语句格式 见教材P57 条件 语句序列1 语句序列2 Y N ENDIF之后的命令 教材P53 例3 3 修改 例3 2 在文本框text1 text2 text3中输入三角形的三边 单击 计算 按钮 如果输入的三边能构成三角形 则在文本框text4中显示三角形的面积 否则用提示框给出提示信息 不能构成三角形 重新输入 如图所示 计算 按钮的 Click 事件代码如下 a thisform text1 valueb thisform text2 valuec thisform text3 valueifa b canda c bandb c a a b c 2area sqrt a b c thisform text4 value round area 1 elsemessagebox 不能构成三角形 重新输入 thisform text1 value 0thisform text2 value 0thisform text3 value 0thisform text4 value 0thisform text1 setfocusendif EXM1 判断某一年是否是闰年 假如年份用y表示 判断y是否是闰年的方法是 若y能够被400整除或y能够被4整除并且不能够被100整除 y 4 int y 4 andy 100int y 100 ory 400 int y 400 提示 判断一个整数M能否被另一个整数N整除 一般采用三种方法 判断 MOD M N 是否等于0 INT M N 是否等于M N M N 0若等于 则表明M能被N整除 CLEARINPUT 请输入年份 toyIFy 4 int y 4 andy 100int y 100 ory 400 int y 400 str y 4 年是闰年 ELSE str y 4 年不是闰年 ENDIFRETURN 结构化方法 程序设计及运行 表单设计 参考教材p54例3 4 设计界面 教材P53 例3 5 已知一元二次方程的3个系数 求一元二次方程的根 求根公式 求解 命令按钮的 Click 事件代码如下 a thisform text1 valueb thisform text2 valuec thisform text3 valueifa 0messagebox 二次项系数为0 这不是一个一元二次方程 thisform text1 setfocuselsed b 2 4 a cifd 0 x1 round b sqrt d 2 a 2 x2 round b sqrt d 2 a 2 thisform text4 value x1thisform text5 value x2elsemessagebox 该方程没有实数根 endifendif EXM2 输入两个数 比较大小 并输出较大数 表单设计界面 表单运行结果 方法一 双分支 方法二 单分支 表单设计界面 EXM3 输入两个数 比较大小 并按从大到小的顺序输出 使用单分支结构 容器A 容器B 容器C 1 3 交换 1 C A2 A B3 B C 表单设计界面 表单运行结果 分支的嵌套EXM4 比较任意三个数的大小 并输出较大数 输入三个数a b c a b c a c b 输出c 输出a 输出c 输出b 结束 N Y Y N N Y 表单设计界面 表单运行结果 4 多分支语句格式 见教材58页 流程图 ENDCASE后面的语句 EXM5 输入月份值 显示对应季节的中文名字 3 4 5月为春季 6 7 8月为夏季 9 10 11月为秋季 12 1 2月为冬季 参考教材P56例3 6 输出 命令按钮的click事件代码 yf val thisform text1 value docasecaseyf 3oryf 4oryf 5jj 春季 caseyf 6oryf 7oryf 8jj 夏季 caseyf 9oryf 10oryf 11jj 秋季 caseyf 12oryf 1oryf 2jj 冬季 endcasethisform label3 caption jj 注意 if endif docase endcase必须配对出现 表示分支的开始和结束 为使程序清晰易读 对分支 循环等结构应使用缩格书写方式 表达分支 循环的每种语句都不允许在一个命令行中输完 必须按格式一行一行地键入 因此 不能出现在命令窗口中 三种选择结构之间可以相互嵌套 但不能交叉 循环结构能够使某些语句或程序段重复执行若干次 如果某些语句或程序段需要在一个固定的位置上重复操作 使用循环是最好的选择 3 循环结构 常见的循环结构有 条件循环 步长循环 扫描循环 涉及数据表的循环 第6章介绍 1 条件循环 dowhile循环 格式 流程图 条件 语句序列 Enddo之后的语句 N Y 循环体 教材P62 第1步 计算0 1 第2步 计算 0 1 2 第3步 计算 0 1 2 3 第i步 计算 0 1 i 1 i 第100步 计算 0 1 99 100 递归算法 EXM6 计算s 1 2 3 100 前i 1次累加和 第i次累加项 基本方法 属于 累加器 类型问题 1 在进入累加前先给累加器赋初值 求和一般为0 2 用循环语句实现累加循环变量赋初值 循环条件 循环变量的改变规律 3 循环体语句的设计累加器当前值 累加器原值 循环变量当前值 三个 确定 循环三要素 算法 确定循环变量i并赋初值为1定义s存放累加和 初值为0确定循环条件i 100s s i确定循环变量的变化趋势i i 1输出结果s 递推公式 在条件循环中如何体现的 s 1 2 3 100 cleas 0i 1dowhilei 100s s ii i 1enddo 1 2 3 100 sreturn 循环体 程序及运行结果 EXM7 计算s 1 2 3 n 参看教材P59例3 8 计算 命令按钮的 click 事件代码 n thisform text1 values 0 x 1dowhilex ns s xenddothisform text2 value s 说明 循环结构从dowhile开始 到enddo结束 两者必须成对出现 在enddo后面可以书写注释 循环是否继续取决于条件的当前取值 一般情况下循环体中应含有改变条件取值的命令或语句 否则将造成死循环 循环结构能自身嵌套 多重循环 还能与选择结构的各种形式嵌套 2 步长循环 for endfor计数循环 格式 教材P62 计算s 1 2 3 100 cleas 0fori 1to100s s iendfor 1 2 3 100 sreturn step1 教材P60 例3 9 设计如图所示表单 在文本框text1中输入N的值 求N 1 给累乘器赋初值 一般为1 2 用循环语句实现累乘循环变量赋初值 循环条件 循环变量改变规律 3 循环体设计累乘器当前值 累乘器原值 循环变量当前值 如 1 2 3 100 基本方法 属于 累乘器 类型问题 计算 命令按钮的 Click 事件代码 p 1fori 1tothisform text1 valuep p iendforthisform text2 value p 说明 步长可正可负 缺省为1 循环体中不应包含改变循环变量值的命令 否则循环次数将随之改变 如果循环可以通过计数来控制 则本循环比条件循环更为方便 当循环步长循环input 请输入终值 toninput 请输入步长 toki 1fori 1tonstepkdowhileiendfor nexti i kendddo EXM8 求100以内的奇数和 A 1 3 5 99 循环变量初值n 1 循环条件n 100 循环变量的变化趋势n n 2 请同学们自己写出程序 循环体累加语句 A A n EXM9 求 循环变量初值x 1 循环条件x n 循环变量的变化趋势x x 1 请同学们自己写出程序 循环体累加语句 K K x2 EXM10 求所有的水仙花数 所谓水仙花数是指一个三位数 其各位数字的立方和等于该数本身 编程方法 枚举法 按问题本身的性质 一一列举出该问题所有可能的解 并在逐一列举的过程中 检验每个可能解是否是问题的真正解 若是 我们采纳这个解 否则抛弃它 对于所列举的值 既不能遗漏也不能重复 查找范围 三位数100 999 任意一个三位数 判断这个三位数x是水仙花数的条件 X x13 x23 x33 表单设计界面 表单运行结果 例 1 2 n1到n的奇数和 偶数和100以内能够被X整除的数之和 请同学们自己写出程序 教材P60 61 例3 10 设计如图1所示表单 运行该表单 在文本框Text1中输入一串字符 单击 逆序显示 命令按钮后 逆序显示该字符串 如图2所示 图1 图2 x Av56 YijB 8 A v 5 6 Y i j B 8 c c substr x i 1 确定变量 x 存任意字符串x Av56 YijB 8 i 存截取次数 1 len x c 存逆序字符串c c substr x i 1 确定算法 用循环在原字符串中从右到左逐个截取字符 重新组装成逆序字符串 确定循环三要素 循环变量 i i初值为len x 终值为1 循环条件 i 1循环条件改变 i i 1 从右到左截取 EXM12 输入一串ASCII字符 显示数字字符串 假设输入 Av56 YijB 8显示 568 请同学们自己写出程序 从左到右逐个取出字符x 判断x是数字的条件 Asc x asc 0 andAsc x asc 9 例 输入一串ASCII字符 显示大写字母串 假设输入 Av56 YijB 8显示 AYB 输入一串ASCII字符 显示小写字母串 假设输入 Av56 YijB 8显示 vij 请同学们自己写出程序 例 如图所示一程序界面 文本框TEXT1已经输入一串文字 单击 转换 命令按钮后 文本框的值将变为什么 转换 命令按钮的CLICK事件代码 N LEN THISFORM TEXT1 VALUE Y DOWHILEN 0X SUBSTR THISFORM TEXT1 VALUE N 1 IFASC X ASC a X UPPER X ELSEX LOWER X ENDIFY X YN N 1ENDDOTHISFORM TEXT1 VALUE Y tHISISAcpu
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!