高中信息技术《程序设计基本知识》教学设计-以Python语言为核心的算法实现启蒙_第1页
高中信息技术《程序设计基本知识》教学设计-以Python语言为核心的算法实现启蒙_第2页
高中信息技术《程序设计基本知识》教学设计-以Python语言为核心的算法实现启蒙_第3页
高中信息技术《程序设计基本知识》教学设计-以Python语言为核心的算法实现启蒙_第4页
高中信息技术《程序设计基本知识》教学设计-以Python语言为核心的算法实现启蒙_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术《程序设计基本知识》教学设计——以Python语言为核心的算法实现启蒙【教学目标】知识与技能目标:学生能够准确说出程序的三种基本结构,理解常量、变量、数据类型、运算符与表达式的概念,掌握Python语言中赋值语句、输入输出语句的基本格式,能够运用顺序、分支、循环三种结构编写简单的程序,解决数学计算与生活中的实际问题。过程与方法目标:学生经历"分析问题—设计算法—编写程序—调试运行"的完整过程,初步形成用程序解决问题的思维路径,掌握逐行阅读代码、借助输出定位错误的调试方法。情感态度与价值观目标:学生在亲自编写并运行程序的过程中体验"机器按指令精确执行"的确定性,感受计算思维中抽象与自动化的魅力,建立编写规范代码、遵守语法规则的严谨意识。学科核心素养指向:本课重点落实"计算思维"与"数字化学习与创新"两大素养。学生将现实世界的问题抽象为数据与表达式,再用程序设计语言描述解决问题的过程,这正是计算思维中"抽象—建模—自动化"链条的完整演练。【教学重点与难点】教学重点:程序三种基本结构的语法格式与执行流程;变量与赋值语句的本质理解;运用Python编写解决实际问题的简单程序。教学难点:学生的思维从"自然语言描述问题"转向"形式化语言表达算法";分支结构中条件的准确构造;循环结构中循环体、循环条件的辨析以及死循环的规避;对"变量是存储数据的盒子、赋值是覆盖而非等式"这一抽象概念的真正内化。【学情分析】授课对象为普通高中一年级学生。他们在此前章节中经历了算法的自然语言描述、流程图绘制,对算法的概念有了初步认识,但从未真正"驱动"计算机执行过自己设计的算法。数学课上的方程思想和函数概念是他们的重要知识储备,但数学中的等号与程序中的赋值号极易混淆,这是本课的第一个认知冲突点。此外,学生日常大量使用图形界面软件,习惯了"点击即反馈"的交互方式,对命令行式、逐行执行、精确到标点符号的程序表达方式普遍缺乏耐心,畏难情绪容易在第一次语法报错时出现。教学设计上必须以"低起点、快反馈、小步子、多展示"为基调,让学生在开课十分钟内就能看到自己第一行代码的运行结果。【教学方法与策略】采用讲授法与任务驱动法相结合的方式组织教学,穿插对比讲解、错误辨析、小组结对编程等环节。全程在机房进行,教师机广播演示与学生机同步操作交替进行。教学节奏遵循"讲一点、练一点、评一点"的微循环模式,避免长时间纯讲授造成注意力流失。【教学准备】教师准备:安装好Python运行环境的学生机房、教师广播软件、演示课件、课堂任务单、成品示例程序若干。学生准备:教材、笔、记录本,课前复习算法三种基本结构的流程图表示。【教学过程】一、情境导入:让计算机替你算账上课铃响后,教师在广播屏幕上展示一个情境:学校食堂推出充值优惠活动,充值满100元赠送金额的10%,小明想充值一笔钱请全班45名同学每人吃一顿15元的麻辣烫,他需要充值多少元才够用?请学生先心算,再请一名学生口头说出计算过程。学生给出答案后,教师追问:如果菜品价格改成17.5元,人数改成48人,满赠规则改成赠送12%呢?学生会发现每次改条件都要重算一遍。教师顺势引出:能不能写一段程序,让计算机每次替我们算?无论数字怎么变,只要输入进去,结果立刻出来。这就是本章要解决的问题——把算法变成计算机能执行的程序。板书课题:程序设计基本知识。教师运行提前准备好的示例程序,当场演示输入三个数字、瞬间输出结果的完整过程。学生直观看到"程序"这台自动化的机器开始工作,学习动机由此建立。二、初识程序:一行代码也能运行教师带领学生打开Python交互式环境,输入一行代码print("你好,信息技术课"),回车后屏幕上立刻显示出引号中的文字。每个学生在自己的机器上完成同样操作,得到第一次成功体验。此刻教师强调:程序就是用程序设计语言写给计算机执行的一系列指令,每条指令都必须严格遵守语言的语法规则,就像中文要遵循中文语法一样。随后教师故意犯一个错误:把print写成prnt,运行后屏幕出现红色报错信息。教师不急着纠正,而是带着学生读报错信息:Error提示错误类型,行号提示错误位置。学生观察后发现,英文不好的同学也能从报错中猜出"prnt"这个单词计算机不认识。教师点明:调试程序的第一项基本功就是读懂报错信息,报错不是失败,是计算机在告诉你哪里需要修改。三、数据与变量:程序处理的对象教师提出问题:程序要计算,先得有数据。数据在程序中如何表示?引导学生回顾数学中的常量和未知数,引出程序中的常量与变量。常量如3.14、100、字符串"abc",在程序运行过程中值不改变;变量则像一个贴了标签的盒子,可以随时装进不同的数据。板书并广播演示赋值语句:price=15。教师重点辨析:这里的等号不是数学中的等式,而是"把右边的值装进左边的盒子",读作"把15赋给price"。接着演示price=price+5,运行后price变为20。请学生思考:这个式子在数学上成立吗?学生摇头。教师总结:程序中的"="是动作,数学中的"="是关系,这是所有初学者必须跨过的第一道坎。接下来讲数据类型。通过type()函数现场展示整数、浮点数、字符串三种类型的区别:type(15)输出int,type(15.0)输出float,type("15")输出str。学生观察发现一个惊人事实:加了引号的15变成了字符串,不能再参与数学运算。教师演示"15"+"3"的结果是"153",把两段字符拼接在一起,而非数学加法,学生在这个反差中深刻记住数据类型的意义。四、输入与输出:程序与人的对话教师提出问题:如果价格、人数都写死在程序里,那和我们手算有什么区别?程序的价值在于处理变化的数据,因此需要输入功能。演示input()函数:num=int(input("请输入人数:"))。逐词拆解:input负责从键盘接收数据,接收到的是字符串,int把它转换成整数,等号把转换结果存进变量num。这个看似简单的语句里包着三层操作,教师要求学生默写三遍并互相检查。输出方面,演示print(pricenum)可以直接输出表达式的计算结果,也可以print(45,"人需要",4515,"元")实现文字与数字的混合输出。学生在机器上完成小练习:输入自己的出生年份,程序输出当前年龄。几年后学生自己程序里只需改一个数就能得出新答案,变量与自动化的价值再一次被验证。五、运算符与表达式:计算的规则教师用表格形式呈现Python常用算术运算符:加、减、乘、除、求余、幂。特别强调三个容易混绕的运算:"/"是除法,结果带小数;"//"是整除,舍弃小数部分;"%"是求余数。现场计算17//5和17%5,学生得出3和2,教师扩展:求余运算用处极大,判断一个数是不是偶数,只需看它对2求余是否为0。这个知识点为后面的分支结构埋下伏笔。接着讲表达式与优先级。教师写出1+23和(1+2)3,请学生先心算再运行验证,结果分别是7和9,括号改变运算顺序的规则与数学一致。学生在此基础上完成课堂任务一的编程:输入三角形的三边之长,计算周长与半周长,为后续用海伦公式求面积做铺垫。六、顺序结构:程序的第一种骨架教师回顾算法的三种基本结构并指出:任何复杂的程序,拨开语法的外衣后,内部都是顺序、分支、循环这三种结构的组合。程序设计语言只是这些结构的表达工具。先讲顺序结构:程序自上而下逐行执行,每条语句执行一次。这是最自然的结构,前面写的所有程序都是顺序结构。教师安排学生完成完整任务:编写程序,输入圆半径,输出圆的周长和面积,圆周率取3.14159。学生独立完成,邻座互查,教师巡视并收集两三种典型写法进行点评:有的学生把圆周率定义为常量p=3.14159反复使用,有的学生每次都写一遍数字。教师借此讲"代码的可维护性"——好的程序便于修改,把会变化的、要重复使用的值集中定义为变量,是程序员的基本修养。七、分支结构:让程序学会判断教师创设情境:刚才计算圆面积时,如果有人输入一个负数半径,程序照样会算出一个结果,这合理吗?学生意识到程序需要有判断能力——遇到不合理的数据应该拒绝处理。这引出分支结构。讲解if语句的基本格式并板书:条件成立执行什么、不成立执行什么,两个分支以else分隔。教师特别强调两处语法细节:一是条件后必须有冒号,二是分支内语句必须缩进四个空格,缩进是Python表达"层级归属"的方式,和其他语言用大括号的风格不同。教师演示去掉缩进后的报错,学生亲眼看到缩进错误的后果。现场完成对圆面积程序的改造:输入半径后判断,若半径大于0则计算并输出结果,否则输出"半径必须为正数"。学生跟做并自行测试正数、负数两种输入。进一步拓展到多分支结构ifelifelse。以成绩等级评定为例:输入百分制成绩,90分及以上输出优秀,75至89输出良好,60至74输出及格,60以下输出不及格。演示后布置本课核心任务:完成这个成绩评定程序,并对输入超出0到100范围的成绩给出"输入有误"的提示。此任务综合了比较运算符、逻辑关系与嵌套判断,教师巡视中重点观察学生在条件边界上的处理,例如89.5分应落在哪个区间,引导学生精确构造条件。完成后选取程序量不同的两种写法对比展示,一种用多个独立if,一种用ifelif链,学生讨论哪种更清晰,教师总结:分支结构互相排斥的判断优先使用elif,可读性更好,执行效率也更高。八、循环结构:让计算机不知疲倦教师提问:如果想输出1到100这100个数,难道要写100行print语句吗?学生立刻摇头。教师指出:这正是循环结构要解决的问题——让计算机重复执行一段代码。先讲for循环配合range函数:foriinrange(1,101)搭配print(i),三行解决一百行的活。逐词讲解range(1,101)表示从1开始、不含101的整数序列,变量i每轮循环自动取下一个值。学生运行后看到屏幕从1滚到100。趁热打铁,布置任务:编写程序计算1加到100的和。教师不直接给答案,先请学生在纸上用自然语言描述思路:准备一个变量sum装着总和,初始为0,然后让1到100的每个数依次加进去。思路理清后再翻译成代码,强调"先想算法,再写代码"的习惯。展示标准答案的同时重点讲解sum=sum+i在循环中的累积作用。再讲while循环:当条件成立就重复执行循环体。对比两种循环的适用场景——循环次数明确用for,循环次数不确定、由条件决定用while。用"猜数字游戏"的例子演示while:设定目标数字,玩家不断输入猜测值,程序提示大了或小了,直到猜中为止。学生两两一组试玩改好的程序,课堂气氛在此达到高潮。随后教师用whileTrue写一个无终止的循环让学生观察死循环现象,讲解强行终止程序的方法,并总结避免死循环的两条铁律:循环体内必须有让循环条件趋向不成立的操作(如计数器自增),循环开始前条件相关变量必须有合理的初始值。九、综合实践与课堂总结布置本课综合任务:为学校小卖部写一个简易收银程序,能输入商品单价与购买数量,计算总价;若总价超过50元打九折;输出最终应付金额;程序能反复接待顾客,直到收银员输入特定命令退出。该任务综合运用变量、输入输出、运算符、分支、循环全部内容。学生先用流程图在纸上设计算法,再动手编码,教师巡视指导,对进度快的学生追加挑战:增加统计当日营业额的功能。课堂尾声,教师带领学生回顾整节课的知识主线:数据是程序加工的原料,变量是存放数据的容器,输入输出让程序与外界沟通,三种基本结构是程序的骨架——顺序让程序有序执行,分支让程序学会判断,循环让程序不知疲倦。教师强调:今天掌握的只是程序设计语言的入门知识,但"问题—算法—程序"的思维路径,在今后的学习中会不断重复深化。下节课我们将学习更复杂的数据组织方式,让程序能处理成批的数据。十、布置作业必做题:编写程序,输入一个正整数,判断它是奇数还是偶数;编写程序,输出100以内所有能被7整除的数。选做题:完善课堂的猜数字游戏,增加猜测次数限制,超过6次仍未猜中则游戏失败并公布答案。预习任务:阅读教材中关于程序设计语言发展历程的内容,思考为什么Python适合初学者入门。【板书设计】主板书以知识框架呈现:2.3程序设计基本知识。左侧列"数据"分支,含常量、变量、三种数据类型、赋值语句;中间列"表达式",含常用运算符与优先级;右侧列"三种基本结构",顺序结构配一行流程示意,分支结构写出ifelse格式与缩进要点,循环结构并列for与while两种写法并标注选择依据。副板书区域用于课堂演示过程中的临时例题与错误示例。【教学反思】本课容量较大,三种基本结构集中在一课完成,时间分配上必须果断取舍:数据类型与运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论