1、第 1章 程序设计入门第 1节 程序设计简介(2 课时)【教材内容】1 计算机程序并不神秘1.1什么是程序1.2体验计算机程序2程序设计语言2.1程序设计语言分类2.2解释与编译3程序设计的过程4程序与软件【教学目标】1知识与技能(1)了解程序设计的基本概念和用变成方法解决问题的一般过程(2)了解计算机软件与程序设计的密切关系(3)了解程序设计语言的三种类型(4)掌握 VB环境下编写程序的一般步骤2.过程与方法(1)通过实例让学生体会程序设计的基本过程与方法,理解算法思想,会用自然语言或流程图表达一些具体问题的算法。(2)通过对现实问题的分析与解决,让学生认识到生活中到处是程序,而程序解决的往
2、往就是生活中的现实问题,培养学生利用计算机解决实际问题的能力。3.情感态度与价值观(1)体验程序设计的内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度。(2)通过问题的分析与解决,帮助学生克服程序设计的畏难情绪,培养他们严谨、缜密、科学的程序设计作风。【教学重难点】程序设计的基本概念与学习程序设计的意义。【教学方法】启发式、任务驱动、演示、实例、实践操作【教学过程】程序设计简介第一课时一、问题导入,揭示教学内容大家有没有玩过电脑游戏?有没有同学想过自己设计和编写游戏?游戏就是程序,要想设计、制作游戏,就应该学习“设计程序”。今天我们一起来认识和了解程序,它并不神秘,相反它会给我们带来
3、很多乐趣。二、趣味问题,了解什么是程序问题 1:猎人带着一只狼、一头羊和一些白菜过河,但渡船太小,一次只能带一样。因为(课件展示问题)学生:读题、小组讨论、得出解题思路、方法讲解(自然语言描述、符号描述)问题 2:赵本山、宋丹丹小品,如何把大象关进冰箱学生:方法讲解(自然语言描述、)总结:概括来说程序是有逻辑,有顺序的步骤的组合。开电脑,走路,吃饭,上课都是一系列步骤的有序有逻辑组合。通过这些有序的指令(自然语言、符号语言等)完成了一项具体的工作,这些指令的集合就是程序。问题 3:体验计算机程序利用 BASIC语言编写的“三角形面积”程序(课件展示问题及具体的语句)学生:体验计算机程序语言的简
4、练,理解程序语句的涵义,输入与运行程序。总结:使用计算机能识别的语言来描述的指令,就是计算机程序。三、程序设计语言问题:计算机程序有哪些种类以及他们是怎么执行的?学生:查阅书本和教师提供的资料,完成学习任务。教师:课件展示程序设计语言分类机器语言:二进制代码汇编语言高级语言:根据要求选用不同的高级语言。Basic、foxpro、c、java比较:51+53,用三种语言编写的程序,比较分析三种语言的特点总结:机器语言编写的程序执行效率高,但可读性差;汇编语言用比较容易理解的符号代替机器语言中的二进制,可读性增强;高级语言比较接近自然语言,可读性强,易理解。提问:解释和编译的区别学生:研究问题,回
5、答问题四、课堂总结 师生共同总结回顾:什么是程序,什么是计算机程序、计算机程序语言的种类和执行过程。计算机语言很多,如:Visual Basic、Turbo Pascal、C 语言、C+、Java 等。但是,计算机语言只是一种工具,如果你大脑中没有解题的方法与步骤,光有工具是没有用处的。下节课我们就来重点研究解题的方法和步骤,及其在程序中应用。程序设计简介 第二课时一、复习导入计算机程序语言的种类有哪些?二、联系生活,讲解程序设计过程(过渡)程序设计的过程和平时我们解数学题的过程是一样的。1、解数学题的过程(师生共同总结):2、程序设计的过程请学生完成以下“连连看”:总结: 程序设计的过程为:
6、首先对要解决的问题进行分析,在拟定出一套解决的方法与步骤(确定算法),再选用一种计算机能接受的程序设计语言来描述具体的步骤,最后输入、运行与调试程序。程序设计的好坏取决于 “算法”的好坏。3.实践学习编写计算机半径为 8.5cm圆的周长和面积的程序,体验编写程序的过程。师生共同完成:任务分析(学生)、确定算法(学生)、编写程序(教师为主)、运行调试(教师为主)。三、游戏激趣,了解算法1、玩“猜生日”游戏,说一说你猜的方法游戏规则:两个同学为一组,互相猜对方的生日(不要月份,只要日期。如 12日)。方法一:在 131 中随意选数猜方法二:从大到小逐个猜方法三:从小到大逐个猜方法四:(过渡)刚才大
7、家在解决“猜生日”这个问题时采用了不同的算法,那“猜生日”游戏程序又是如何解决这个问题的呢?2、运行“猜生日”游戏“猜生日”游戏位于“网上邻居”的“teacher”中,请你运行并计算猜的次数。教师进行统计,得出结果:最少 1次,最多 5次。3、“猜生日”游戏的算法,用流程图描述看来该游戏的算法优于大部分同学的算法,那它又是怎么猜大家的生日的呢?假如老师的生日是 12日,计算机猜了哪几个数?假如生日是 27日,计算机又猜了哪几个数?流程图的概念、符号名称、含义(师生共同总结)猜中间数的方法4、算法择优上面的例子让我们可以明白一个好算法必须用到科学的方法,我们在解决问题时应努力找出最简单的方法。四
8、、拓展练习,提升学生兴趣(过渡) 一些复杂问题的解决方法与步骤必须要有全局眼光通盘考虑。请大家开动脑筋,找出解决下列问题的算法。A、一位商人有 9枚银元,其中有 1枚略轻的是假银元。你能设计用天平(不用砝码)将假银元找出来的算法吗?(称量次数越少越好)B、有十箱表壳(每箱装有 10只)。已知其中的 9箱是全钢的(每只重 100克),另一箱是半钢的(每只重 90克),全钢与半钢的外形与颜色一样。要求只称一次,就可将这箱半钢的表壳从 10个箱子中区分出来。学生讨论,找出最优算法五、程序与软件软件是计算机程序、数据和相关文档资料的集合,程序是软件的重要组成部分。用计算机解决问题,首先应该选择合适的计
9、算机软件。当遇到没有合适软件的情况下,就要编写程序来解决问题。讨论学习:“竞赛评分器”程序适用于哪些比赛,比赛规则是怎样的?提出对此程序功能的修改方案。六、总结通过这堂课的学习我们已经学习了程序设计的步骤、算法、软件等知识。希望同学们通过这节课的学习,能去掉对程序的神秘面纱,在以后的学习中能从程序设计中找到乐趣。【教学反思】算法是程序设计的灵魂,也是整个程序设计中难点。为了上好这一堂课,该教学方案注意了以下几点:1、回答了学习的必要性问题“为什么要学习程序设计?学习程序设计能为我们干什么?”这是学生在学习程序设计时经常问老师的问题。如果教师引导不当,就会导致学生没有明确的目标,缺乏学习的动力。
10、2、克服了传统教学的误区以前的教学程序设计教学,在教学内容的编排上,陷入一个误区:过于注重语句、语法等程序设计语言所涉及基本知识的讲解,忽视在构建程序过程中应用于分析、解决问题的一种逻辑思维的训练,忽视对整体知识综合应用能力的训练。在本堂课中,我们抛开语言,从算法的角度来解决实际问题,在问题分析、思考、解决中提高了学生的能力。3、设计注重趣味性、生活化与挑战性程序设计一直是学生最头疼的知识点,如何使枯燥的教学内容变得富有趣味性,让学生学得轻松、有效?这是我们本学期编程教学需要解决的关键问题。在设计时我本着生活化、趣味性与挑战性的原则,进行了尝试。整堂课下来,学生掌握情况良好。所以,一份设计通过
11、反复的思考,老问题解决了,新问题又产生了。这需要我们反复的实践、思考与调整。也许,这就是教学富有魅力的地方了。第 2节 认识 Visual Basic(1 课时)【教材内容】1 Visual Basic 语言2 用 Visual Basic编写程序2.1Visual Basic界面2.2用 VB编写程序【教学目标】1.知识与技能:(1)了解在 Visual Basic中编程的一般过程,掌握常用控件的使用方法。2.过程与方法:(1)在利用 VB编写程序的过程中进一步熟悉 Visual Basic的工作界面。(2)通过例题的演示和探究实践,了解在 VB中编程的一般过程,掌握常用控件的使用。3.情感
12、态度与价值观:(1)逐步养成严谨、科学的程序设计思想。【重点难点】编程的一般过程、控件的使用【教学方法】任务驱动、启发式教学、讲解演示【教学过程】一、课前思考从开始 Visual Basic之路学习者的学习感受开始,增进对 VB的了解,知道程序语言是一种人与计算机的沟通工具,认识到学好 VB的意义,以及明确今后学习 VB的目标和方向。找到和学生有共鸣的语句,拉近学生与 VB的距离,激发学生的学习积极性、主动性,为接下来的学习做好铺垫。二、认识界面教师:引导学生打开 VB程序,新建窗体。学生:自学课件中认识界面,知道界面的组成,然后回答老师对界面组成部分的提问,同时师生共同学习界面的一些基本操作
13、方法,认识常用的控件及其功能,并且尝试控件的拖放及属性设置。教师:工具箱也叫控件箱,控件的名称属性设置要做到“见名知义”、“常用取简”,界面组成窗口的调用方法。教师:引领学生共同认识 Visual Basic的操作界面及使用方法。三、例题演示教师:布置任务求圆面积程序,先以在数学问题中如何计算引出公式,明白编写该程序的目的是简化繁琐的人工计算过程。学生:观看程序界面,明确该程序的操作过程,从而引出本程序的算法分析,明白各控件的使用目的以及控件属性的设置。接着逐个突破计算按钮、结束按钮的代码的输入和代码的含义解读。最后运行程序、调试及保存。演示:演示学生的作品,找出问题,一起探讨解决方法。师生:
14、总结编程的一般过程:建立程序界面设置对象属性输入代码运行与调试程序保存程序。四、探究学习学生:利用课件的提示自主完成参照求圆面积程序构建QQ 登陆的程序界面的任务。师生:学生自主探究,教师巡视机房个别指导。学生:分小组在电子白板上演示编程的四个过程,重点突破图像、图片框控件的选用和操作。师生合作,共同评价作品。五、温故知新师生一起回顾本节课的学习内容,温故知新。回答两个问题:(1)在 VB中编程的一般步骤。(2)总结如何选择合理的控件来满足程序设计的需要。第 2章 程序设计基础【教学目标】1知识与技能(1)了解 VB程序的常量、变量、函数、表达式、语句等基本概念(2)能在 VB环境中编写顺序、
15、选择、和循环三种基本结构组合的程序(3)了解 VB中对象、属性、事件和方法等的概念,体验面向对象程序设计。2过程和方法(1)在编写“孙悟空上织女星”程序的过程中学习 VB程序设计的基础知识,掌握编程的基本方法。(2)针对具体要解决的问题,能合理地组合顺序、选择和循环三种基本结构编写简单的程序。3情感态度与价值观(1)通过趣味 VB程序编写,激发学生对学习程序设计的兴趣。(2)培养学生良好的程序设计的习惯和提高用编程方法解决实际问题的能力。4创新与行为(1)引导学生编写程序时先模仿再改写,在改写程序的过程中培养学生的创新能力。(2)鼓励学生用程序设计的方法来解决实际问题。【教学重难点】1.重点(
16、1)常量、变量、函数、表达式、语句等程序的基本概念。(2)掌握顺序结构、选择结构、循环结构的书写格式及语句的执行过程。(3)根据要解决的实际问题合理地选用顺序、选择和循环结构编写程序。2.难点(1)关系表达式和逻辑表达式的表示及执行结果(2)灵活地选用三个基本结构编写程序解决实际问题。【教学方法】启发式、任务驱动、演示、实例、实践操作第 1节 程序基本知识(4 课时)【教材内容】1 “孙悟空上织女星”程序(1 课时)1.1分析问题与确定算法1.2编写 VB程序2 VB程序的构成(1 课时)2.1 VB常用语句2.2常量、变量、函数2.3表达式3 信息的输入与输出(1 课时)3.1输入信息3.2
17、输出信息4 综合实例(1 课时)【教学过程】第一课时 “孙悟空上织女星”程序一、问题导入物理趣味题:孙悟空一个筋斗可翻十万八千里,即 5.4*10的 4次方千米,织女星距地球 2.3*10的 14次方千米,那么孙悟空要翻多少筋斗才能到达织女星?如果孙悟空每秒翻一个筋斗,那么他要连续不停地翻多少年能到织女星?学生:思考,书写计算过程二、“孙悟空上织女星”程序1分析问题与确定算法(1)教师引领学生一起梳理问题,确定算法一个筋斗的距离:j = 5.4*104km地球与织女星的距离:z = 2.3*1014km一年的秒数:m=365(天)*24(小时)*60(分钟)*60(秒)=31536000(2)
18、学生尝试用流程图完成算法描述2编写 VB程序(1)学生观察程序的界面,说说使用了哪些控件学生回答:1 个 Image图形2个 command命令按钮(2)修改属性学生:参照教材各控件的属性及属性值,修改控件的属性 控件名 属性 属性值Form1 Caption 孙悟空上织女星stretch True 修改图片的大小以适应控件的大小Image1Picture 加载图片Command1 Caption 开始Command2 Caption 结束开始结束(3)输入程序“开始”按钮程序代码 代码含义及功能Rem输入信息 注释语句let j = 5.4*104 将一个筋斗的距离存入变量 j中let z
19、= 2.3*1014 将地球与织女星的距离存入变量 z中let m = 31536000 将一年的秒数存入变量 m中Rem处理信息 注释语句let n = Int(z/j) 计算筋斗数,存入变量 n中let y = Int(n/m) 计算年数,存入变量 y中Rem 输入信息 注释语句Print 换行Print“孙悟空要翻“;n;“个筋斗才能到达织女星!“输出筋斗数Print“ 孙悟空要花“;y;“年才能到达织女星!“输出年数“结束”按钮程序代码 代码含义及功能End 结束(4)运行调试教师:演示学生的程序,发现错误,演示调试方法。强调:(1)英文状态输入程序,标点符号也必须是英文状态下输入,双
20、引号里面的信息除外。(2)单词拼写错误(3)变量的定义(提示,增加学生的印象)(5)保存程序学生:演示,保存窗体,保存工程。三、常用语句 (一)赋值语句 1赋值语句用“ = ”来实现。 2. 表达式: A = B (即把右边的值给左边的变量)A:只能是一个变量,不能是表达式B:可以是常量,变量,表达式3.初始值: 指的是变量被赋值前的值。字符串变量:空串 数值型变量:0逻辑型变量: false任务一:判断下列各式是否正确:(1)intBeginTime=Time() (2) N=N+1 (3) a=a+b+c (4)X= “北京 ” (5) X=Y (6) x-1=x (7)M=1 (8) 1
21、= M (9) -x=1 (10) a=5 b=6 b=b+a a=a+b则: a= _ b=_(二)注释语句 1.功能:为提高程序的可读性,对程序进行必要的注释,但程序运行过程中不执行注释语句。2格式一:在字符 “ 加注释内容 ” (可参考 P22)Eg: r=inputbox(“输入 r:”) 输入半径 r: 格式二:用“Rem 注释内容 ”Eg: rem 计算圆的周长C=2*pi*r(三)结束语句1语法格式:End 2功能:强制程序结束执行,一般用于退出程序。四、总结第二课时 VB 程序的构成教学目标1.知识与技能(1)了解常量、变量、函数等概念。(2)掌握常用函数的使用方法。(3)掌握
22、 VB表达式的书写方法。2.过程与方法(1)在学习编写 VB程序的过程中,建立模块结构化编程思想,养成正确的程序设计习惯。(2)通过对现实问题的分析与解决,让学生认识到生活中到处是程序,而程序解决的往往就是生活中的现实问题,培养学生利用计算机解决实际问题的能力。3.情感态度与价值观(1)体验程序设计的内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度。(2)通过问题的分析与解决,帮助学生克服程序设计的畏难情绪,培养他们严谨、缜密、科学的程序设计作风。教学重难点教学重点(1)常量、变量、函数的概念(2)函数使用方法。(3)VB 表达式的书写方法。教学难点字符运算 a,”b:”;bx=a:
23、a=b:b=xprint “a:”;a,”b:”;bprint “两变量中的值得和为:”;a+bEnd SubPrivate Sub command1_Click()EndEnd Sub10、引导学生保存、调试、运行程序。 保存、调试、运行程序。教学总结本节课的学习,我们主要复习了以下几点:1.函数的使用,特别是 Val()函数。2.赋值语句的使用。3.在使用一个变量前,最好先定义其类型教学反思在教材的第三单元第一节,已经讲述了 VB中的数据类型,以及变量的命名与定义。但在教材的所有示例中,无一使用变量定义。这样会让学生产生错误认识:变量使用之前无需进行变量定义。因此,以后在教学中要注意避免教
24、材给学生带来负面影响。第 2节 程序中的逻辑判断(3 课时)【教材内容】 1 “猜币”程序2 条件语句(1 课时)3 逻辑运算(1 课时)3.1关系表达式3.2逻辑表达式4 综合实例(1 课时)【教学过程】第一课时 “猜币”程序一、导入游戏一:请一学生拿硬币投掷,另一学生猜正背面。游戏二:猜币程序,学生猜。二、“猜币”程序1、分析程序运行“猜币程序”,在文本框中输入“1”(猜正面)或“0”(猜背面),再单击“掷币”命令按钮,计算机就开始“掷币”并判断你是否猜对。2、观察代码,注意用自然语言描述的代码段“掷币”按钮中的程序如下:Private Sub Command1_Click()Rem 定义
25、 x,n 为整型变量Dim x As IntegerDim n As IntegerRem 模拟掷币程序Randomizen = Int(2 * Rnd)Comment 中中中中6: 修改Comment 中中中中7: 图片文件名称最好用英文或拼音名称如果 产生的随机数为 1 那么Image1.Picture = LoadPicture(app.path & “” & “正.gif“)Label2.Caption = “正面“否则Image1.Picture = LoadPicture(app.path & “” & “背.gif“)Label2.Caption = “背面“结束 如果Rem 判
26、断程序x = Val(Text1.Text)如果 输入的数 x与随机长生的数 n相同 那么Label3.Caption = “哈,您猜对了!“否则Label3.Caption = “哈,您猜错了!“结束 如果End Sub思考:哪些语句实现了银币的投掷?3、条件语句运行“猜币”程序后,计算机先随机产生硬币正或背,再判断是否猜对。在程序中,这种判断功能是由条件语句来实现的。条件语句格式:If ThenElse End If另一种格式: If Then Else 当“条件”成立就执行 then 后面的程序段,否则执行 else后面的程序段。4、任务一修改代码:代码段 1:If n = 1 Then
27、Image1.Picture = LoadPicture(“正.gif“)Label2.Caption = “正面“ElseImage1.Picture = LoadPicture(“背.gif“)Label2.Caption = “背面“End If代码段 2:If n = x ThenLabel3.Caption = “哈,您猜对了! “ElseLabel3.Caption = “哈,您猜错了! “End If三、巩固练习练习 1:输入一不等于 0的自然数,如是奇数就显示“奇数”,否则就显示“偶数”。程序段如下:Let x = val(InputBox(“请输入一个自然数“)If x / 2 = Int(x / 2) ThenPrint “偶数“ElsePrint “奇数“End If或Let x = val(InputBox(“请输入一个数“)If x / 2 = Int(x / 2) Then Print “偶数“ Else Print “奇数“练习 2:输入 2个不相同的数,使计算机进行比较并显示大的数。程序如下:Let a = val(InputBox(“请输入第一个数:“)Let b = val(InputBox(“请输入第二个数:“)If a b ThenPrint aElsePrint bEnd If四、总结条件语句的格式