高中信息技术22程序的顺序结构教学设计学情分析教材分析课后反思.docx
《高中信息技术22程序的顺序结构教学设计学情分析教材分析课后反思.docx》由会员分享,可在线阅读,更多相关《高中信息技术22程序的顺序结构教学设计学情分析教材分析课后反思.docx(23页珍藏版)》请在冰豆网上搜索。
![高中信息技术22程序的顺序结构教学设计学情分析教材分析课后反思.docx](https://file1.bdocx.com/fileroot1/2022-10/17/5b0d1590-e696-4639-b0e0-c1dd40480821/5b0d1590-e696-4639-b0e0-c1dd404808211.gif)
高中信息技术22程序的顺序结构教学设计学情分析教材分析课后反思
《2.2程序的顺序结构》
一、教材分析
粤教版《算法与程序设计》(选修1)第二章第二节《程序的顺序结构》主要介绍了如何使用顺序控制结构解决现实中简单的问题的思维过程,讲述了利用赋值语句和输入语句功能将外界数据输入程序内部并保存的方法,讲述了输出语句的功能用法。
涵盖了变量存储及引用的特点、数据类型转换的方法、不同数据类型数据输出特点、数据输出格式控制、整除运算等知识点。
本节的作用和地位
通过本节的学习,让学生掌握VB语言中的赋值语句和输入输出语句,学会使用程序设计语言实现顺序控制结构,解决简单的问题,并初步掌握调试、运行程序的方法。
本节课在整个程序设计的学习过程中起到一个承前启后的作用,“前”是对语句、语法使用的深化认识,“后”是指程本节内容为后续选择结构、循环结构的学习打下了基础。
二、学情分析
本课的学习对象是高一年级学生,在本节课前,他们已经接触了VB程序设计语言的部分内容,对VB程序的编辑界面和程序代码都不陌生,已经消除了对程序设计的神秘感。
他们现阶段具备的逻辑思维、分析问题、表达思想等能力及掌握的数学知识已经能够支撑起其对程序代码寓意的理解。
同时,在本节内容前学生已学习了VB程序设计环境、变量、赋值语句、算术表达式等知识已经为本节内容奠定了基础。
这样一来,掌握本节的知识难度相对不大。
由于本模块前期内容侧重于知识及思路方面内容的传授,学生没有亲历程序的设计过程,而本节内容是学生第一个规划设计的程序,在设计过程中容易陷入迷茫,无所适从,无从下手,故此在授课过程中应注重对学生思路的引导,加强对设计环节中细节的把握。
三、教学目标
1、知识与技能:
①、了解顺序结构程序的特点,掌握程序设计的基本思路
②、理解VB语言中赋值语句和输入输出语句的功能和格式。
③、能够编写简单的顺序结构的程序,以解决生活中的一些计算问题
2、过程与方法:
本节采用“任务驱动教学法”,从“测量不可抵达物体高度”问题入手,引导学生体验程序的设计过程,在过程中渗透赋值语句和输入输出语句的学习,通过调试、单步运行程序的操作让学生了解顺序结构的特点。
通过解决问题的思路让学生明了解析法的思路。
通过观察分析运行结果让学生认识到数据需划分类型的必要性,通过表达式的设计让学生体验智慧的魅力,激发参与的兴趣。
3、情感态度与价值观:
①、培养学生初步的程序设计思维,形成辩证思想的模式。
②、培养学生发现问题、思考问题和解决问题的习惯,树立策略优化的意识。
。
四、教学重点和难点
(1)重点:
VB语言中的赋值语句和输入输出语句的功能与格式。
(2)难点:
1、变量赋值的特点
2、Inputbox()函数返回数据的数据类型
五、教学方法
任务驱动法、诱思导学法、实践探究法、类比推理法
六、教学准备
1、多媒体网络教室;2、LearnSite网络教学平台;3、VB6.0软件;4、自制的教学课件
七、教学时间
1课时
八、教学过程
环节
名称
用时
教学设计
设计
意图
导入
2分钟
师:
在前几次的课程中我们了解了关与程序设计的一些知识,但是我们还没有机会亲手编写一个完整的程序,今天这节课我们就一起来实现这个目标。
请大家观看屏幕上的图片,(稍顿)知道这是哪座建筑物吧?
生:
埃及金字塔
师:
是的,金字塔。
假设现在我就在这座金字塔附近,我想知道这座金字塔的高度,咱们同学们有没有办法帮我精确地测出它的高度来?
生:
……
师:
刚才的方法基本上都不完善,要么得到的结果不精确,不符合需要,要么方法不具备可行性,其主要原因是金字塔底部的测量点我们无法到达。
这节课我给同学们介绍一种测量不可抵达物体的高度的方法
建立
情境
引出
问题
需求
呈现
问题
中数
学关
系的
形成
过程
展现
算法
步骤
的形
成过
程
6分钟
(PPT按逻辑顺序展示测量不可抵达物体的高度的理论依据:
)
在水平面上选取一条与N点处在同一直线的线段AB作为基线,AM与AN之间的夹角为仰角α,BM与BN之间的夹角为仰角β,AB长度a、AM与AN之间的夹角α和BM与BN之间夹角β都可以通过测量得到。
师:
借助这三个量,我们如何能把MN的值求出来?
大家彼此讨论一下
生:
(讨论)
师:
稍停,哪位同学来分享一下自己的思路?
生:
........
师:
这位同学的思路很准确,总结一下他的思路,大致是这样
师:
通过同学们的努力,我们得到了一个核心公式:
MN=a/(1/tanβ-1/tanα)。
师:
这样一来,一个具体的现实问题就转化成了一个单纯的数学问题。
刚才我们进行的就是程序设计过程中的分析问题的环节
师:
从过往的学习经历中我们了解的程序设计的一般过程是哪几步?
生:
...
师:
既然编程方向有了,分析问题过程已完成,下一步我们该设计算法了
师:
我们需要的结果要从这个关系式得出,使用这个式子时需要我们首先明确哪些值?
生:
确定两个仰角和一条线段的值
师:
这是第一个步骤,第二步呢?
生:
将值代入刚才的公式进行计算
师:
第三步呢?
生:
……
师:
在现实中,到了第二步就应该结束了,但在编程中则不行,因为经过计算得到的结果还存在计算机内部,我们看不到,还需要让计算机把结果显示出来。
所以第三步是输出结果。
师:
这样我们就可以确定了解决这个问题的算法了。
1、输入基线a的长度和仰角α、β的值
2、计算1/tanβ、1/tanα
3、计算MN的值
4、输出结果
呈现
具体
问题
转化
数学
问题
过程
为解
析法
概念
的形
成埋
下伏
笔
回顾
知识
引导
编写
代码
思路
4分钟
师:
算法确定后,我们就该进行程序设计过程的第三个环节了-编写程序了。
过往的课程中我们没有编过程序,该如何入手呢?
在这我们不妨借鉴一下上次课的一个案例。
看看程序中有哪些内容需要我们考虑?
师:
既然一个完整的程序分成这四部分,我们编只要逐一做好数据的说明输入、处理计算以及输出工作就可以了。
首先根据关系式我们来看这个问题中有哪些量需要说明?
生:
基线a的长度和仰角α、β的值。
师:
这些值只是初始值,中间的两个余切值和最后的结果值不用说明吗?
生:
用
师:
所以我们要进行说明的量共有六个,请看常量和变量的说明语句。
通过语句格式可知:
常量、变量说明的工作不仅要定义它们的名称,还要指明其数据类型及值。
现在用A、J1、J2、COT1、COT2、MN这六个变量来存放上面六个量的值。
根据它们的取值范围,这六个变量的数据类型都应该为单精度类型。
在此提醒一句,由于正切函数中参数用到的是弧度值,计算弧度要用Π值,而Π值为定值,所以最终要声明的量是七个:
六个变量,一个常量。
展现数据说明部分代码
回顾
借鉴
上节
知识
知旧
引新
形成
数据
说明
代码
自主
学习
赋值
语句
6分钟
数据说明部分完成后,下面就该处理数据的输入和处理了。
任务1:
赋值语句
师:
登录LearnSite学习网站,进入我的学案。
点击学案“程序的顺序结构”处的链接。
在学案界面按照提示进行操作。
生:
(自主学习)……
师:
好了,请抬起头来。
通过刚才的学习,我们发现了变量赋值的一些特点,让我们一起来看看变量赋值有哪些特性。
师:
1、变量中的值被引用后,其值保持不变
2、变量被重新赋值后,其总保持最后一次被赋予的值
实际不给变量赋值以及引用变量值的状况类似于我们生活中常见的印章的使用,赋值=》空白印章上刻字,值的引用=》盖印,重新赋值=>重新刻字。
通过刚才的学习,我们应该意识到时赋值语句在给变量赋值的同时,还具备数值计算功能,计算功能仅能完成数据的处理工作,我们还学习输入数据的语句。
利用
互联
网+
技术
进行
高效
学习
为
形成
数据
输出
代码
铺垫
自主
学习
输入
函数
10分钟
任务2:
输入数据的函数inputbox
师:
点击段落后方的“输入数据的函数inputbox.PPT”链接,将本部分的PPT资源下载,保存至本地磁盘。
用PowerPoint打开,按功能键F5进行播放,进行InputBox()函数的学习。
。
生:
(自主学习)……
师:
好,请抬起头来。
下面我们来看一下在使用InputBox()函数时应该注意的问题。
使用InputBox()函数时就注意的问题:
X=InputBox("提示信息","标题",默认值,坐标位置)
1、如果函数中有缺省内容,对应位置的间隔符","不能缺少!
例:
A=InputBox(“A的值为”,,,300,90)
提示信息标题默认值坐标位置
2、InputBox()函数将接收的数据默认为字符型数据!
例:
Age=InputBox("请输入你的年龄:
","调查",18)
当该语句被执行时,单击“确定”按钮后,Age的值为字符串“18”
观察下面三组代码执行后的结果
思考:
为什么会出现这种现象?
代码1
PrivateSubcommand1_click()
A=InputBox("A=","输入A的值")
B=InputBox("B=","输入B的值")
A=A+B
Print"代码1的结果为";A
EndSub
代码2
PrivateSubcommand1_click()
A=Val(InputBox("A=","输入A的值"))
B=Val(InputBox("B=","输入B的值"))
A=A+B
Print"代码2的结果为";A
EndSub
代码3
PrivateSubcommand1_click()
DimAAsInteger,BAsInteger
A=InputBox("A=","输入A的值")
B=InputBox("B=","输入B的值")
A=A+B
Print"代码3的结果为";A
EndSub
程序运行时:
两次分别输入123,456
在刚才的过程中,我们观察到结果分别为:
123456、579、579,明明输入数据相同,为何会出现两种不同的反馈?
大家互相讨论一下。
对比三组代码,区别在于两处,1、2之间差别是2中使用了VAL()函数。
VAL()函数的功能是将数字符号转化成对应数值,Inputbox()函数返回的是字符串。
代码1、2中给A、B变量赋值时一组赋的是字符串类型,一组赋予的是数值类型。
由此可见当变量没说明进行使用时,其数据类型取决于其第一次赋予的数据。
1、3之间差别是1中变量没说明就直接用了,3中变量是先说明后使用的,正因为第3组代码中变量声明过了,所以当赋给不相符的数据类型时,系统会自动将数据转换成相符的类型。
从而证明,对数据进行说明是有助于避免程序出错。
输入函数和赋值语句有了,数据输入和处理部分的代码也就手到擒来了。
数据输入部分的代码:
A=Inputbox("基线A=","输入基线A的长度")
J1=Inputbox("仰角α=","输入仰角α的弧度值")
J2=Inputbox("仰角β=","输入仰角β的弧度值")
数据处理部分的代码:
Cot1=1/Tan(J1*Pi/180)
Cot2=1/Tan(J2*Pi/180)
Mn=A/(Cot2-Cot1)
利用
互联
网+
技术
进行
高效
学习
形成
数据
输入
处理
代码
自主
学习
输出
语句
3分钟
下面我们来看如何将数据进行输出。
任务3:
输出语句print
师:
点击段落后方的“输出语句print.PPT”链接,将本部分的PPT资源下载,保存至本地磁盘。
用PowerPoint打开,