《算法与程序设计》选修教案.doc

上传人:cleanass300 文档编号:370865 上传时间:2018-09-30 格式:DOC 页数:43 大小:2.37MB
下载 相关 举报
《算法与程序设计》选修教案.doc_第1页
第1页 / 共43页
《算法与程序设计》选修教案.doc_第2页
第2页 / 共43页
《算法与程序设计》选修教案.doc_第3页
第3页 / 共43页
《算法与程序设计》选修教案.doc_第4页
第4页 / 共43页
《算法与程序设计》选修教案.doc_第5页
第5页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 1 第一课 初识算法与程序设计 一、教学目标 1、知识与技能 ( 1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力; ( 2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。 2、情感、态度、价值观 学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、表达呈现信息的能力,进一步提高其信息素养。 二、教学重点难点 重点:算法概念的理解 难点:如何科学合理的选择和设计算法。 三、教学策略与手段 以趣味性问题设 置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过 Flash演示材料,比较直观地把抽象的问题简单化

2、,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。 四 、教学过程 ( 1课时) (一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。 【问题一】天下真的有“不要钱的午餐”吗? 某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费” 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢? 学生们感觉非常有意思,很快以小组

3、为单位进行热烈的讨论并得出了破解问题的步骤:第一个座位个人都有坐的机会第二个座位只有个人中的任一个有坐的机会(一个人不能同时坐两个座位)第三个座位只有个人中的任一个有坐的机会第四个座位只有个人中的任一个有坐的机会第五个座位只有个人有坐的机会计算:得出结论:需要吃次才 有可能吃上免费午餐。 【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢?请2 写一写你的渡河方案。 学生:学生讨论回答。 展示步骤 两个妖怪先过河,一个妖怪回来; 再两个妖怪过河,一个妖怪回来; 两个和尚

4、过河,一个妖怪和一个和尚回来; 两个和尚过河,一个妖怪回来; 两个妖怪过河,一个妖怪回来; 两个妖怪过河。 【 Flash动画展示】通过讨论和动画展示,我们可以知道,计 算机解决问题和人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。 (二)【课件展示】算法的概念: 1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。 2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。 【小试身手】按照这

5、样的理解 ,我们可以设计出很多由具体数学问题解决一类数学问题的算法 .下面看一个例 子 :(要求学生自己考虑并写出具体的算法) 鸡兔同笼问题。一个笼子里有鸡和兔,现在只知道里面一共有 17个头, 48只脚,鸡和兔各有多少只?试设计一个求解的算法。 【设计意图】求解鸡兔的问题简单直观,却包含着深刻的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。 第一步:设有小鸡 x只,小兔 y只,则有 第二步:将方程组中的第一个方程两边乘 2加到第二个方程中去,得到 ,得到 y=7; 第三步:将 y=7代入( 1)得 x=10。 【变一变】在笼中有鸡、兔若干,已知有头 a个,有脚 b只,求各有多少只鸡

6、和兔。 【师生合 作】老师带领学生共同书写规范的算法的具体步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。 (三)【课件展示】算法的基本特征 有穷性 确定性 不唯一性 有效性(逻辑性) 3 1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的。 2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。 3、有零个或者多个输入,有一个或者多个输出 4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。 【教学总结】 1、本节课通过一些生活中看似简单问 题的解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算

7、法的概念。 2、课堂教学的效益取决于学生对所学知识理解了多少,能否用所学知识来解决一些实际问题。本节课的设计突出讲与练的结合,培养学生的动手能力,并且引出学生对下一节课的内容的思考,比较顺利的完成了本节课的教学任务。 3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。 4 第二课 用计算机解决问题 一、教学目标 ( 1)让学生了解算法、穷举法、程序设计语言、编写程序 和调试程序等概念。 ( 2) 让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 ( 3) 让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认

8、识其在算法与程序设计中的作用。 二、重点难点 重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三 、教学过程 ( 2课时) (一)引入 教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然 而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:” 学生观看的电视剧汉刘邦片断,内容大致如下: “韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜

9、多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。” 片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每 3人一列余 1人、 5人一列余 2人、 7人一列余 4人、 13人一列余 6人。刘邦茫然而不知其数。你呢?” (二)问题 教师:“下面我们先助刘邦解决一个简单的问题。” “韩信点兵”问题 1:求整除 3余 1、整除 5余 2、整除 7余 4的最小自然数。 (三)探究 把全班分成 16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题

10、的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。如下: 5 探究问题记录表 分析问题 (找出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 结果 学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问 23个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。 分析问题 (找出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 设所求的数为 X,则 X应满足: X 整除 3余 1 X 整除 5余 2 X 整除 7余 4 1、令 X为 1。 2、如果 X整除 3余 1, X整除 5余 2, X整除 7余 4,这

11、就是题目要求的数,则记下这个 X。 3、令 X为 X+1(为算下一个作准备)。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 教师解释第 3步“另 X为 X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。 教师:“刚才有些同学把题目解出来了,答案是 67,韩信作为大将军,统率士兵当然不止 67 人,下面我们来解决一个数据量稍大的问题。” 展示题目: “韩信点兵”问题 2:求整除 3余 1、整除 5余 2、整除 7余 4、整除 13 余 6、整除 17 余 8的最小自然数。 学生分析上述问题并写出算法,不用计算。学生有了第 1题的经验,很快会写出和第一题类似的算法。如

12、下: 分析问题 (找出已知和未 知、列出已知和未知之间的关系 ) 写出解题步骤 设所求的数为 X,则 X应满足: X 整除 3余 1 X 整除 5余 2 1、令 X为 1。 2、如果 X整除 3余 1, X整除 5余 2, X整除 7余 4, 6 X 整除 7余 4 X 整除 13余 6 X 整除 17余 8 X整除 13余 6, X整除 17余 8,则记下这个 X。 3、令 X为 X+1。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 教师:“上面的结果超过 1万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题) (四)用计算机解决问题 教师 :“计算机怎么样解决

13、问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。” 本例用 Visual Basic语言编写的程序请看如下: Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1: Y = 0 Do If X Mod 3 = 1 Then If X Mod 5 = 2 Then If X Mod 7 = 4 Then If X Mod 13 = 6

14、 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y 0 Print “韩信统御士兵数: “; Y End Sub 教师: “程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。” 7 (五)观摩 根据前面编制的程序,启动 Visual Basic程序设计环境,输入程序代码,进行调试,最后得到运行的结果。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。 (六)交流 教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢

15、?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在计算机解决问题的过程教学活动表的“讨论记录”表中。如下: 关于求解问 题的方式讨论记录 求解问题的方式 相同点 不同点 人工求解问题 用计算机求解问题 教师提问 23个小组的讨论结果,并引导出大致如下的形式结果: 求解问题的方式 相同点 不同点 人工求解问题 分析问题、设计算法、得出结果、验算结果等 对题目进行解答、运算速度慢、不需要计算机等 用计算机求解问题 编写程序、调试程序、运算速度快等 8 第 三 课 算法与算法的描述 一、教学目标 1、知识与技能 ( 1)了解算法的定义及其表达方法; ( 2)认知流程

16、图的六种基本 符号; ( 3)理解计算机解决问题的一般过程。 2、方法与过程 ( 1)理解用不同的表达方法描述算法的优缺点; ( 2)掌握用流程图描述简单的算法。 3、情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、重点难点 (一)教学重点 1、算法的定义; 2、 算法的三种表达方法; 3、 流程图的六种基本符号; 4、 用流程图描述简单的算法。 (二)教学难点 5、算法的描述(三种); 6、用流程图描述算法。 三 、教学过程 ( 2课时) 教学内容 预期目标 新课内容: 一、对算法的初步了 解 1一个简单的物理问题:求物体在恒力作用下的加速度。 根

17、据在物理课中学过的知识,要解决这个问题有多种方法: 方法一: a) 测量出物体的质量 m、拉力 F和滑动摩擦力 f b) 将测量所得的数据输入计算机 c) 根据牛顿第二定律 F-f=m*a,计算出加速度 a 9 d) 输出所得的结果 方法二: a) 测量出物体从静止开始移动的距离 s、时间 t b) 将测量所得的数据输入计算机 c) 利用公式: s=a*t*t/2计算出加速度 a d) 输出所得的结果 2算法的定义 这种 为解决某一问题而设计的确定的有限的步骤称为算法。 二、算法的描述 要把解决问题的步骤表达出来,有多种方法可以表达算法。 1用自然语言表达 用自然语言表达算法,就是把算法的各个

18、步骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行 2用图形符号表达 用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。 常用的“流程图”所用的基本符号 图形符号 符号名称 说明 流线 起始、终止框 表示算法的开始或结束 起始框:一流 出线 终止框:一流入线 输入、输出框 框中标明输入、输出的内容 只有一流入线和一流出线 处理框 框中标明进行什么处理 只有一流入线和一流出线 判定框 框中标明判定条件并在框外一流入线两流出线 ( T和 F 引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念

19、引导出算法的概念 介绍三种算法的表达方式,并对它们进行比较,分析优缺点。 给出流程图的基本符号,对其功能和使用情 况加以说明,以便今后在具体运用中的正确使用。 10 标明判定后的两种结果的流向 )但同时只能一流出线起作用 流线 表示从某一框到另一框的流向 连接圈 表示算法流向出口或入口连接点 一条流线 优点:直观、形象 缺点:不能被计算机识别和执行 例 6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。 3用程序实现算法 用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问给出流程图的作法,通过详细的解释说明使学生初步掌握流程

20、图的使用和基本画法。 了解计算机解决问题的一般过程,为今后用编程解决开始 M=m F1=F F2=f a=( F1-F2) /M 输出 a 结束 11 题。 不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。 因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。 例:用 Pascal语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下: Program ex_aver Var I:integer;x,av:real; Begin Av:=0;I:=0; Do while not eof() Begi

21、n Readln(x); av:=av+x; I:=I+1; End av:=av/I; Writenln(“The average value is :”,av); End 三、用计算机解决问题的一般过程 使用计算机解决一个问题,一般包括四个过程 1需求分析 “需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。 “需求分析” 就是确定要计算机“做什么”。 2设计算法 弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做” 实际问题打下基础。 12 解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是

22、说,解决一个问题的算法可能不止一种。这是,应该通过分析、比较、挑选一种最优的算法。 3编写程序 计算机只能接受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。 4上机调试与维护 编写完成的程序,不一定完全符合实际问题的要求,还必须 在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。 即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。 在实际解决问题时,上述四个步骤可能会根据不

23、同的问题有所侧重。 13 第 四 课 程序与程序设计语言 一、教学目标 1、知识与技能 使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。 2、过程与方法 使学生初步体 验编程乐趣,了解如何编辑程序、编译程序和连接程序。 3、情感态度与价值观 让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的魅力,从而培养学生学习编程的兴趣。 二、重点难点 ( 1)重点:了解代码所包含的算法思想; ( 2)难点:计算机是如何编辑程序、编译程序和连接程序的。 三 、教学过程 ( 2 课时) 正课讲解 (一)尝试用 VB 编写程序 1、 么是 VB

24、? VB 是一种基本 BASIC 语言的可视化程序开发工具。 2、 编写程序 从桌面上启动 VB,弹出“新建工程”对话框,从“新建”页面中选“标 准 EXE”,然后“打开“按钮,建立”标准 EXE 工程。 注:为了避免打开时总是出现“新建工程”对话框,在首次启动时,勾选“不再显示这个对话框”。 单击工具箱“ CommandButton”的按钮,在 Form1 窗体中拖出一个“ Command1”按钮。 Command1 是命令按钮,它有 6 个属性、 2 个事件和 4 个方法。 属性 Caption 标题 Default 决定窗体的默认命令按钮 Enabled 决定对象是否响应用户生成事件 S

25、tyle 控件的外观 Visible 决 定对象是否可见 Picture 显示的图形 14 事件 方法 Click 单击 Drag 拖动 Refresh 刷新 KeyPress 字符键被单击 Move 移动 SetFocus 设置焦点,将当前焦点强制设置到文本框对象上 选中此按钮,从属性窗口中将 Caption 改为“韩信点兵”。 给按钮添加代码,在 Private Sub Command1_Click()和 End Sub 之间添加代码: Dim N As Integer 声明 N 为整型 N=1 赋 初始值 Do(N mod 3=2) and(N mod 5=3) and (N mod 7

26、=2) Then 满足条件打印 N,不满足继续循环 Print N Exit do End if N=N+1 Loop 从“运行”菜单中“单击”启动命令,运行程序。运行后,单击“韩信点兵”按钮。 注:运行时,不能修改程序代码。 实践题:从“调试”菜单中点击“逐语句”命令( F8),然后按 F8 键试着单步运行程序,观察代码是如何运行的,程序执行注释部分吗?在程序运行的过程中,用鼠 标指向变量 N,看看它的值有什么变化,为什么会这样变? (二) 算法、程序设计与程序设计语言之间的关系 算法 提出问题:什么是算法?算法有哪些特征? 程序设计 寻求解决问题的方法,并将其实现步骤写成计算机可执行的程序

27、的过程。 程序设计语言 泛指一切用于书写计算机程序的语言。 算法是程序设计的前提,它包含方法和步骤; 程序是实现算法中的思想的过程; 程序设计语言把算法转化为计算机认识的语言。 15 (三) 认识程序设计语言 1、 发展过程 机器语言:由一串“ 0”和“ 1”构成二进制代码。 汇编语言:是一种符号化(英文助记符)的机器语言。 高级语言:如 Basic、 C/C+、 Fortran、 Pascal、 Cobol、 Java 等。 2、分类(按转换方式不同分类) 编译型语言 解释型语言 编写的源程序需要用编译程序先翻译成机器语言的目标程序,然后再由连接装配程序进行连接装配,生成可执行程序,这样才能

28、被计算机执行。 源程序输入计算机后,运行源程序,相应的解释程序会逐条分析源程序中的语句,每解释一句由计算机执行一句。 C/C+ 、 VB 、 Pascal 、 Cobol Qbasic 、 Lisp 3、编辑程序、编译程序和连接程序 编辑程序 包含内容:一是将源程序逐个字符输入到计算机内存,二是修改源程序,三将修改好的源程序保存在磁盘文件中。 编译程序:将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。 二进制代码在 UNIX 下后缀为“ .o”的文件,在 DOS 下是后缀为“ .obj”文件。 连接:将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有有绝对地址的可执行

29、文件,它是计算机直接执行的文件。 在 UNIX 下它以“ .out”为后缀,在 MS-DOS 以 下“ .exe”为后缀。 执行过程: 16 第 五 课 vb 语言及程序开发环境 一、教学目标 1、知识与技能 掌握 VB 定义的常用的基本数据类型,常量与变量的定义方法,运算符、函数和表达式的描述。熟悉 VB 程序设计语言的开发环境,能调试简单的 VB 程序。 2、方法与过程 本节涉及到基础知识较多,所以要一个一个问题解决,从一个简单 的求圆的面积的程序入手,从中分析 VB 程序一般包括的四部分,基本数据类型、常量与变量,运算符、函数和表达式,而且结合练习来加强对这些新知识的巩固。通过介绍 VB

30、 程序的开发环境中的菜单、常用工具和常用窗口等,再通过上机操作运行一个程序,让学生更容易上手。 3、情感态度和价值观 这一节是学习 VB 程序的重要的入门课,授课时要注意结合学生的思路,逐个问题解决,不可一蹴而就。 二、重点难点 1、教学重点 ( 1) VB 常用的的基本数据类型,常量与变量,运算符和表达式 ( 2) VB 程序的开发环境 2、教学难点 把 本节的内容加以运用 三 、教学过程 ( 3 课时) 导入: 以下是一个 “求半径为 r 的圆的面积 ”的程序,请你注意观察程序的组成结构及其功能,并思考如下的问题: ( 1)程序有多少行,每一行的作用是什么? ( 2)如果按语句的作用区分,

31、这个程序包含几个部分? Private sub command1_click() 定义名为 command1_click()的事件过程 Const pi as single=3.14 说明程序中 pi 是常量 Dim r as single,s as single 定义半径 r 和面积 s 为单精度实型 r=inputbox(“r=”,”请输入半径 ”) 输入 r 的值 s=pi*r*r 把表达式 pi*r*r 的值赋给 s print “圆的面积 s=”;s 把 s 的值输出到当前的窗体上 17 End sub 过程结束 考察上述程序,我们容易看到:程序共有代码 7 行,每一行都是 VB 的

32、一个语句, VB 的程序就是由这样的一组 语句组成。每一个语句都是按照一定的规则书写的。 总结上述分析,我们可以得到 VB 程序的一般包括如下部分: ( 1) 数据类型说明部分 ( 2) 数据的输入部分 ( 3) 数据的处理部分 ( 4) 数据的输出部分 一、基本数据类型 描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的集合称为数据。数据既是计算机程序处理的对象,也是运算产生的结果。 为了更好地处理各种数据, VB 定义了多种数据的类型。基本数据类型是系统预先定义的数据类型,表 2-1 中列出了 VB 定义的常用的 基本数据类型。 例如在上述的程序中,既有单精度实型数的

33、数据(如 3.14 等),也有字符类型的数据,如“输入半18 径”、“圆的面积 S=”。 二、常量与变量 ( 1)常量 常量是指在程序运行过程中始终保持不变的常量、字符串等。例如在上述的程序中, 3.14、“ r=”、“输入半径”等都是常量。 在程序设计中,以于一些经常使用的常量,可以用常量说明语句来定义。这样可以提高程序的可读性和可维护性。 常量说明语句的格式是: Const 常量名 As 类型 = 表达式 在上述程序中,第 2 行就是一个常量说明语句,说明程序中需要使用的常量。 ( 2)变量 在程序处理数据时,对于输入的数据、参加运算的数据、运行结果等临时数据,通常把它们暂时存储在计算机的

34、内存中。变量就是命名的内存单元位置。在 VB 中,变量名必须是由英文字母开头,后面则可以由字母、数字或其它符号组成;变量的名称最好与它所表示的内容意义相同的英文单词来确定。 ( 3)变量说明 使用变量前,一般应先说明变量名及其类 型,以使系统为其分配存储单元,变量说明语句格式如下: Dim 变量 As 类型 如 Dim r as single,定义半径 r 为单精度实型 三、 运算符、函数和表达式 ( 1)运算符 运算符是对数据进行加工的过程。描述各种不同运算的符号称为运算符,参与运算的数据称为操作数。在 VB 中,常用的运算符有算术运算符、字符串运算符和逻辑运算符等。 算术运算符有: 运算符

35、号 + - * / MOD 含义 加号 减号 乘号 除号 乘方 整除 取余数 算术运算符的运算规则和数学中相同 ,如果意义不明确时 ,可以加上括号使其看起来更明白。 VB 中只使用一种括号“()”,它可以多次嵌套。 字符串运算符有: s 把 s 的值输出到 当前的窗体上 End sub 过程结束 二、赋值语句 在上述的程序中, r=inputbox(“r=”,”请输入半径 ”), s=pi*r*r 的含义分别是将赋值号右边的函数inputbox(“r=”,”请输入半径 ”)的值赋给变量 r, 将赋值号右边的表达式 pi*r*r 的值赋给变量 s。它们的作用都是将表达式的值赋给左边的变量,这种语

36、句称为赋值语句。 赋值语句的基本格式是: 变量 =表达式 这里的“ =”是赋值符号,它的含义是将表达式的值赋给左边的变量。 观察下列赋值语句的作用: ( 1) A=B,它是将变量 B 的值赋给变量 A,但 B 的值并未改变。 ( 2) A=123 表示将数值 123 赋给变量 A。 ( 3) A=A+10 表示将变量 A 的值加 10 后,再赋给变量 A。如果原来 A 的值为 30,则执行此语句后, A 的值为 40。 ( 4) 如果 A=30, B=40,则依次执行语句 T=A, A=B, B=T 后, A、 B 两个变量的值发生交换 A=40, B=30。 三、输入数据的函数 Inputb

37、ox()是提供从键盘输入数据的函数,利用它可产生一个对话框,提示用户 输入数据并单击命令按钮。该函数返回值是字符类型。利用这个函数,上述程序中的 r=inputbox(“r=”,”请输入半径 ”),所以在程序运行时,从键盘上输入数据赋值给变量 r。 Inputbox()的语法格式为: Inputbox(提示信息,标题,默认值,位置 ) 其中: 提示信息:指对输入数据的提示,显示在对话框中,不能省略。 标题:指运行此函数后弹出的对话框的标题。 默认值:指默认的输入数据值。 位置:指运行此函数后弹出的对话框的左上角在屏幕上的位置与提示信息和标题是用引号引起来的字符串。例如:执行下面的程序运行情况:

38、 Private Sub Command1_Click() 23 A = InputBox(“A=“, “输入 “, 12, 100, 20) End Sub 运行该程序,屏幕上窗口的左上角将位于坐标为( 100, 20)的位置,标题为“输入”,窗口的提示信息为“ A=”,而在输入栏内会出现默认的数据 12。如下图所示: 四、输出数据的方法 Print 是输出数据、文本的一个重要方法。在求圆的面积程序中, print “圆的面积 s=”;s 就是利用 Print 方法将计算出来的圆的面积 s 的值输出到窗体上。 Print 方法输出数据的基本格式是: Print 输出内容 在这里,输出内容可以

39、是数、变量、表达式,也可以是用引号括起来的字符串。 说明: ( 1)如果输出的内容是数、变量、表达式,则输出的是数、变量、表达式的值。如果是引号引起来的字符串,则原样输出。 例如:语句 Print 3 的结果为 3 语句 Print 2+2 的结果为 4 语句 Print “你好” 的结果为 你好 ( 2)输出内容可以是一个或多个。如果是多个输出内容,则各输出内容之间可以用逗号或分号分隔;如果用分号,则后面一个输出内容紧跟前一个输出;如果是逗号,则按照分区格式输出。 例如: A=5, B=3 Print “ A=”; A,“ B=”; B 输出结果为: A=5 B=3 A=5, B=3 Pri

40、nt “ A=”; A;“ B=”; B 输出结果为: A=5B=3 ( 3)如果输出内容后面没有符号,则 表示下一个 Print 换行输出;如果 Print 中没有输出内容,则表达输出一个空行。 24 例如: A=5, B=3 Print “ A=” ; A Print “ B=” ; B 五、练习 问题 1:已知长方体的长、宽、高,编写一个程序,求长方体的全面积和体积。 ( 1) 分析问题 设长方体的长、宽、高分别为 A、 B、 C,由于长方体的六个面的面积两两对应相等,所以长方体的全面积为: S=2*( A*B+A*C+B*C),体积为: V=A*B*C。 ( 2)设计算法 输入 A、

41、B、 C 的值 计算 S=2*( A*B+A*C+B*C) 计算 V=A*B*C 输出 S, V 的值 ( 3)编写程序 Private sub command1_click() Dim A as single,B as single,C as single,S as single,V as single A=Inputbox(“A=”,”输入 ”) B=Inputbox(“B=”,”输入 ”) C=Inputbox(“C=”,”输入 ”) S=2*( A*B+A*C+B*C) V=A*B*C Print “全面积 S=”; S,“体积 V=”; V ( 4)调式程序 六、小结 在以上的程序中

42、,执行时按语句出现的顺序执。即当执行第一条语句后,必然从第二条语句继续,顺序执行所有的语句,直到执行完最后一条语句为止。像这样的控制结构称为程序的顺序结构。顺序结构的最大特点是在这个结构内按由上到下的的书写顺序执行,它只有一个入口和一个出口。这是一种最简单、最基本的结构。如图 25 五、课外拓展 试编写程序从键盘上输入一个三位数,然后将它反方向输出。例如输入 456,输出应为 654。 26 第 七 课 程序的选择结构 一、教学目标 1、知识与技能 理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句和多种选择语句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。

43、2、方法与过程 本节从简单的问题入手,通过一道求一个数的绝对值的题目,让学生明白条件选取择语句的执行流程及使用方法。进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。 3、情感态度和价值观 程序设计选取的题目都是生活中遇到的例子,加强学生利用本学科解 决日学生活中的问题的意识。 二、重点难点 1、教学重点 ( 1)条件选择语句和多重选择语句的使用 ( 2)程序条件选择结构的执行流程 ( 3)会使用条件语句和多重选择语句编写程序解决简单的应用题 2、教学难点:根据题目写出正确的程序 三 、教学过程 ( 2 课时) 导入: 演示求一个数的绝对值这道题的程序,让学生明

44、白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。 一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执 行流程说明一下,编写的程序与设计的算法是一致的。 程序 2-3 Private sub command1_click() 定义名为 command1_click()的事件过程 Dim A as single 定义求绝对值的数 A 为单精度实型 A=inputbox(“r=”,”请输入半径 ”) 输入 A 的值 If A=0 then 如果 A=0 Print “Y=”;A 输出 A 的值

45、 Else 27 Print “Y=”; A 输出 A 的值 End if End sub 过程结束 二、条件语句 在解决问题的过程中,常常需要对事物进行判断和选择,如上题中,求一个数 A 的绝对值,如果 A=0,则这个数的绝对值为 A,否则为 A。在程序设计中,如何实现判断和选择呢?在上述代码中,有一个用if 开头的语句,这就是条件语句。 (一)条件语句的基本格式是: if 条件 then 语句组 1 else 语句组 2 或 if 条件 then 语句组 1 else 语句组 2 end if 其中,条件是一个逻辑表达式,语句组是一组 VB 的语句。 (二)条件执行语句的执行过程 条件语句

46、的执行过程是:当条件成立时,执行 then 后面的语句组 1,否则执行语句组 2,条件语句的执行流程图如下图所示。 在条件语句的 基本格式中有时可以省略 else 和语句组 2,这时条件语句的执行过程是当条件成立时,执行 then 后面的语句组 1,否则退出条件语句,执行下面的语句。 (三)关系表达式 28 在 程序 2-3 中,程序的第三行是一个条件语句,其中的条件 A=0 表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子。 关系运算符号有: 运算符号 = 含义 等于 大于 大于等于 小于 小于等于 不等于 当关系表式成立时其值为真( Ture) ,当表达式不成立时其值则为

47、假( False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型 逻辑型。逻辑型只有两个可能的值:假( False)和真( Ture)。 关系表达式的值定义如下: ( 1)对数值型的数据比较,是按照数值的大小来进行比较。如 136 的值为真。 ( 2)对其它类型数据的比较,则按照其序号进行比较。如 D B其值为假。 2c+d and a=5 or not c0 or d=2,则 y=1.5*x*0.8,否则 y=1.5*x。 ( 2)设计算法 输入 x 的值 如果 x=2,则 y=1.5*x*0.8 否则 y=1.5*x 输出 y 的值 ( 3)编写程序 Private

48、sub command1_click() Dim x as single x=Inputbox(“请输入购买苹果的重量” ) if x=2 then y=1.5*x*0.8 else y=1.5*x end if Print “应付款”; y;“元” ( 4)调式程序 五、多重选择语句 问题 2:输入一个成绩,如果 90 分以上,则输出“优秀”; 80-89,则输出“良好”; 70-79,则输出“中等”; 60-69,则输出“及格”; 60 分以下则输出“不及格”,请编写程序。 如果这道题使用 if 语句来编写程序的话,程序如下: 程序 2-4 Private sub command_click() X=inputbox(“请输入一个分数 ”) If X=90 then print”优秀 ” If X=80 and X=70 and X=60 and X69 then print”及格 ” 30 If X 60 then print”不及格 ” End sub 在程序 2-4 中,使用了 5 个 if 语句来处理 5 种情况。这样的程序在可读性和效率方面都是比较差的,如果再多一些情况,它的缺陷就会暴露得更加明显,如何处理这个问题呢? (一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 小学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1