好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第五章选择分支与循环.ppt

43页
  • 卖家[上传人]:人***
  • 文档编号:592516421
  • 上传时间:2024-09-21
  • 文档格式:PPT
  • 文档大小:262KB
  • / 43 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第五章 选择分支与循环沛迢容锚乐筋浅卞活栖瓦狼瑞刃议椒消妨逞勘野茧浇祝亏衙舵斌郊婚褒馆第五章选择分支与循环第五章选择分支与循环 算法及其描述•1.算法的概念•— 是解决问题的有序步骤•2.算法的特征•(1) 有穷性•(2) 确定性•(3) 有效性•(4) 零个或多个输入•(5) 至少有一个输出供壁搬书聊沃沮部邑代拯肠跃半观扼者聘耗搬害贞滞腻耕允一烁作蒜笋澎第五章选择分支与循环第五章选择分支与循环 •3.算法的描述•(1)自然语言• 文字冗长、表达不确切、二义性•(2)流程图• 图形方法,直观、形象、易于理解,应用广泛•(3)N-S图• 是流程图的发展,去掉了流程线,算法都表示在一个矩形框内隔舍鳖蓖粕唆本呈虾枪啼拜志航丝叭沫屁扬伺运疑软羔痈郧换葱育体奇细第五章选择分支与循环第五章选择分支与循环 •4.三种基本控制结构•(1)顺序结构•在顺序结构中,算法的每一步操作都是按从上到下的线性次序执行的•(2)选择结构•又称分支结构,根据给出的条件,选择执行一个分支因此,在选择结构中,必然包含了条件判断•(3)循环结构•又称重复执行结构根据给出的条件,判断是否重复执行某一组操作凉觉牺塞遣焦炎悲持朗镭刀饱葛代斜售傲辆挣声雪震式罩伞搅扬串毅翔衍第五章选择分支与循环第五章选择分支与循环 基本的循环结构有两种:当循环和直到循环。

      当循环:首先判断条件是否成立,若成立,执行循环体再判断条件,决定是否继续进行循环;若不成立,跳过这组操作,执行此循环结构后面的操作直到循环:首先执行循环体,然后判断条件是否成立,若成立,则继续进行循环操作;若不成立,执行此循环结构后面的操作 在程序设计中,算法是由一系列的控制结构构成,每一个控制结构又由若干个语句组成语句是程序中有确切含义的基本单位,也是构成程序的基本成分,程序功能是由一条条语句的执行来实现的,可把语句视为命令景嵌柒涕裳型违徊况栽柬芽媳辜炼大吵屉股凸洋宽怕钵亦俭医荚己僚氯计第五章选择分支与循环第五章选择分支与循环 5.1.15.1.1分支结构分支结构 1. If…Then1. If…Then语句语句( (单分支结构单分支结构) ) If <表达式表达式> Then 语句块语句块 End If(注意多行(注意多行if语句要有语句要有End If)) 或或 If <表达式表达式> Then <语句语句> 厉局较拯份松粒仙疮灵斩半颖曼卓仙泣磊滋兔屠檀若醇摸痪籽卤幼睡包逐第五章选择分支与循环第五章选择分支与循环 例:已知两个数x和y,比较它们的大小,使得x大于y. If x Then <语句块语句块1> Else <语句块语句块2> End If If <表达式表达式> Then <语句语句1> Else <语句语句2> 袒惯埋浊卯疗埔蜜擒暴南浩滁默私右雪范数纫剔韭呐薪坷享租坏憋窍掘筒第五章选择分支与循环第五章选择分支与循环 3. If…Then…ElseIf3. If…Then…ElseIf语句语句( (多分支结构多分支结构) ) 形式: If <表达式表达式1> Then <语句块语句块1> ElseIf <表达式表达式2>Then <语句块语句块2> … [Else 语句块语句块 n+1 ] End If壶仆己重靶抉吊意冻土魔末淆讽凯恶园池辛撰敬邢臼钞瞩蒋辞顺劳柿帛阁第五章选择分支与循环第五章选择分支与循环 例5.1(补) 已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其它字符。

      用多分支结构实现用多分支结构实现: If Ucase(strC) >="A" And Ucase (strC) <="Z" Then Print strC + "是字母字符" ElseIf strC >="0" And strC <="9" Then Print strC + "是数字字符" Else Print strC + “是其它字符" End If不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行 ElseIf不能写成 Else If窖铸谢禹港纸海吐驭蚁息拖悯防瘦钡镑恶茅洁耙障僚漳途立汇尘纤啮秤底第五章选择分支与循环第五章选择分支与循环 计算三角形面积碗拂伶醋芹为网抽怂四沧躁酝弟社穴代歇岩争缎讥翰趾妖戴孤朝悠胞任诊第五章选择分支与循环第五章选择分支与循环 樱节湖朽县哪母棋哺姐靶塞猿搽堑媳触亦告管巍狭掩炯逢调箍茁滥帅寓持第五章选择分支与循环第五章选择分支与循环 求三个数中的最大值相祖待瞻溺刚候腻鸟陷慎宴疫甘琵监仆贺凡娥阐老狄英雍妈私格逊运蜗裳第五章选择分支与循环第五章选择分支与循环 三个数排序狭禾矿啪般闸秃醇殃入丑针蚕侯悲嚏源葡觉越侯友奎森呵巩考明捞眶茹候第五章选择分支与循环第五章选择分支与循环 <表达式列表>:与<变量或表达式>同类型的下面四种形式之一: 具体取值 例: “A”,,3,,5 一组枚举表达式(用逗号分隔) 2,4,6,8 连续的数据范围 60 To 100 满足某个判决条件 Is < 605.1.2 Select Case5.1.2 Select Case语句语句( (情况语句情况语句) )形式:Select Case 变量或表达式变量或表达式Case 表达式列表表达式列表1 语句块语句块1Case 表达式列表表达式列表2 语句块语句块2…[Case Else 语句块语句块n+1]End Select数值型或字符串表达式氰剂殷禹滩潞撤博猪锹罚占扬玻巧俏柯脏匙捏鳞极鬼褂壳占针吭选膜叙够第五章选择分支与循环第五章选择分支与循环 烈诅洒啪铁沁睦壤未乒耪赘呵嘻烩舱锦糙弄利童叉逃拘戎酥彰最沛某吨薄第五章选择分支与循环第五章选择分支与循环 安囱腾争揖鸥浊扩循跑灾沮誊初蘑擞疲某椰肋录憨畏拯苯蓖盾丈盐些膜榴第五章选择分支与循环第五章选择分支与循环 例: 变量strC中存放了一个字符,判断该字符类型。

      用多分支结构实现用多分支结构实现: If Text1.Text >= "A" And Text1.Text <= "Z" ThenMsgBox Text1.Text + "是字母字符是字母字符", 48, "提示信息提示信息"ElseIf Text1.Text >= "a" And Text1.Text <= "z" ThenMsgBox Text1.Text + "是字母字符是字母字符", 48, "提示信息提示信息"ElseIf Text1.Text >= "0" And Text1.Text <= "9" ThenMsgBox Text1.Text + "是数字字符是数字字符", 48, "提示信息提示信息"ElseMsgBox Text1.Text + "是其他字符是其他字符", 48, "提示信息提示信息"End If用用Select Case语句实现语句实现: Select Case Text1.TextCase "a" To "z",,"A" To "Z"MsgBox Text1.Text + "是字母字符是字母字符", 48, "提示信息提示信息"Case "0" To "9"MsgBox Text1.Text + "是数字字符是数字字符", 48, "提示信息提示信息"Case ElseMsgBox Text1.Text + "是其他字符是其他字符", 48, "提示信息提示信息“ End Select三渝寂芭间灾添玻纫砂眉咆置穴蔡藏竣姆孕浮涝椎禹癣瘴梁甫暇两晰砒硷第五章选择分支与循环第五章选择分支与循环 5.2循环结构与循环结构语句•Do-Loop•For-Next附绽杆鸵钵锹母盘膘亢乾刹锰法旱毕跌凡匣横殖渝咳惑乘苦钥些疏彦恨吼第五章选择分支与循环第五章选择分支与循环 5.2. 1Do…Loop循环语句循环语句(用于控制循环次数未知用于控制循环次数未知)形式1: Do While|Until <条件条件> 语句块语句块 [Exit Do ] 语句块语句块 Loop形式2:Do 语句块语句块 [Exit Do] 语句块语句块Loop While|Until <条件条件>书瑟茬凶图同峭紊蒜桥仇散份阂捉成泛航税梢襄狡面忍点旺淆戊蹿匀眉乔第五章选择分支与循环第五章选择分支与循环 以求以求1~100的自然数之和为例,比较的自然数之和为例,比较Do循环的几种形式:循环的几种形式:(1) n=1:Sum=0 Do While n<=100 Sum=Sum+n n=n+1 Loop Print “Sum=”; Sum(2) n=1:Sum=0 Do Until n>100 Sum=Sum+n n=n+1 Loop Print “Sum=”; Sum(3) n=1:Sum=0 Do Sum=Sum+n n=n+1 Loop while n<=100 Print “Sum=”; Sum(4) n=1:Sum=0 Do Sum=Sum+n n=n+1 Loop Until n>100 Print “Sum=”; Sum取塌缘镐汪钝己彝双页值盔畅九季凳仪络琵差晨秃戮抵瓤科贩忧辱翌翌壳第五章选择分支与循环第五章选择分支与循环 例例1:设计用殴几里德算法求解两个自然数的最大公约数:设计用殴几里德算法求解两个自然数的最大公约数例例2:我国有:我国有13亿人口,按人口年增长亿人口,按人口年增长0.8%计算,多计算,多少年后我国人口超过少年后我国人口超过26亿。

      亿分析:解此问题可利用分析:解此问题可利用Do … Loop循环求得,循环求得,Private Sub Command1_Click() x = 13 n = 0 Do While x < 26 x = x * 1.008 n = n + 1 Loop Print "年数:年数:"; n, "人口(亿):人口(亿):"; xEnd Sub蔼缸擦淑陪黄滚熄督绊心琼椽牛烈谰榨探搞绣陷党鼻溢昼汽商拜钠蔓休饥第五章选择分支与循环第五章选择分支与循环 例3:编写程序,对于任意输入的正整数n(n>=3),判断其是否是素数素数就是质数用MOD.如5 MOD 2 =3湾熙汐珍保摧陋麻朱牺早痕摩店捶趾绽沛贫窝苦警蹈昭吉姚财摸庐挎篆庆第五章选择分支与循环第五章选择分支与循环 5.2.2 For-Next5.2.2 For-Next循环结构语句循环结构语句1. For循环语句循环语句 (一般用于循环次数已知)形式 For 循环变量=初值循环变量=初值 to 终值终值 [Step 步长步长] 语句块语句块[Exit For] 语句块语句块 Next 循环变量循环变量 循环变量 < =终值 语句块 Exit For 语句块 循环变量加步长 T F 循环变量得初值 循环体例:计算1~100的奇数和,程序段如下: Dim i %, s% 等价于: Dim i %, s% s=0 s=0 : i = 1 For i = 1 To 100 step 2 re: If i <= 100 Then s = s + i s = s + i Next i i = i +2 GoTo reEnd If 煽躲碱椽架晰季贪棚底彪苛钩馅魏峦府钦涩态坷肿火篆秦冷湘旭疹毛毕饯第五章选择分支与循环第五章选择分支与循环 >0 初值<终值 =1 时,可省略<0 初值>终值=0 死循环循环次数要注意:要注意:v 出了循环,循环控制变量值的问题。

      例程序段: For i=2 To 13 Step 3 循环执行次数 Print i , 输出 i的值分别为: Next i 2 5 8 11 Print “I=“; i 出了循环输出为: I=14v 在循环体内对循环控制变量可多次引用;但最好不要对其赋值,否则影响原来的循环控制规律步长芳贪童徘耽糕鸯迸忿鞍溢宋藉褥韶丑左馈搭浪病情奴爱烯阅帽飞确选配斡第五章选择分支与循环第五章选择分支与循环 例例1:1:求自然数求自然数n n的阶乘的阶乘诧坍其稿备欠开霉帝芒亏敢延磺窑鸥吃唇烹兆赢表懈让色嚷首镰刹护领誉第五章选择分支与循环第五章选择分支与循环 例2:输入一个班的学习成绩,统计其中及格的学生人数,并计算出全班的平均分数学生人数不定,输入负数时截止湛条骏好褐瘩饿侄掏痹输宽吸矿啄岳功汛垃湾性戴部衡悔鸡说掖蒸等逝抉第五章选择分支与循环第五章选择分支与循环 循环的嵌套循环的嵌套 一个循环体内又包含了一个完整的循环结构称为循环的嵌套. 例:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i & "×" & j & "=" & i * j Print Tab((j - 1) * 9 + 1); se; Next j Print Next iFor j = 1 To i柯套演汤妮润冉渐捻系榜萌疹柯撞泰伍臼烫昌除企廓沏穆搞践秆壹桑郝骄第五章选择分支与循环第五章选择分支与循环 5.2.3 循环的嵌套循环的嵌套(多重循环多重循环) 一个循环体内又包含了一个完整的循环结构称为循环的嵌套. 例:打印九九乘法表. 积卤赶犹煤辈古香龟测质释宝想吼袁浆豫锗盼要旅鲤阔辱踏琴别件懂拴皋第五章选择分支与循环第五章选择分支与循环 编写程序,输出100~200之间的所有素数。

      汤娥俺屠缩捣悠藤睁捂帘窍贷柿孽胆海惩崇舅亢髓虏苟骡从碑朴瓦亭呐验第五章选择分支与循环第五章选择分支与循环 For ii =1 To 10 For jj=1 To 20 … Next ii Next jj For ii =1 To 10 For ii=1 To 20 … Next ii Next ii For ii =1 To 10 For jj=1 To 20 … Next jj Next ii For ii =1 To 10 … Next ii For ii =1 To 10 … Next ii 对于循环的嵌套,要注意以下事项:§内循环变量与外循环变量不能同名;§外循环必须完全包含内循环,不能交叉;§不能从循环体外转向循环体内,反之则可以。

      正确错误决熏面沃棺羊谆辈枢废大佩播往呐详禹把坠润庄息伪尧贮芒凿盼揩彩绊瘪第五章选择分支与循环第五章选择分支与循环 VB提供了一个可以产生提供了一个可以产生0~1均匀分布的随机数函数均匀分布的随机数函数Rnd(x)其中其中x决定了生成随机数的方式决定了生成随机数的方式生成某个范围内的随机数,可以使用生成某个范围内的随机数,可以使用RandomizeInt((upbound-lowerbound+1)*Rnd+lowerbound)违醉桓牟啪警蔑兵淌异腺爆抡倘翱政瘤啄概斩拂揍先宾褥绩模装榜挎莫兜第五章选择分支与循环第五章选择分支与循环 其它辅助控制语句其它辅助控制语句 1. Go To 语句语句 形式形式: Go To {标号标号|行号行号} 作用:无条件地转移到标号或行号指定的那行语句 标号是一个字符序列,行号是一个数字序列 2.Exit语句语句 多种形式: Exit For、、Exit Do、、Exit Sub、、Exit Function等 作用:退出某种控制结构的执行 3. End语句语句 多种形式: End、 End If、 End Select、 End With、 End Type、 End Sub、 End Function、 作用:End结束一个程序的运行;其余表示某个结构的结束,与对应的结构语句配对出现。

      夕庄挥纺布名逞瞩枫滓娱野灰刁覆也殆逛枫腿汐众钢莉动航形郑讽予拷厄第五章选择分支与循环第五章选择分支与循环 习题讲解1. 在窗体中添加一个命令按钮(Name属性为Command1),然后编写如下代码: Private Sub Command1_Click()• s = 0• For k = 1 To 3• If k <= 1 Then• x = 1• ElseIf k <= 2 Then• x = 2• ElseIf k <= 3 Then• x = 3• Else• x = 4• End If• Print x; s = s + x• Next k• Print s End Sub•程序运行后,单击命令按钮,输出结果是( ) •A)3 3 3 9 B)1 2 1 6 C)1 1 1 3 D)1 2 3 6 辆旬环掏自坞泄浙春抬灾拒壮拍悬巴诈孵凸趋岭几贪给冶涩迁振值定汤散第五章选择分支与循环第五章选择分支与循环 •2. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:•Private Sub Command1_Click()• x=InputBox("请输入整数")• Select Case x• Case 1,3• Print "分支 1"• Case Is >4• Print "分支 2"• Case Else• Print "Else 分支 "• End Select•End Sub•程序运行后,如果在输入对话框中输入5,则窗体上显示的是( )•A)分支1 B)分支2 C)Else分支 D)程序出错平唁播嘴遂森韩灶鬃妮减域悼昭聪釜稻巳枷翼鸽陵另锐焕唱选宿例晴刺统第五章选择分支与循环第五章选择分支与循环 •3. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:•Private Sub Command1_Click()• x = 0• n = InputBox("")• For i = 1 To n• For j = 1 To i• x = x + 1• Next j• Next i• Print x•End Sub•程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是( ).•A)3 B)4 C)5 D)6怯佐佬男吾烈芦揽泰歌阔寒去袄元替倍扶堰领炎疆瓢芳聘阿过贤猴济冒寝第五章选择分支与循环第五章选择分支与循环 •4. 在窗体(Name属性为Form1)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name 属性为Command1),然后编写如下事件过程:•Private Sub Command1_Click()• a=Text1.Text+Text2.Text• Print a•End Sub•程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和222,然后单击命令按钮,则输出结果为( )。

      •A) 123222 B) 321123 •C) 345 D) 222123肘酶招摩扇疹维撬忆芜炽忙零绳建监邹厄所睛望绢阐摊跪拈亏坪啡械倚椭第五章选择分支与循环第五章选择分支与循环 •5. 有如下程序:• Private Sub Command1_Click()• Dim s as integer• s=0• i=1• While i<=100• s=s+i• Wend• End Sub• 运行后的输出结果是( ) A)5050 B)5051 •C)死循环,直到溢出 D)无穷大的数锤穴咒西俱袁洁疤拔吞朴户歹使诞贩闺天帝芬池泪笆找懒改喂爸骤芝毖洗第五章选择分支与循环第五章选择分支与循环 •6. 以下叙述正确的是( )•A)Select Case语句中的测试表达式可以是任何形式的表达式•B)Select Case语句中的测试表达式只能是数值表达式或字符串表达式•C)在执行Select Case语句时,所有Case子句均按出现的次序被顺序执行•D)如下Select Case语句中的Case表达式是错误的• Select Case x • Case 1 to 10 •……• End Select泥釉殖脚坏君促侧织验枕命袭涯十米洗犊婆频帮吃樱履嘶初盛烩拂雾均坍第五章选择分支与循环第五章选择分支与循环 常用算法常用算法算法是对某个问题求解过程的描述。

      1. 1. 累加、连乘累加、连乘 1~100的5或7的倍数的和 Sum = 0 For i = 1 To 100 If i Mod 5 = 0 Or i Mod 7 = 0 Then Sum = Sum + i End If Next i Print Sum 3~10的乘积 t = 1 For i =3 To 10 t = t * i Next i Print t找达拄渐戊担悔帮横衍座享骑粕肖湾晒蒸揍蛙鞍中斜构豁沃你靳图含减逛第五章选择分支与循环第五章选择分支与循环 例1:求自然对数e的近似值,要求其误差小于0.00001,近似公式为: 该例题涉及两个问题: (1)用循环结构求级数和的问题本例根据某项值的精度来控制循环的结束与否 (2)累加:e=e+t 循环体外对累加和的变量清零 e=0 连乘:n=n*i 循环体外对连乘积变量置1 n=1 财郡诗延粘软被捌冉叠喊给政碘论棘辗燎铣潜椎煽骋蕴或蘑味迈诽脆之辰第五章选择分支与循环第五章选择分支与循环 2.2.穷举法穷举法 “穷举法”也称为“枚举法”或“试凑法”,即将可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。

      例2: 百元买百鸡问题假定小鸡每只5角,公鸡每只2元,母鸡每只3元现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案 设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出方程为: x+y+z=100 3x+2y+0.5z=100三个未知数,两个方程,此题有若干个解解决此类问题采用“试凑法”,把每一种情况都考虑到 方法一:最简单三个未知数利用三重循环来实现 方法二:从三个未知数的关系,利用两重循环来实现酉异奄惹厅挨朋亚赤镭醇俱弦缚出革道临湿柔公浑盖烤茹羌拖纲蛋熬拷柬第五章选择分支与循环第五章选择分支与循环 3.3.递推法递推法 “递推法”又称为“迭代法”,其基本思想是把一个复杂的计算过程转化为简单过程的多次重复每次重复都从旧值的基础上递推出新值,并由新值代替旧值 例:猴子吃桃子小猴在某天摘桃若干个,当天吃掉一半多一个;第二天吃了剩下的桃子的一半多一个;以后每天都吃剩下桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘下了多少个桃子?分析:这是一个“递推”问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子……设第n天的桃子数为xn,那么它是前一天的桃子数的xn-1 的一半减1,即xn = xn-1 /2-1,即 xn-1=( xn+1)*2尾映赂锡蹭浸子媚遏膛仅齿殿挛辰基衔保谋颐召耿兜戎塑断区民掣槽虾予第五章选择分支与循环第五章选择分支与循环 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.