高中信息技术 教材教学指导用书 算法与程序设计 广东版选修1.docx
- 文档编号:28834955
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:64
- 大小:142.23KB
高中信息技术 教材教学指导用书 算法与程序设计 广东版选修1.docx
《高中信息技术 教材教学指导用书 算法与程序设计 广东版选修1.docx》由会员分享,可在线阅读,更多相关《高中信息技术 教材教学指导用书 算法与程序设计 广东版选修1.docx(64页珍藏版)》请在冰豆网上搜索。
高中信息技术教材教学指导用书算法与程序设计广东版选修1
2019-2020年高中信息技术教材教学指导用书算法与程序设计广东版选修1
“算法与程序设计”是高中信息技术课程的选修模块,以问题解决与程序设计为主线,揭示利用计算机解决问题的过程。
学生通过本模块的学习“体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法、解决问题。
”①
“本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。
教师要注意发现对程序设计有特殊才能的学生,根据具体情况为他们提供充分的发展空间。
本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。
”②
课程标准中,本模块主题组成结构如下:
算法与问题解决例举
图2.1“算法与程序设计”主题结构图
本教学指导在沿用课程标准中主题内容的前提下,为进一步增强对实际教学的指导作用,对主题结构作了些调整,两者的关系如图2.2所示。
算法与问题解决例举
图2.2调整前后主题间的关系图
调整后的模块由四个主题组成,四个主题在知识结构上以螺旋上升方式展开。
“利用计算机解决问题的基本过程”主题旨在呈现人是如何利用计算机解决问题,解决问题需要经历哪些基本过程。
教学中应注意让学生结合生活与学习提出问题,从身边简单问题入手亲历分析问题、设计算法、编写程序、解决问题的过程。
应注意结合数学课程中算法这一部分知识,让学生进一步了解算法,学会用不同的方法描述算法,了解算法、程序、程序设计语言之间的关系,认识算法和程序设计的地位和作用。
本主题是整个模块学习的引入,为过渡到其它主题的学习打下基础。
“程序设计基础”主题旨在呈现如何用计算机语言进行程序设计。
教师可以根据学生需要选择一种语言,并以该语言为载体,让学生理解数据在计算机中是如何表示与处理的,了解程序设计基本方法,初步掌握顺序、选择、循环三种基本结构,体验程序设计的实践过程,同时了解程序设计语言的编译程序、连接程序等基本知识。
“算法与程序实现”主题旨在通过解析法、穷举法、排序和查找、递归等常用算法的程序实现,让学生进一步理解算法,进一步掌握程序设计基础知识,在体验算法思想与程序设计过程中,培养逻辑思维能力,塑造良好的认知结构。
可以组织学生探讨需解决的问题与其相应算法之间的关系,尝试归纳算法与程序设计应用的一般规律,讨论使用计算机程序设计解决问题的优势和局限性等。
“程序设计思想和方法”主题是对前三个主题内容的提升,旨在引导学生理解结构化程序设计思想,探究如何用结构化程序设计方法解决问题。
了解面向对象程序设计的思想、方法和关键技术。
通过引导学生亲历软件的开发过程,对算法与程序设计的思想与方法形成一个相对完整且比较准确的认识,为将来的学业发展奠定基础。
在教学过程中,应注意“知识与技能”、“过程与方法”、“情感态度与价值观”三维课程目标的相互联系与相互渗透,进而提升学生的信息素养,促进学生信息技术能力的立体发展。
第一节利用计算机解决问题的基本过程
课程内容标准
1.结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
2.经历用自然语言、流程图或伪代码等方法描述算法的过程。
3.在使用计算机解决实际问题的过程中,通过观看演示、模仿、探究、实践等环节,了解顺序、选择、循环三种基本结构及其重要作用,掌握计算机程序的基本概念,能解释计算机程序执行的基本过程。
一、
问题的分析与算法设计
内容结构图
二、
图2.3“利用计算机解决问题的基本过程”主题内容结构图
二、学习目标细目表
学习内容
学习结果的行为指标(当学生获得这种学习结果时,他们能够)
问题的认识和形成
·结合生活与学习的实例说明利用计算机解决问题的必要性
·从已有的知识与经验中例举出人工解决困难而利用计算机能够快捷解决的问题
问题的分析与算法设计
·了解利用计算机解决问题的基本过程
·了解问题分析与算法设计间的关系
·模仿分析简单问题的已知条件、要解决的问题以及问题与条件之间的关系,写出输入、求解、输出过程的步骤
算法的概念、特征与作用
·结合数学课程中学习的算法知识,说出自己对算法的理解
·说出算法的五种特征,举例说明算法特征的含义
·了解算法特征在解决问题过程中算法选择的作用
算法的描述
·结合数学课程中学习的算法知识,用自然语言、流程图、伪代码描述算法
算法与程序设计关系
·用自己的语言描述算法与程序设计间的关系
程序和程序设计
·描述程序概念和解释程序的作用
·结合实例描述顺序、选择、循环三种基本结构的单步程序执行方式
·画出三种程序基本结构的流程图
程序设计语言产生与发展
·说出程序设计语言产生与发展过程
·了解程序设计语言的功能,针对简单问题设计一套可以解决该问题的人工语言(不超过5条指令)
·例举出三种以上高级语言的名称
三、重点难点分析
(一)重点分析
1.利用计算机程序设计解决问题的必要性,建立问题意识。
2.
程序设计是运用计算机解决问题的一种方式,有些问题,如:
数值、逻辑等问题适合于通过程序的方式解决。
教学中应注意引导学生从生活与学习实例出发,认识与举证可以通过运用计算机程序设计得到高效解决的问题,让学生深切地感受利用计算机程序设计解决问题的必要性,引发学习本模块的兴趣和动机。
3.利用计算机解决问题的过程。
4.
得到结果
图2.4利用计算机解决问题流程
利用计算机解决问题流程如图2.4所示,教学中选择一个学生运用已有知识能够解决的实例,教师通过演示等手段协助学生亲历实例问题的分析、设计算法、把所要解决的问题转化成的程序输入到计算机、经调试后让计算机执行这个程序,最终达到利用计算机解决问题的过程。
让学生了解和体会流程中每一步骤的含义,为展开整个课程学习打下基础。
5.算法的基本概念,使用自然语言、流程图、伪代码描述算法。
6.
学生通过高一数学知识的学习,已有算法知识的储备,结合计算机工作方式,让学生进一步了解算法,进一步学会使用自然语言、流程图、伪代码描述算法。
7.程序的基本结构
8.
学生通过高一数学知识的学习,已经了解了算法的三种逻辑结构和流程图,程序的基本结构与之相对应,是程序设计的基础。
让学生尝试体验程序三种结构的计算机执行方式,加深对三种基础结构的了解。
9.程序设计语言
10.
程序设计语言是人利用计算机解决问题的载体,让学生充分认识程序设计语言,通过计算机语言的发展历程,感受计算机技术的发展。
(二)难点分析
1.算法的特征
2.
算法的特征对初学者而言较难理解,教学中尽可能通过具体问题的算法分析、程序分析,让学生感悟出算法的特征,为进一步学习分析问题、选择算法打下基础。
3.“好”算法的标准
4.
算法设计除正确性外,还应考虑其高效性、可读性、健壮性,学生在开始时是做不到的,但可以让学生知道需要从不同角度分析问题,才能不断改进算法,并通过实践形成这种良好习惯。
四、教学活动建议
本节是算法与程序设计课程的入门。
学生通过对“信息技术基础”部分的学习,已经具备了一定的信息加工、处理与交流的基础,知道使用计算机解决问题的方式多种多样,而程序设计是其中的一种。
学生在高一数学课程的学习中,也已经学习了一些算法的基础知识。
因此,本节的教学应注意在学生原有知识与学习经验基础上,引导学生进一步学习算法、程序设计的相关知识,体会算法与程序设计在计算机解决问题过程中的地位与作用,比较完整地认识利用计算机解决问题的过程。
在教学过程中应注意活动方式的多样性,通过比较、探究、讨论、交流等活动激发学生的学习热情,培养学生的学习兴趣,引导学生学会自主创新学习,培养良好的学习方法与学习能力。
(一)通过例举生活与学习中需要用计算机解决的问题,如有关数值、逻辑等方面的问题,让学生认识问题,形成问题意识,感受利用计算机解决问题的必要性。
案例2.1感受计算机解决问题的必要性
教师:
提出线性方程组问题,不断增加方程数量,让学生解决。
现象:
当方程数量少时,学生能够通过人工方法求解,但随着方程数量的增多,人工求解显得无能为力。
教师:
展示计算机高效求解方程组的过程。
教师:
提出8皇后问题,让学生找出符合条件的方案。
现象:
学生能找出一些符合条件的方案,但要找出所有符合条件的方案显得无能为力。
教师:
展示计算机高效地找出所有方案的过程。
教师:
提出生物课中学到的遗传基因问题,为什么生物课人工只分析到第二层或第三层?
教师:
展示遗传基因问题的计算机分析过程。
学生活动:
尝试从生活与学习提出需要用计算机解决的问题,展开讨论。
教师:
回归主题,感受利用计算机解决问题的必要性。
分析:
案例中教师没有直面告知学生利用计算机解决问题的必要性,而是通过实例让学生不断地感受人工求解问题的局限性与计算机求解问题的优势,并通过学生的充分讨论,让学生潜移默化地感受到利用计算机解决问题的必要性。
(二)利用计算机解决问题过程的教学是课程入门阶段,教师需要根据学生特点把握好度,为学生后继学习打下基础。
教学中要注意的问题是:
人在计算机解决问题过程担任什么样的角色;如何利用计算机解决问题;利用计算机解决问题与人解决问题有何区别;利用计算机解决问题的优势是什么;算法与程序设计解决什么样的问题。
因此,选择什么样的问题切入是教学成功与否的关键所在。
案例2.2利用计算机解决问题的过程教学设计参考
教学线索:
选择问题让学生体验利用计算机解决问题的过程展开讨论
1.选择问题:
选择问题的难易程度应根据学生的整体水平,由于是开篇教学,不宜太难,应源自学生已有的知识与经验,并能与后继内容的学习形成呼应。
例1:
求一元二次方程ax2+bx+c=0的根。
该问题比较简单,利用计算机解决问题过程的每一阶段易于理解。
例2:
“韩信点兵”问题,“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……刘邦听后茫然不知其数,你能说出有多少兵士?
”该问题能够体现利用计算机解决问题的特点及相对人工解决问题的优势,当条件少时可以人工求出,当条件多时利用计算机解决就显示出其优势。
例3:
借助高一学生正在学习函数图像知识的背景,从演示画学生熟悉的y=x2函数图像的程序入手,提出如何利用计算机画各种函数图像的问题。
该问题从学生已有的知识和人工画图经验出发,引导学生理解计算机画图的过程,唤起学生的求知欲望和学习兴趣。
分析:
对初学者而言,例2、例3利用计算机解决的过程有一定的复杂性,教学中需要循循善诱,把握好教与学的互动关系。
2.让学生体验利用计算机解决问题的过程
(1)引导学生探究
分析问题的已知条件、隐含条件、要解决什么、它们之间的关系,通过分析问题,写出问题的求解过程,将其步骤化,设计算法。
(2)让学生体验利用计算机求解过程
给出对应于算法的程序,引导学生打开并执行程序,体验计算机运行程序的过程。
(3)引导学生画出利用计算机解决问题的流程图。
3.展开讨论
(1)讨论人与计算机在利用计算机解决问题的各个阶段中各自扮演的角色;
(2)讨论编写程序解决问题与使用现成软件解决问题的差别,针对不同问题选择不同的解决手段;
(3)讨论生活中解决问题的过程步骤,让算法思想溶于日常生活中。
(三)对初学者而言,理解算法的概念、特征、作用需要一个过程。
可以通过呈现一组比较简单的现成算法,让学生逐步掌握算法的思想。
通过一个问题的不同算法的比较,让学生感悟算法的特性。
案例2.3算法的基本概念
1.算法的概念与特征
(1)提出问题:
求两个正整数的最大公约数。
“更相减损之术”算法程序
PrivateSubForm_Click()
DimmAsLong,nAsLong,rAsLong
m=Val(InputBox("输入整数1"))
n=Val(InputBox("输入整数2"))
Ifm m=n: n=r r=m-n DoWhiler<>0 Ifr m=n n=r Else m=r EndIf r=m-n Loop Print"最大公约数为: ";n EndSub 给出两个正整数12、16,如何求它们的最大公约数? 大家可以口算出最大公约数是4,如果给出的两数是2678945、465,又如何求呢? (2)通过介绍解决问题的经典算法,让学生体验算法思想 “更相减损之术”及其算法思想: 我国古代数学家对公约数求解问题进行了研究并提出了算法,称之为“更相减损之术”,其方法是以两数中较大的数减去较小的数,获得的差与原先较小的数构成新的一对数,再以大的数减去小的数……如此循环,用同样的方法操作,直至产生一对相等的数,该数即为最大公约数。 以求12、16这两个数的最大公约数为例,具体操作如下: (12,16)(12,4)(8,4)(4,4) 4是12和16的最大公约数。 “辗转相除法”及其算法思想: 古希腊数学家对公约数求解问题研究提出的算法称为“辗转相除法”(欧几里得算法)。 具体方法是用较大的数除以较小的数,余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则较小的数就是最大公约数。 “辗转相除法”算法程序 PrivateSubForm_Click() DimmAsLong,nAsLong,rAsLong m=Val(InputBox("输入整数1")) n=Val(InputBox("输入整数2")) r=mModn DoWhiler<>0 m=n n=r r=mModn Loop Print"最大公约数为: ";n EndSub 以求288和123的最大公约数为例,具体操作如下: (288,123)(42,123)(42,39)(3,39) 3是288和123的最大公约数。 (3)引导学生用自然语言描述完成两种算法的思想 设给定的两个正整数为m和n,“更相减损之术”算法描述如下: ①输入两个正整数m和n; ②若m ③以m减去n,令所得的差为r; ④若r=0,则输出结果n,算法结束;否则继续; ⑤若r “辗转相除法”算法描述如下: ①输入两个正整数m和n; ②若m ③以m除以n,令所得的余数为r; ④若r=0,则输出结果n,算法结束;否则继续; ⑤令m=n,n=r;返回步骤③继续进行。 (4)让学生体验运行根据两种算法编写的程序,比较效率 让学生打开程序,输入以下3组数据比较两程序的运行效率: ①12,16 ②356727,58263 ③264062214,39 可以发现对于第3组数据,“辗转相除法”算法程序效率明显高于“更相减损之术”算法程序效率。 让学生思考为什么? (5)分析算法特征 算法的特征,对初学者来说不容易理解的,通过本题的不同算法、程序实现及程序运行效率比较过程,指导学生分析出下列结论: ①算法思想是建立在对问题的数学分析基础上(分析上述两种算法的数学思想区别); ②算法的描述是将问题的解决过程用有限的步骤实现之(分析问题的描述过程); ③算法具备特征: 有穷性、确定性、有输入与输出、可行性; ④程序设计的过程实质上是算法设计的过程,程序只不过是选择某个特定的计算机语言表达算法; ⑤解决同一个问题的算法不是唯一的,选择不同的算法编写的程序,计算机运行的效率会有很大的差异。 2.组织学生开展探究活动,了解算法在解决问题过程中的地位和作用,如探究分析例题中解决同一问题的两个算法程序的不同效率等。 分析: 案例通过学生非常熟悉的“求两个正整数的最大公约数”问题,引出前人研究的两种经典算法。 没有让学生自己去推导算法,一则降低了学生学习的难度,二则让学生了解了算法思想。 并让学生通过比较两种算法程序的运行效率,体验算法的特征。 将教学准确定位在让学生通过对算法的体验来了解算法思想与特征。 (四)课堂教学可以呈现多样化的形式,充分利用各种资源与手段展开教学,尽可能让学生主动参与,建构知识。 例: 了解计算机程序设计语言的教学,教师可以直接提供或指导学生通过网络搜索相关学习资料的方式,指导学生认真阅读和讨论交流,帮助学生了解程序设计语言的产生与发展,了解机器语言、汇编语言、高级语言的特点、优势与不足,了解程序语言的计算机执行过程。 第二节程序设计基础 课程内容标准 1.了解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。 学会使用程序设计语言实现顺序、选择、循环三种控制结构。 2.初步掌握调试、运行程序的方法。 3.了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。 程序的编辑和翻译 一、内容结构图 图2.5“程序设计基础”内容结构图 二、学习目标细目表 学习内容 学习结果的行为指标(当学生获得这种学习结果时,他们能够) 程序开发环境 ·在集成开发环境中,打开程序、保存程序、编辑程序、运行程序,初步掌握程序调试的基本手段 ·如果使用的是可视化程序开发工具,能够理解控件、对象、属性等基本概念 编程的一般步骤 ·说出程序编写的一般步骤与程序框架结构,能够完成给定程序的输入、调试与运行 ·如果使用的是可视化程序开发工具,则能够设计简单的程序界面 变量、常量、数据类型 ·知道数据类型、变量、常量的含义,学会定义常量,学会定义变量的数据类型 ·说出程序中的常量、变量与数学中的常量、变量的异同点,能够定义给定程序变量的数据类型,并能说出定义不同数据类型的理由 运算符、函数、表达式 ·知道程序中运算符、函数、表达式的表示方式 ·转换数学表达式为程序接受的表达式,能够借助查表或查找帮助使用函数 顺序结构程序设计 ·正确使用输入语句、输出语句、赋值语句进行顺序结构程序设计 ·对给出的顺序结构问题,写出解决问题的步骤,根据步骤用相应的语句表达,完成整个问题的程序设计 ·上机调试、运行顺序结构程序,正确进行输入,输出正确的结果 ·尝试寻找身边的顺序结构问题,分析问题顺序结构算法,编程解决之 选择结构程序设计 ·理解条件语句、多重选择语句的计算机执行方式 ·正确写出问题中的条件关系表达式与逻辑表达式 ·对给出的选择结构程序,写出程序的运行结果 ·对给出的选择结构问题,写出解决问题的步骤,正确使用条件语句实现之,如果问题可以使用多重选择语句解决,能够正确使用多重语句编程实现之 ·上机调试、运行选择结构程序,能够通过不同的输入数据,调试程序中各条件分支的正确性,输出正确的结果 ·尝试寻找身边的选择结构问题,分析问题算法,编程解决之 循环结构程序设计 ·理解FOR循环语句、DO循环语句的计算机执行方式,总结两种循环语句的不同之处与其适合使用的循环结构问题形式 ·对给出的循环结构程序,写出程序的运行结果 ·对给出的循环结构问题,能够正确分析出问题的循环特点,设计好循环变量的初值、终值与变化方式,正确选择不同的循环语句编程解决问题 ·编写程序解决循环嵌套不多于三重的多重循环问题 ·上机调试、运行循环结构程序,若遇“死”循环现象,能够正确处理 ·尝试寻找身边的循环结构问题,分析问题算法,编程解决之 程序的编辑和翻译 ·说出程序的编辑与翻译过程方法 ·比较编译型语言与解释型语言的优势与不足 三、重点难点分析 (一)重点分析 1.常量、变量、数据类型等概念 2. 在程序设计中正确使用常量,正确进行变量的数据类型设计,即使学生能够进行简单数据结构的设计,是程序设计教学的一个重要环节。 可以让学生通过观察程序中常量、变量的运行结果,比较程序中常量、变量与数学概念中的差异,掌握常量与变量的使用。 2.顺序、选择、循环三种基本结构程序设计方法 建议采用以问题为主体带动整个教学进程的教学方式,让学生掌握程序设计中常用语句与函数的使用,如: 输入、输出语句、交互函数、条件语句、多种选择语句、FOR循环语句、DO循环等语句,根据解决问题要求分析设计算法,恰当地使用三种结构程序设计相关语句编写程序,在实践过程中体验程序设计语言的逻辑特点。 (二)难点分析 1.变量的数据类型定义 学生在程序设计初期可能较难接受数据类型的概念,教学注意贯穿每个程序设计样例变量数据类型定义的分析,让学生逐步理解数据类型的含义,学会正确定义变量的数据类型。 2.选择结构程序设计 在选择结构程序设计中,如何分析与表示问题中的选择条件,如何根据选择的结果进行分支走向,如何正确使用选择语句编写程序,是教学中的一个难点,也是学生学习程序设计的一个转折点,这一部分课时可以安排多一些,通过由简到难问题的提出与解决,让学生灵活使用选择语句进行程序设计,掌握程序设计的基本方法。 四、教学活动建议 学生通过第1节的学习与体验,对利用计算机解决问题的过程有了比较完整的认识,在利用计算机解决问题各个环节中,编写程序是其中一个关键的环节.。 本节核心问题是: 如何设计程序实现算法以解决问题? 程序设计=算法+数据结构。 最简单的数据结构即为程序设计中的变量及其数据类型。 学生由于受常规习惯的影响,比较难理解程序中的常量、变量、数据类型等的含义,可以通过每次的教学活动逐步让学生理解并学会设计。 算法的通俗定义是解决问题的步骤,一个有效的算法应该是利用计算机编程解决问题的流程,它需要以数据结构为载体,还需要通过设计程序来实现。 对初学者而言,程序设计三种基本结构中的选择结构是一个程序设计学习过程中的关键点,教学设计中应给予足够的重视。 教师可以采用“问题解决教学法”展开本节的教学,在问题的选择上,注意选择学生能够通过已有的知识和经验分析出解决方法和得到算法步骤的问题;在程序设计上,注意对照算法的方法和步骤编写;在练习的选择上,注意从模仿例题开始,以降低学习难度,逐步过渡到让学生能够面对问题独立设计算法和程序,从而具备程序设计基本能力。 通过本节的教学要让学生知道如何进行程序设计,初步建立起良好的程序设计基本思想与方法的认识结构。 (一)程序设计的学习,不可避免需要使用程序设计开发环境,程序设计开发环境的教学通常安排在“程序设计基础”的第一堂课,应注重让学生在实践中掌握解计算机语言的编辑环境的使用,注意承上启下激发兴趣。 案例2.4以VB可视化程序开发环境为例 教学线索: 程序设计开发环境介绍体验程序设计开发环境中各工具的使用可视化程序设计的一般步骤。 1.在第1节体验程序基础上,教师演示VB开发环境各工具的使用,常用控件的使用,让学生初步了解控件、对象、属性等基本概念及其操作方法。 2.指导学生完成程序的界面制作与程序的输入、调试、运行、保存,在体验中掌握程序开发环境的使用,在体验中感受程序的计算机执行方式与作用。 例1: 提供第1节学习过程中问题的程序与程序界面,让学生实践。 深化学习过的内容,鼓励学生尝试改变原程序界面,培养个性化思维。 例2: 实践一些趣味性程序,激发学生兴趣,鼓励学生探索程序设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中信息技术 教材教学指导用书 算法与程序设计 广东版选修1 高中 信息技术 教材 教学 指导 算法 程序设计 广东 选修