模块4 程序设计结构(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)

2024-08-04
| 10页
| 62人阅读
| 2人下载
普通

内容正文:

课题名称 模块4 程序设计结构 计 划 学 时 10学时 内容分析 编写一个程序,在保证运行结果正确的前提下,要求做到具有良好的结构,这样做的目的是使程序的阅读和修改十分方便。本模块通过案例的形式介绍了程序设计结构中的顺序结构、分支结构和循环结构,并给出程序流程图,让用户直观感受它们的奇妙之处,辅以练习提高解决实际问题的能力。 教学目标及基本要求 1. 带领学生通过完成相应案例,认识程序流程图。 2. 带领学生通过完成相应案例,掌握顺序结构、分支结构和循环结构的格式及应用。 重点及措施 1.认识程序流程图。 2.掌握不同程序设计结构的格式。 3.能够选择合适的程序设计结构来解决实际问题。 难点及措施 1.不同分支结构的格式及执行过程。 2.不同循环结构的格式及执行过程。 教学方式 讲师课堂教学以PPT讲授为主,结合多媒体进行教学 教 学 过 程 第一学时 认识流程图 一.教师演示案例4-1,求一个数的平方。 1.需求分析:这是一个简单的小案例,用户单击窗体触发程序运行,因此代码写在窗体的单击事件中。先利用InputBox函数获取一个数,再计算出这个数的平方,最后将这个数的平方打印在窗体上。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-1。 二.内容讲解 描写算法的方法很多,使用程序流程图表示算法比较直观,可以使程序的结构清晰明了。程序流程图使用若干规定的图框来表示算法,框内简要说明具体操作内容,用流程线条表示先后顺序。下表列出了ANSI(美国国家标准协会)规定的一些常用的程序流程图符号及其含义。 案例 4-1 的程序流程图如下所示。 第二学时 运用顺序结构 一.教师演示案例4-2,求圆的面积。 1.需求分析:这是一个典型的顺序结构的案例。必须先在文本框中输入圆的半径,再单击“计算”按钮,然后才能计算圆的面积,最后将面积显示在标签上。这个顺序不能有一丝改变同,否则程序便会出错。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-2。 二.内容讲解 1.顺序结构是按照程序或程序段书写顺序执行的语句结构,是最基本的一种结构,它表明了事情发生的先后顺序。在日常生活中有很多这样的例子,比如在淘米煮饭的时候,总是先淘米,然后才煮饭,不可能是先煮饭后淘米。 2.顺序结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 设计程序,求解 y=a+b*c,a、b、c 由用户输入。 第三学时 运用单分支结构:If语句 一.教师演示案例4-3,利用单分支结构放大图片。 1.需求分析:利用单分支结构If…Then…实现单击图片放大,即:单击图片时进行判断,如果图片的宽度和高度都没有达到最大值,则每次在原有的基础上增加一定值。此时需要事先知道图片的大小,才能正确判断。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-3。 二.内容讲解 单分支结构是最简单的分支结构,它只对满足条件的情况进行处理,对不满足条件的情况置之不理。 1. 单分支结构的格式 格式 1: If< 条件 >Then< 语句组 > 格式 2: If< 条件 >Then < 语句组 > End If 2. 说明 (1)条件可以是关系表达式、逻辑表达式或算术表达式。 (2)若条件为True,则执行语句组,否则,跳过语句组执行后面的代码。 (3)语句组可以是单条语句,也可以是多条语句。多条语句可以按顺序每行写一条,若多条语句写在同一行应以冒号分开。 (4)单分支结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 设计程序。由用户输入一个成绩,如果成绩大于 90,则在标签上显示“成绩优秀,望保持!” 第四学时 运用双分支结构:If…Then…Else…EndIf语句 一.教师演示案例4-4,利用双分支结构放大图片。 1.需求分析:案例4-3中单击图片放大,只对图片没有完全显示的情况给出处理方法,而当图片已经完全显示时,用户继续单击图片没有任何反应。为了使程序更人性化,此例中我们考虑到了一个条件成立与否的两种情况,增加了条件不成立时的处理方法——向用户给出提示信息。这就需要双分支结构来完成。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-4。 二.内容讲解 双分支结构是较常见的分支结构,它对一个条件成立与否的两种情况都做出了处理,比较符合人们的认知逻辑。 1. 双分支结构的格式 格式 1: If< 条件 >then< 语句组 1> Else< 语句组 2> 格式 2: If< 条件 >then< 语句组 1> Else< 语句组 2> End If 2. 双分支结构说明 (1)若条件为 True,则执行语句组 1,否则,执行语句组 2。 (2)双分支结构流程图如图所示 三.自我探索(以学生自主学习与操作为主) 由用户输入一个非0数字,判断其为正数还是负数。 四.小贴士 这个练习还可以用条件函数 iif 来实现,条件函数 iif 用来实现简单的选择结构。其格式为: iif(< 测试表达式 >,< 真值部分 >,< 假值部分 >) 对测试表达式进行判断,如果成立,返回真值部分,否则返回假值部分。 假设用户输入的数字为a,正负用b来表示,则b=iif(a>0,"正数","负数")。 第五学时 运用双分支结构:If…Then…ElseIf…Then…语句 一.教师演示案例4-5,查询电影放映厅。 1.需求分析:很多时候,需要判断的条件可能出现的情况分支并不只有一个或两个,而是有很多。比如此案例所示,可供选择的电影有4个,分别对应不同的放映厅,因此就需要时行多次判断,对每种情况分别做出处理,这就需要多分支结构If…Then…ElseIf…Then…来实现。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-5。 二.内容讲解 1. 多分支结构的格式 If< 条件 1>Then< 语句组 1> ElseIf< 条件 2> Then< 语句组 2> … ElseIf< 条件 n> Then< 语句组 n> [Else < 语句组 n+1>] End If 2. 多分支结构说明 (1)执行的时候,首先判断<条件1>,若<条件1>为True,则执行<语句组1>; 否则如果<条件2>为True,则执行<语句组2>;依次类推,否则如果<条件n>为True,则执行<语句组n>;否则执行<语句组n+1>。 (2)多分支结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 设计程序,给出一个不多于 6 位的整数,判断出它是几位数。运行效果可参考图 4-12 所示。 第六学时 运用双分支结构:Select…Case…语句 一.教师演示案例4-6,设置程序,用于提醒今天星期几。 1.需求分析:如图所示,程序运行时在标签上显示当天的日期,单击“星期”按钮后在另一标签上显示出对应星期几。众所周知,一个星期有七天,因此这个案例中的条件就有七种情况需要考虑。此案例用If…Then…ElseIf…Then…结构也可以实现,但是书写代码相当繁琐,还容易出错,也不易于理解,对待这样多个分支的问题我们还有一个选择便是“Select…Case…”结构,而且在一定程度上,此结构更清晰,易于理解。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-6。 二.内容讲解 1.本程序,使用了几个关于日期和时间的函数。 Weekday(Now):今天是星期几。 Year(Now):今天的年份。 Month(Now):今天的月份。 Day(Now):今天的日期。 2. Select Case多分支结构的格式 Select Case< 测试表达式 > Case < 表达式列表 1 > < 语句组 1 > Case < 表达式列表 2 > < 语句组 2 > …… Case < 表达式列表 n > < 语句组 n > [Case Else < 语句组 n+1 >] End Select 3. Select Case 多分支结构说明 (1)Select Case 结构的执行过程是:将 < 测试表达式 > 的值与 Case 后面的 < 表达式列表 > 进行比较,选择与其匹配的分支,并执行其后面的语句组,然后跳出 SelectCase 分支结构,执行下面的程序代码。 (2)每个 Case 语句出现的次序不影响执行结果。 (3)< 测试表达式 > 是数值型或字符串型表达式。 (4)表达式取值必须与测试内容的取值类型一致,表达式列表有以下 3 种书写方法: 方法1: <表达式1>,<表达式2>,…,<表达式n> 例如: Case 3, 5, 8 Case " 红色 ", " 绿色 " 如果测试表达式的值为3、5或者8,执行同一个语句组;同理如果测试表达式的值为"红色"或"绿色",也执行同一个语句组。 即测试表达式的值与上述表达式中的任意一个相等,则执行该分支后面的语句组。 方法2: <表达式1> To <表达式2> 例如: Case 90 To 100 dj = " 优秀 " ' 等级为“优秀” Case 80 To 89 dj = " 良好 " ' 等级为“良好” … 如果分值在90至100之间,则等级为“优秀”,如果分值在80至89之间,则等级为 “良好”。即测试表达式的值在哪个范围内,则执行该分支后面的语句组。 方法3: Is<比较运算符><表达式> 例如:某软件对用户级别的判断标准为:积分不足3000的为一星用户;积分在3000至6000之间的为二星用户;积分超过6000的为三星用户。 Select Case jf '对积分jf进行判断 Case Is < 3000 '如果积分不足3000 jb = “一星” '级别为一星 Case 3000 To 6000 '如果积分在3000至6000之间 jb = “二星” '级别为二星 Case Is > 6000 '如果积分超过6000 jb = “三星” '级别为三星 End Select (5)Select Case 分支结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 设计一个程序,根据儿童身高来判断买火车票的优惠程度。当儿童身高低于 1.2 米免费乘车,介于 1.2 米与 1.5 米之间半价乘车,高于 1.5 米全价乘车。 第七学时 运用循环结构:For…Next循环 一.教师演示案例4-7,计算1.01的365次方和0.99的365次方,并将结果显示在标签上。 1.需求分析:如图所示,用户选择一个单选按钮后单击“计算”按钮,计算结果会显示在标签中,同时显示“积跬步以至千里,积怠惰以致深渊!”。这是一个典型的循环程序应用案例,计算1.01的365次方,也就是将365个1.01相乘,不断重复的操作是乘以1.01,重复次数是365次。同理,0.99的365次方,算法也相同。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-7。 二.内容讲解 1. For…Next循环结构的格式 For < 变量 > = < 初值 > To < 终值 > [Step < 步长 >] [Exit for] < 语句组 > Next < 变量 > 2. For…Next循环说明 (1) 首先循环变量被赋初值,然后与终值比较。当步长为正且变量小于终值或步长为负且变量大于终值时,重复执行语句组,即循环体,否则退出循环,执行下面的语句。每次执行完循环体,循环变量按步长增加或减少。 (2)步长为 1 时可以省略不写。 (3)Exit for 语句的作用是强制退出循环,可以省略。 (4)For…Next 循环结构通常用于循环次数可定的循环语句。其循环结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 利用循环语句,求 1 ~ 10 之间偶数的和。 第八学时 运用循环结构:Do While…Loop循环 1. 教师演示案例4-8,设计一个摇奖装置。 1.需求分析:此摇奖装置通过一个水平滚动条来给出中奖号码的数目n,单击“抽奖”按钮,随机产生n(1≤n≤10)个数的中奖号码。这是一个循环案例,当满足条件时,执行循环体中的语句。既然是循环结构,就要确定循环体是什么。在这个案例中,循环体中要执行的操作是随机产生一个个位数。产生个位数的数目由循环变量,即中奖号码位数决定。当循环变量小于等于中奖号码位数时,不断随机产生个位数,然后将这个个位数转换为字符串与号码连接起来,最终将这个号码显示在文本框中。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-8。 二.内容讲解 1.Rnd 是随机函数。 Rnd 本身返回一个大于或等于 0,但小于 1 的随机数,它往往要与某些数字相乘或相加后使用,使产生数字的范围符合一定的要求。例如,9 * Rnd 的意思是产生一个0 ~ 9 之间的随机数,即个位数。 如果要产生一个 1 ~ 3 之间的随机数,可以写成:3 * Rnd + 1。 2. Do While…Loop循环结构的格式 Do While < 条件 > < 语句组 > Loop 3. Do While …Loop循环结构说明 (1)Do While…Loop 循环结构又称为“当型循环”,即当满足一定条件时,执行某些操作。 (2)先判断条件,当条件为 True 时,执行语句组,否则退出循环,执行下面的语句。 (3)Do While…Loop 循环结构通常用于循环次数不定的循环语句。 (4)Do While…Loop 循环结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 打印 1 ~ 100 之间能被 7 整除的数,运行界面可参考图 4-19。 第九学时 运用循环结构:Do…Loop While循环 一.教师演示案例4-9,输入学生5门课程的成绩,并求平均成绩。 1.需求分析:用户单击窗体时弹出输入框,可以输入学生5门课程的单科成绩,并将单科成绩打印出来,输入完成将显示出这5门课程的平均成绩。运行界面如图所示。 首先要确定循环变量的范围为5门课程,故循环变量可以设置为从0~4;其次要确定循环体,很明显能看出来这个案例中重复进行的操作是接收输入的学生单科成绩和打印单科成绩,再仔细分析,其中还隐含着将这5门单科成绩相加的操作,以便于用总成绩来求平均成绩。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-9。 二.内容讲解 1. Do…Loop While循环结构的格式 Do < 语句组 > Loop While < 条件 > 2. Do…Loop While循环结构说明 (1)先执行一次语句组,然后再判断条件,当条件为True时,继续执行语句组,否则退出循环,执行下面的语句。 (2)Do…Loop While循环结构也是“当型循环”,它与Do While…Loop循环结构的区别在于,是先判断条件还是先执行语句组。 (3)Do…Loop While 循环结构流程图如图所示。 三.自我探索(以学生自主学习与操作为主) 求10!的值。提示:10!=10×9×8×7×6×5×4×3×2×1。 第十学时 运用循环结构:循环嵌套 一.教师演示案例4-10,打印九九乘法表。 1.需求分析:这是一个双重循环的案例,外层循环控制打印行数,内层循环控制每行打印的列数。通过观察总结行与列之间的数值关系,发现行数从1~9,而列数是每个行数的值。循环体的语句就是打印乘法表的内容,虽然只有一条语句,却要经过仔细的分析才能得到,因为这里涉及乘法表的间隔问题。 2.案例实施:具体步骤略 3.学生操作,独立完成案例4-10。 二.内容讲解 1.一个循环体内又包括另外一个完整的循环体结构,即为循环的嵌套。 2.内层循环和外层循环的变量不能同名,并列的循环变量可以同名。 3.循环层次要清晰,内外循环不能交叉。 三.自我探索(以学生自主学习与操作为主) 打印“数学金字塔”。运行界面如图 4-23 所示。 思考和习题 教 学 后 记 学科网(北京)股份有限公司 $$

资源预览图

模块4 程序设计结构(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
1
模块4 程序设计结构(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
2
模块4 程序设计结构(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
3
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。