1、 1 算法与程序设计 教案 1-1节 计算机解决问题的过程 一、 教学目标 1、 知识与技能 ( 1) 让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 ( 2) 让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 ( 3) 让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、 方法与过程 ( 1) 培养学生发现旧知识的规律、方法和步骤,并把它 运用到新知识中去的能力。 ( 2) 培养学生调试程序的能力。 ( 3) 培养学生合作、讨论、观摩、交流和自主学习的能力。 3、 情感态度和价值观
2、 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、 重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、 教学环境 1、 教材 处理 教学内容选用中华人民共和国教育部制订的普通高中技术课程标准( 2003 年 4 月版)中信息技术部分的选修模块 1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。 教材选用广东省普通高中信息技术选修一:算法与程序设计第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设
3、。 根据 2003 年 4 月版普通高中技术课程标准的阐述,“算法与程序设计”是普通高中信息技术的选修模块之 1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操 作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动 Visual Basic 程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本
4、过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题 、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、 预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、 硬件要求 2 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备计算机解决问题的过程教学活动表。 4、 所需软件 学生机要安装 V
5、B6.0 或以上版本。 5、 所需课时 2 课时( 100 分钟) 四、 教学过程 (一)引入 教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:” 学生观看约 1 分钟的电视剧汉刘邦片断,内容大致如下: “韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多 多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。” 片断结束时屏幕出
6、现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每 3 人一列余 1 人、 5 人一列余 2 人、 7 人一列余 4 人、 13 人一列余 6 人。刘邦茫然而不知其数。你呢?” (二)问题 教师:“下面我们先助刘邦解决一个简单的问题。” 展示题目: “韩信点兵”问题 1:求整除 3 余 1、整除 5 余 2、整除 7 余 4 的最小自然数。 (三)探究 把全班分成 16 个学习小组,每个小组 的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。
7、如下: 探究问题记录表 分析问题 (找出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 结果 给 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,这就是题目要求的数,则记下这个 X。 3
8、、令 X 为 X+1(为算下一个作准备)。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 3 教师解释第 3 步“另 X 为 X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。 教师:“刚才有些同学把题目解出来了,答案是 67,韩信作为大将军,统率士兵当然不止67 人,下 面我们来解决一个数据量稍大的问题。” 展示题目: “韩信点兵”问题 2:求整除 3 余 1、整除 5 余 2、整除 7 余 4、整除 13 余 6、整除 17 余 8的最小自然数。 给 2 分钟学生分析上述问题并写出算法,不用计算。学生有了第 1 题的经验,很快会写出和第一题类似的算法。如下: 分
9、析问题 (找出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 设所求的数为 X,则 X 应满足: X 整除 3 余 1 X 整除 5 余 2 X 整除 7 余 4 X 整除 13 余 6 X 整除 17 余 8 1、令 X 为 1。 2、如果 X 整除 3 余 1, X 整除 5 余 2, X 整除 7 余 4, X 整除 13 余 6, X 整除 17 余 8,则记下这个 X。 3、令 X 为 X+1。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 教师:“上面的结果超过 1 万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题) (四)用计算机解决问题 教
10、师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。 教师:“用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂 ,必须翻译成计算机的语言,这就是程序设计语言。” 教师展示与用 Visual Basic 语言编写的程序作对照。简单解释变 Y 的作用,并提示学生程序设计语言是我们以后学习的重点。 本例用 Visual Basic 语言编写的程序请看教材如下: Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1
11、: 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 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y 0 4 Print “韩信统御士兵数: “; Y End Sub 教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。” (五 )观摩 根据前面编制的程序,启动 Visual Basic 程序设计环境,输入程序代码,进行调试,最后得
12、到运行的结果。具体操作步骤请看教材(第 4、 5 页)。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。 教师演示操作步骤。 学生上机调试程序,教师作个别指导,时间是 10 分钟。 操作时有些学生很快完成,有些学生则很慢,解决案是布置操作快的同学阅读教材并完成计算机解决问题的过程教学活动表中的填空题。较慢的同学在他们调试了约 8 分钟后告诉他们可以通过网上邻居下载程序。以便能在 10 分钟内 调试出程序。 (六)交流 教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记
13、录在计算机解决问题的过程教学活动表的“讨论记录”表中。如下: 关于求解问题的方式讨论记录 求解问题的方式 相同点 不同点 人工求解问题 用计算机求解问题 教师提问 23 个小组的讨论结果,并引导出大致如下的形式结果: 求解问题的方式 相同点 不同点 人工求解问题 分析问题、设计算法、得出结果、验算结果等 对题目进行解答、运算速度慢、不需要计算机等 用计算机求解问题 编写程序、调试程序、运算速度快等 五、 课外拓展 相关资源 技术课程标准介绍: http:/ 东莞中学信息技术网: http:/ 普通高中技术课程网: http:/ 1-2节 1-2 节 算法和算法的描述 一、 教学目标 1、 知识
14、与技能 ( 1) 了解算法的定义及其表达方法; ( 2) 认知流程图的 六种基本符号; ( 3) 理解计算机解决问题的一般过程。 2、 方法与过程 ( 1) 理解用不同的表达方法描述算法的优缺点; ( 2) 掌握用流程图描述简单的算法。 3、 情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、 重点难点 5 (一)教学重点 1、 算法的定义; 2、 算法的三种表达方法; 3、 流程图的六种基本符号; 4、 用流程图描述简单的算法。 (二)教学难点 5、 算法的描述(三种); 6、 用流程图描述算法。 三、教学环境 1、教材处理 通过物理学中的实例了解算
15、法的概念和算法的描述方法掌握用计算机解决实际问题的一般步骤。用多媒体教学网开展教学;用“先自主探究,后教学指导”的方法进行教学。 2、预备知识 学生已掌握了用计算机解决问题的过程,掌握了计算机运用基础。 3、硬件要求 建议本节课在多媒体电 脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。 4、所需软件 学生机要安装 VB6.0 或以上版本。 5、所需课时: 2 课时( 100 分钟) 四、教学过程 教学内容 预期目标 新课内容: 一、对算法的初步了解 1一个简单的物理问题: 书中例 6-1-1:求物体在恒力作用下的加速度。 根据在物理课中学过的知识,要解决这个问题有
16、多种方法: 方法一: a) 测量出物体的质量 m、拉力 F 和滑动摩擦力 f b) 将测量所得的数据输入计算机 c) 根据牛顿第二定律 F-f=m*a, 计算出加速度 a d) 输出所得的结果 方法二: a) 测量出物体从静止开始移动的距离 s、时间 t b) 将测量所得的数据输入计算机 c) 利用公式: s=a*t*t/2 计算出加速度 a d) 输出所得的结果 2算法的定义 这种为解决某一问题而设计的确定的有限的步骤称为算法。 二、算法的描述 要把解决问题的步骤表达出来,有多种方法可以表达算法。 1用自然语言表达 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。
17、 引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念 引导出算法的概念 6 优点:容易理解 缺点:书写较烦、不确定性、 对复杂的问题难以表达准确、不能被计算机识别和执行 2用图形符号表达 用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。 常用的“流程图”所用的基本符号 图形符号 符号名称 说明 流线 起始、终止框 表示算法的开始或结束 起始框: 一流出线 终止框: 一流入线 输入、输出框 框中标明输入、输出的内容 只有一流入线和一流出线 处理框 框中标明进行什么处理 只有一流入线和一流出线 判定框 框中标明判定条件并在框外标明判定后的两种结果的流向 一流入线两流出线
18、( T 和 F )但同时 只能一流出线起作用 流线 表示从某一框到另一框的流向 连接圈 表示算法流向出口或入口连接点 一条流线 优点:直观、形象 缺点:不能被计算机识别和执行 例 6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。 介绍三种算法的表达方式,并对它们进行比较,分析优缺点。 给出流程图的基本符号,对其功能和使用情况加以说明,以便今后在具体运用中的正确使用。 给出流程图的作法,通过详细的解释说明使学生初步掌握流程图的使用和基本画法。 开始 M=m F1=F F2=f a=( F1-F2) /M 输出 a 结束 7 3用程序实现算法 用计算机能理解和执行的程序设计语言把算法表示
19、出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。 不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程 序也有差异。 因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。 例:用 Pascal 语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下: Program ex_aver Var I:integer;x,av:real; Begin Av:=0;I:=0; Do while not eof() Begin Readln(x); av:=av+x; I:=I+1; End av:=a
20、v/I; Writenln(“The average value is :”,av); End 三、用计算机解决问题的一般过程 使用计算机解决一个问题,一般包括四个过程 1需求分析 “需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。 “需求分析”就是确定要计算机“做什么”。 2设计算法 弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做” 解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的算法可能不止一种。这是,应该通过分析、比较、挑选一种最优的算法。 3编写程序 计算机只能接
21、受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。 4上机调试与维护 编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。了解计算机解决问题的一般过程,为今后用编程解决实际问题 打下基础。 8 这个过程称为“上机调试”。 即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。 在实际解决问题时,上述四个步骤可能会根 据不同的问题有所侧重。 五、课外拓展 1
22、、相关资源 东莞中学信息技术网: http:/ 普通高中技术课程网: http:/ 2、课外练习 小明是小学一年级学生,请你为 他设计一个小程序,专门用来练习加法运算。具体讲就是让计算机产生两个整数并组成加法竖式,再从键盘输入一个结果数,最后让计算机来判断结果是否正确。 1-3 程序与程序设计语言 一、教学目标 1、知识与技能 使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。 2、过程与方法 使学生初步体验编程乐趣,了解如何编辑程序、编译程序和连接程序。 3、情感态度与价值观 让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的
23、魅力,从而培养学生学习编程的兴趣。 二、 重点难点 ( 1) 重点:了解代码所包含的算法思想; ( 2) 难点:计算机是如何编辑程序、编译程序和连接程序的。 三、 教学环境 1、教材处理 上一节课学习了三种描述算法的方法,但这三种算法计算机无法识别,必须编写程序代码,方可实现用计算机解决问题。本节课将学习用 VB 编写“韩信点兵”问题的算法,然后同学们通过自主学习,认识一下 VB 程序设计方面的知识。 2、预备知识 学生已掌握了用计算机解决问题的过程,并对算法及其作用有初步的认识。 3、硬件要求 建议本节课在多媒体电脑教 室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。
24、 4、所需软件 学生机要安装 VB6.0 或以上版本。 5、所需课时 2 课时( 100 分钟) 四、 教学过程 正课讲解 (一) 尝试用 VB 编写程序 1、 么是 VB? 9 VB 是一种基本 BASIC 语言的可视化程序开发工具。 2、 编写程序 从桌面上启动 VB,弹出“新建工程”对话框,从“新建”页面中选“标准 EXE”,然后“打开“按钮,建立”标准 EXE 工程。 注:为了避免打开时总是出现“新建工程”对话框,在首次启 动时,勾选“不再显示这个对话框”。 单击工具箱“ CommandButton”的按钮,在 Form1 窗体中拖出一个“ Command1”按钮。 Command1
25、是命令按钮,它有 6 个属性、 2 个事件和 4 个方法。 属性 Caption 标题 Default 决定窗体的默认命令按钮 Enabled 决定对象是否响应用户生成事件 Style 控件的外观 Visible 决定对象是否可见 Picture 显示的图形 事件 方法 Click 单击 Drag 拖动 Refresh 刷新 KeyPress 字符键被单击 Move 移动 SetFocus 设置焦点,将当前焦点强制设置到文本框对象上 选中此按钮,从属性窗口中将 Caption 改为“韩信点兵”。 给按钮添加代码,在 Private Sub Command1_Click()和 End Sub 之
26、间添加代码: Dim N As Integer 声明 N 为整型 N=1 赋初始值 Do(N mod 3=2) and(N mod 5=3) and (N mod 7=2) Then 满足条件打印 N,不满足继续循环 Print N Exit do End if N=N+1 Loop 从“运行”菜单中“单击”启动命令,运行程序。运行后,单击“韩信点兵”按钮。 注:运行时,不能修改程序代码。 实践题:从“调试”菜单中点击“逐语句”命令( F8),然后按 F8 键试着单步运行程序,观察代码是如何运行的,程序执行注释部分吗?在程序运行的过程中,用鼠标指向变量N,看看它的值有什么变化,为什么会这样变?
27、 (二) 算法、程序设计与程序设计语言之间的关系 算法 提出问题:什么是算法?算法有哪些特征? 程序设计 寻求解决问题的方法,并将其实现步骤写成计算机可执行的程序的过程。 程序设计语言 泛指一切用于书写计算机程序的语言。 算法是程序设计的前提,它包含方法和步骤; 程序是实现算法中的思想的过程; 10 程序设计语言把算法转化为计算机认识的语言。 (三) 认识程序设计语言 1、 发展过程 机器语言:由一串“ 0”和“ 1”构成二进制代码。 汇编语言:是一种符号化(英文助记符)的机器语言。 高级语言:如 Basic、 C/C+、 Fortran、 Pascal、 Cobol、 Java 等。 2、分
28、类(按转换方式不同分类) 编译型语言 解释型语言 编写的源程序需要用编译程序先翻译成机器语言的目标程序,然后再由连接装配程序进行连接装配,生成可执行程序,这样才能被计算机执行。 源程序输入计算机后,运行源程序,相应的解释程序会逐条分析源程序中的语句,每解释一句由计算机执行一句。 C/C+ 、 VB 、 Pascal 、 Cobol Qbasic 、 Lisp 3、编辑程序、编译程序和连接程序 编辑程序 包含内容:一是将源程序逐 个字符输入到计算机内存,二是修改源程序,三将修改好的源程序保存在磁盘文件中。 编译程序:将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。 二进制代码在
29、UNIX 下后缀为“ .o”的文件,在 DOS 下是后缀为“ .obj”文件。 连接:将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有有绝对地址的可执行文件,它是计算机直接执行的文件。 在 UNIX 下它以“ .out”为后缀,在 MS-DOS 以下“ .exe”为后缀。 执行过程: 五、 课外拓展 1、相关资源 东莞中学信息技术网: http:/ 普通高中技术课程网: http:/ 2、课外练习 写出“求 100 以内能被 3 整除的数”的算法,并试编写程序。 2-1节 VB 语言及程序开发环境 一、 教学目标 1、 知识与技能 掌握 VB 定义的常用的基本数据类型,常量与变量的
30、定义方法,运算符、函数和表达式的描述。熟悉 VB 程序设计语言的开发环境,能调试简单的 VB 程序。 2、 方法与过程 本节涉及到基础知识较多,所以要一个一个问题解决,从一个简单的求圆的面积的程序入手,从中分析 VB 程序一般包括的四部分,基本数据类型、常量与变量,运算符、函数和表达式,而且结合练习来加强对这些新知识的巩固。通过介绍 VB 程序的开发环境中的菜单、常用工具和常用窗口等,再通过上机操作运行一个程序,让学生更容易上手。 11 3、 情感态度和价值观 这一节是学习 VB 程序的重要的入门课,授课时要注意结合学生的思路,逐个问题解决,不可一蹴而就。 二、 重点难点 1、 教学重点 (
31、1) VB 常用的的基本数据类型,常量与变量,运算符和表达式 ( 2) VB 程序 的开发环境 2、 教学难点 把本节的内容加以运用 三、 教学环境 1、 教材处理 教材选自广东省普通高中信息技术选修一:算法与程序设计第二章第一节,教材的内容编排合理,导入的方式也很好,而且能结合练习,所以直接使用教材的内容,不作修改。练习的题量可以适当地增加。 2、 预备知识 学生已掌握使用计算机解决问题的四个步骤 分析问题、建立模型、设计算法和编写程序。 3、 硬件要求: 建议本节课在多媒体电脑 教室中完成,有广播教学系统或投影仪。 4、 所需软件:学生机要安装 VB6.0 或以上版本。 5、 所需课时:
32、2 课时( 100 分钟) 四、 教学过程 导入: 以下是一个 “求半径为 r 的圆的面积 ”的程序,请你注意观察程序的组成结构及其功能,并思考如下的问题: ( 1)程序有多少行,每一行的作用是什么? ( 2)如果按语句的作用区分,这个程序包含几个部分? 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
33、的值 s=pi*r*r 把表达式 pi*r*r 的值赋给 s print “圆的面积 s=”;s 把 s 的值输出到当前的窗体上 End sub 过程结束 考察上述程序,我们容易看到:程序共有代码 7 行,每一行都是 VB 的一个语句, VB 的程序就是由这样的一组语句组成。每一个语句都是按照一定的规则书写的。 总结上述分析,我们可以得到 VB 程序的一般包括如下部分: ( 1) 数据类型说明部分 ( 2) 数据的输入部分 ( 3) 数据的处理部分 ( 4) 数据的输出部分 一、基本数据类型 描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的集合称为数据。数据既是计算机程
34、序处 理的对象,也是运算产生的结果。 12 为了更好地处理各种数据, VB 定义了多种数据的类型。基本数据类型是系统预先定义的数据类型,表 2-1 中列出了 VB 定义的常用的基本数据类型。 例如在上述的程序中,既有单精度实型数的数据(如 3.14 等),也有字符类型的数据,如“输入半径”、“圆的面积 S=”。 二、 常量与变量 ( 1)常量 常量是指在程序运行过程中始终保持不变的常量、字符串等。例如在上述的程序中, 3.14、“ r=”、“输入半径”等都是常量。 在程序设计中,以于一些经常使用的常量,可以用常量说明语句来定义。这样可以提高程序的可读性和可维护性。 常量说明语句的格式是: Co
35、nst 常量名 As 类型 = 表达式 在上述程序中,第 2 行就是一个常量说明语句,说明程序中需要使用的常量。 ( 2)变量 在程序处理数据时,对于输入的数据、参加运算的数据、运行结果等临时数据,通常把它们暂时存储在计算机的内存中。变量就是命名的内存单元位置。在 VB 中,变量名必须是由英文 字母开头,后面则可以由字母、数字或其它符号组成;变量的名称最好与它所表示的内容意义相同的英文单词来确定。 ( 3)变量说明 使用变量前,一般应先说明变量名及其类型,以使系统为其分配存储单元,变量说明语句13 格式如下: Dim 变量 As 类型 如 Dim r as single,定义半径 r 为单精度
36、实型 三、 运算符、函数和表达式 ( 1)运算符 运算符是对数据进行加工的过程。描述各种不同运算的符号称为运算符,参与运算的数据称为操作数。在 VB 中,常用的运算符有算术运算符、字符串运算符和逻辑运算符等。 算术运算符有: 运算符号 + - * / MOD 含义 加号 减号 乘号 除号 乘方 整除 取余数 算术运算符的运算规则和数学中相同 ,如果意义不明确时 ,可以加上括号使其看起来更明白。VB 中只使用一种括号“()”,它可以多次嵌套。 字符串运算符有: s 把 s 的值输出到当前的窗体上 End sub 过程结束 二、 赋值语句 在上述的程序中, r=inputbox(“r=”,”请输入
37、半径 ”), s=pi*r*r 的含义分别是将赋值号右边的函数 inputbox(“r=”,”请输入半径 ”)的值赋给变量 r, 将赋值号右边的表达式 pi*r*r 的值赋给变量 s。17 它们的作用都是将表达式的值赋给左边的变量,这种语句称为赋值语句。 赋值语句的基本格式是: 变量 =表达式 这里的“ =”是赋值符号,它的含义是将表达式的值赋给左边的变量。 观察下列赋值语句的作用: ( 1) A=B,它是将变量 B 的值赋给变量 A,但 B 的值并未改变。 ( 2) A=123 表示将数值 123 赋给变量 A。 ( 3) A=A+10 表示将变量 A 的值加 10 后,再赋给变量 A。如果
38、原来 A 的值为 30,则 执行此语句后, A 的值为 40。 ( 4) 如果 A=30, B=40,则依次执行语句 T=A, A=B, B=T 后, A、 B 两个变量的值发生交换 A=40, B=30。 三、 输入数据的函数 Inputbox()是提供从键盘输入数据的函数,利用它可产生一个对话框,提示用户输入数据并单击命令按钮。该函数返回值是字符类型。利用这个函数,上述程序中的 r=inputbox(“r=”,”请输入半径 ”),所以在程序运行时,从键盘上输入数据赋值给变量 r。 Inputbox()的语法格式为: Inputbox(提示信息,标题,默认值,位置 ) 其中: 提示信息:指对
39、输入数据的提示,显示在对话框中,不能省略。 标题:指运行此函数后弹出的对话框的标题。 默认值:指默认的输入数据值。 位置:指运行此函数后弹出的对话框的左上角在屏幕上的位置与提示信息和标题是用引号引起来的字符串。例如:执行下面的程序运行情况: Private Sub Command1_Click() A = InputBox(“A=“, “输入 “, 12, 100, 20) End Sub 运行该程序,屏幕上窗口的左上角将位于坐标为( 100, 20)的位置,标题为“输入”,窗口的提示信息为“ A=”,而在输入栏内会出现默认的数据 12。如下图所示: 四、 输出数据的方法 Print 是输出数
40、据、文本的一个重要方法。在求圆的面积程序中, print “圆的面积 s=”;s 就是利用 Print 方法将计算出来的圆的面积 s 的值输出到窗体上。 Print 方法输出数据的基本格式是: Print 输出内容 在这里,输出内容可以是数、变量、表达式,也可以是用引号括起来的字符串。 说明: ( 1)如果输出的内容是数、变量、表达式,则输出的是数、变量、表达式的值。如果是引号引起来的字符串,则原样输出。 例如:语句 Print 3 的结果为 3 18 语句 Print 2+2 的结果为 4 语句 Print “你好” 的结果为 你好 ( 2)输出内容可以是一个或多个。如果是多个输出内容,则各
41、输出内容之间可以用逗号或分号分隔;如果用分号,则后面一个输出内容紧跟前一个输出;如果是逗号,则按照 分区格式输出。 例如: A=5, B=3 Print “ A=”; A,“ B=”; B 输出结果为: A=5 B=3 A=5, B=3 Print “ A=”; A;“ B=”; B 输出结果为: A=5B=3 ( 3)如果输出内容后面没有符号,则表示下一个 Print 换行输出;如果 Print 中没有输出内容,则表达输出一个空行。 例如: A=5, B=3 Print “ A=” ; A Print “ B=” ; B 五、 练习 问题 1:已知长方体的长、宽、高,编写一个程序,求长方体的
42、全面积和体积。 ( 1) 分析问题 设长方体的长、宽、高分别为 A、 B、 C,由于长方体的六个面的面积两两对应相等,所以长方体的全面积为: S=2*( A*B+A*C+B*C),体积为: V=A*B*C。 ( 2)设计算法 输入 A、 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=In
43、putbox(“B=”,”输入 ”) C=Inputbox(“C=”,”输入 ”) S=2*( A*B+A*C+B*C) V=A*B*C Print “全面积 S=”; S,“体积 V=”; V ( 4)调式程序 六、 小结 在以上的程序中,执行时按语句出现的 顺序执。即当执行第一条语句后,必然从第二条语句继续,顺序执行所有的语句,直到执行完最后一条语句为止。像这样的控制结构称为程序的顺序结构。顺序结构的最大特点是在这个结构内按由上到下的的书写顺序执行,它只有一个入口和一个出口。这是一种最简单、最基本的结构。如图 19 五、 课外拓展 试编写程序从键盘上输入一个三位数,然后将它反方向输出。例如
44、输入 456,输出应为 654。 2-3节 程序的选择结构 一、 教学目标 1、知识与技能 理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句和多种选择语 句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,通过一道求一个数的绝对值的题目,让学生明白条件选取择语句的执行流程及使用方法。通过一道输入学生分数,判断该分数是属于哪种等级的题目,让学生初步接触多种选择语句的使用。进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。 3、情感态度和价值观 程序设计选取的题目都是生活中遇到的例子,加强学生利
45、用本学科解决日学生活中的问题的意识。 二、 重点难点 1、教 学重点 ( 1)条件选择语句和多重选择语句的使用 ( 2)程序条件选择结构的执行流程 ( 3)会使用条件语句和多重选择语句编写程序解决简单的应用题 2、教学难点:根据题目写出正确的程序 三、教学环境 1、教材处理 教材选自广东省普通高中信息技术选修一:算法与程序设计第二章第三节,原教材的第一个程序例子有关矩形的计算,涉及到解二元一次方程,使用的表达式也较为复杂,授课过程中可能花的时间太多。 20 所以上课时,把教材的导入例子作了的简单的处理,以求一个数的绝对值作为导入,学生更易理解条件语句的执行。至于多种选择语句 ,教材选用一道求恩
46、格尔系数,从而判断生活水平的高低的题目,授新课前,就简单说明一下,再用另一道根据学生分数判断该成绩是属于哪一个等级的题目作为实践,从而与学生的学习更有联系,提高学习兴趣。 2、预备知识:学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤 分析问题、建立模型、设计算法和编写程序。 3、硬件要求: 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件:学生机要安装 VB6.0 或以上版本。 5、所需课时: 2 课时( 100 分钟) 四、教学过程 导入: 演示求一 个数的绝对值这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码
47、,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。 一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。 程序 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 的值 Else Print “Y=”; A 输出 A 的值 End if