




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
要点: 1.算法的概念及特点 2.掌握程序3种基本结构的表示 3.掌握利用分支结构编程 4.掌握利用循环结构编程 5.常用控件 第三、四、五讲 程序设计(1) 循环结构能够使某些语句或程序段重复执行 若干次。 如果某些语句或程序段需要在一个固定的位在一个固定的位 置上重复操作置上重复操作,使用循环是最好的选择。 3循环结构 常见的循环结构有: 条件循环条件循环do whiledo while 步长循环步长循环for for 扫描循环扫描循环scanscan 涉及数据表的循环 ,第6章介绍 1 1)条件循环()条件循环(do whiledo while循环)循环) 格式: 流程图: 条件 语句序列 Enddo之后的语句 N Y 循环 体 教材P62 【例】计算1+2+3+100 第 1 步, 计算 0+1; 第 2 步, 计算 (0+1)+2; 第 3 步, 计算 (0+1+2)+3; 第 i 步, 计算 (0+1+i-1)+i; . 第 100 步,计算 (0+1+99)+100; 递归 算法 前i-1次累加和 第i次累加项 三个三个“ “确定确定” ” 循环三要素循环三要素 算法:算法: 确定确定循环变量循环变量i i并赋初值为并赋初值为1 1 定义定义s s存放累加和存放累加和, ,初值为初值为0 0 确定确定循环条件循环条件 i=1 fac=fac*n n=n-1 输出fac 求n!的N-S图 “计算”命令按钮的“Click”事件代码: p=1 for i=1 to thisform.text1.value p=p*i endfor thisform.text2.value=p 说明: 步长可正可负,缺省为1。 循环体中不应包含改变循环变不应包含改变循环变 量值的命令量值的命令,否则循环次数将随之 改变。 如果循环可以通过计数计数来控制 ,则本循环比条件循环更为方便。 当循环当循环 步长循环步长循环 在文本框Text1中输入终值n 在文本框Text2中输入步长k i=1 for i=1 to n step k do while i endfor|next i=i+k endddo 【练习1】求100以内的奇数和。 A=1+3+5+99 循环变量 初值n=1 循环条件n=0.000001 s=s+1/p p=p*i i=i+1 enddo thisform.text1.value=s 阶乘 累加 【例】求所有的水仙花数。(所谓水仙花数是指一 个三位数,其各位数字的立方和等于该数本身。 编程方法: “枚举法” 按问题本身的性质,一一列举出该问题所有 可能的解,并在逐一列举的过程中,检验每个 可能解是否是问题的真正解,若是,我们采纳 这个解,否则抛弃它。对于所列举的值,既不 能遗漏也不能重复。 查找范围:三位数100999 任意一个三位数 X 百位数字X1十位数字X2个位数字X3 判断这个三位数x是水仙花数的条件: X=x13+x23+x33 【练习4】 100以内能够被X整除的数之和。 开始 S=0,i=1 输入X i8“ 逆序: 从右到左逐个取出 8Bj iY : 6 5 v A 11 10 9 8 7 6 5 4 3 2 1 次数i(循环变量): 总次数=总的字符数 c=c+substr(x,i,1)C=“8BjiY:65vA“ substr(x,i,1) 总的字符 数len(x) 确定变量: x:存任意字符串x=“ Av56:YijB8 “ i:存截取次数(1len(x) c:存逆序字符串 c=c+substr(x,i,1) 确定算法:用循环在原字符串中从右到左逐个截取字符,重新组装 成逆序字符串 确定循环三要素: 循环变量 : i (i初值为len(x),终值为1) 循环条件: i=1 循环条件改变:i=i-1(从右到左截取) 【例】输入一串ASCII字符,显示数字字符串。假设 输入:Av56:YijB8 显示:568。 请同学们自 己写出程序 从左到右逐个取出字符x 判断x是数字的条件: Asc(x)asc(0) and Asc(x)8 显示: AYB 。 输入一串ASCII字符,显示小写字母串。假设输入: Av56:YijB8 显示:vij 。 请同学们自 己写出程序 【例】如图图所示一程序界面。文本框TEXT1已经输经输 入一串文字,单击单击 “转换转换 ”命令按钮钮后,文本框的值值 将变为变为 什么? “转换转换 ” 命令按钮钮的CLICK 事件代码码: N=LEN(THISFORM.TEXT1.VALUE) Y= DO WHILE N0 X=SUBSTR(THISFORM.TEXT1.VALUE,N,1) IF ASC(X)=ASC(a) X=UPPER(X) ELSE X=LOWER(X) ENDIF Y=X+Y N=N-1 ENDDO THISFORM.TEXT1.VALUE=Y tHIS IS A cpu. 【练习7】输入一个正整数判断这个是几位数。 Command1_click: x=thisform.text1.value W=0 &位数计数器 If int(x)=x and x=0 do while x=1 x=int(x/10) w=w+1 enddo messagebox(“你输入的是一个“+alltrim(str(w)+“位数“) Else messagebox(“请输入正整数.“) endif 拓展 【练习8】将整数x中每一位上为奇数的数依次取出,并逆 序构成一个新数返回。例如:程序运行时输入123456789 ,输出:b=97531。 Command1_click: x=thisform.text1.value y=0 If int(x)=x and x=0 do while x=1 x1=mod(x,10) &记录从后向前的每一位数 IF x1%2=1 &判断每一位是否为奇数 y=y*10+x1 &逆序组合新数 endif x=int(x/10) enddo Else messagebox(“请输入正整数.“) endif 【练习9】有一数列:1,1,2,3,5,8,13求出这个数列的前 30项之和。(注意分子与分母的变化规律。) Command1_click: x=1 a=1 b=1 W=a+b &和计数器 do while x=28 c=a+b &计算第n项的值 w=w+c a=b &为计算第n+1项做准备 b=c x=x+1 enddo messagebox(“前30项的和是:“+alltrim(str(w) 【练习10】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13求出这个数 列的前20项之和。(注意分子与分母的变化规律。) Command
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人房屋买卖合同
- 2025年多式联运信息平台运营模式优化与区域协同发展研究报告
- 音乐产业版权运营2025年趋势报告:科技驱动产业升级
- 新能源微电网稳定性与电力需求响应策略研究报告
- 中医院晋级考试题及答案
- 中医抑郁症试题及答案
- 中医药膳大赛试题及答案
- 工业互联网平台网络隔离技术在智能设备2025年应用案例分析报告
- 数字人民币跨境支付2025年技术难题与安全防护策略研究
- 普法网上考试试题及答案
- 苗木培育及示范林抚育投标方案(技术方案)
- 海姆立克急救法课件
- 工业锅炉水质课件
- 中建超限梁板模板工程专项施工方案
- 暑假工招工合同范例
- FOCUS-PDCA改善案例-提高术前手术部位皮肤准备合格率医院品质管理成果汇报
- 天津市南开区2024-2025学年九年级上学期期中考试化学试题
- 直臂式高空作业车安全管理
- 中医医术确有专长人员申请表(十三篇)
- 水电厂技术监督标准化实施方案
- 2024年第三届浙江技能大赛(化学实验技术赛项)理论考试题库(含答案)
评论
0/150
提交评论