视频标签:算法,程序设计
所属栏目:信息技术优质课视频
视频课题:教科版高中信息技术《算法与程序设计》第一章第二节1.2.1 算法是“灵魂”建设兵团
本视频配套资料的教学设计、课件 /课堂实录及教案下载可联本站系客服
1.2.1算法是“灵魂”
一、教材分析
本节选自高中信息技术教科版《算法与程序设计》(选修)第一章第二节的内容。教材主要介绍算法的概念、特征,以及如何准确、具体地描述算法。
二、学情分析
学生在数学课中学过算法,学过用“自然语言”和“流程图“描述算法,但是学生初涉编程,有些畏难。教师要正确引导,调动学生学习程序设计的兴趣。
三、教学目标
(一)知识与技能
1.进一步理解什么是算法,知道算法的多样性; 2.认知流程图的六种基本符。 (二)过程与方法
1..体验用自然语言、流程图和伪代码等方法来描述算法并作出适当的评价。 2.开展讨论交流,引导、鼓励学生积极思考、主动回答问题。 (三)情感态度和价值观
1.以“农夫过河”和“韩信点兵”为实例,激发学生的学习兴趣,培养学生的主动探究能力。
2.在讨论交流中提高语言表达能力,发展计算思维,培养创新精神。
四、教学重点
1.能够对设计的算法作出简单的评价; 2.算法的定义及三种描述方法; 3.流程图符号组成。
五、教学难点
如何准确、具体地描述和设计算法。
六、 教学方法
启发式、任务驱动、讲解演示
七、教学准备
自制课件、任务单、程序代码
八、教学过程 (一)情景导入
同学们,我们都知道算法对于程序设计来说至关重要,那我们如何准确、具体地描述算法呢?
教师展示:"农夫过河"的任务要求(一位农夫带着一只狼、一只羊和一框蔬菜过河,无奈船小,农夫每次只能运送一样东西,考虑到狼吃羊、羊吃菜,因此
运送的顺序至关重要。农夫怎么才可以安全过河呢?)教师引导学生通过小程序做益智游戏。
学生活动:帮助农夫实现“羊狼白菜共同渡过河对岸”的愿望。学生按小组讨论,设计过河的方案,把3样东西安然无恙的渡过河。学生先做到心中有数,答案不必立即说出来。
(二)探究新知
1.算法是 “灵魂”
请同学们回忆数学课中学过的算法,谈谈您对算法是如何理解的。学生思考回答问题。
教师补充:算法是解决问题的方法和步骤。算法是程序设计的灵魂,世界著名计算机科学家尼克劳斯•沃思指出:算法+数据结构=程序。(数据结构我们暂不学习。)可见,算法在程序设计中具有多么重要的地位。阿尔法狗战胜李世石和柯洁,都是靠巧妙的算法。
知识拓展:学生阅读“世界上最早的算法”。
2.描述算法
当我们找到算法之后,不能只是自己心知肚明,还需要准确、具体地将它描述出来,这样才能编写成程序供计算机执行。描述算法可以有多种表示方法,一般用自然语言、流程图和伪代码三种进行描述。
(1)用自然语言描述算法
同学们说说什么是自然语言?生答后教师详讲:自然语言是指我们日常生活中使用的语言。用自然语言描述算法就是把算法各个步骤,依次用人们熟悉的自然语言表示出来。这符合我们的表达习惯,且易于理解。
①算法分析。要让计算机解决问题,必须明确地告诉它要处理的具体对象和每一步准确的处理过程。否则计算机就无法工作。因此,算法的描述要求尽可能精确、详尽。
②算法描述(针对刚才的“农夫过河”问题,我们该如何精确描述呢?
步骤1:人和羊过河,人返回,留下羊 步骤2:人和狼过河,人和羊返回,留下狼 步骤3:人和菜过河,人返回,留下菜 步骤4:人和羊过河
学生再一次通过“农夫过河”小程序体验,验证刚才的描述是否精确。 提问:通过刚才的体验,你认为自然语言描述算法的优缺点是什么?生答后教师补充:优点是通俗易懂,缺点是缺乏直观和简洁性,并且容易产生歧义。
设计意图:
通过学习,加深对算法的理解。初步认识算法描述的方式之一:自然语言描述法,培养学生的交流、分析问题的能力。
(2)流程图描述法
①历史典故--韩信点兵
教师给学生讲述韩信点兵的历史故事,提炼语言,每3人一列余1人、5人一列余2人、7人一列余4人…帮助韩信解决士兵人数的问题。
3
小组成员分析问题(找出已知和未知、列出已知和未知之间的关系),写出解题步骤,最后写出结果。
师补充:此题的解法有一口决(三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知),感兴趣的同学课下可以去深入探讨。
②展示算法描述之二:流程图描述法,阐述韩信点兵问题的处理过程。 教师补充:流程图是算法的一种图形化表示方法。
提问:流程图与自然语言相比,有什么优点呢?学生思考回答问题,教师总结:用流程图描述算法形象、直观,更容易理解。程序设计人员,往往先用流程图描述算法,然后根据流程图写出程序代码。
学生发言:流程图符号组成及各个符号代表的意义。
设计意图:
1.亲身体验算法的设计过程,培养学生的逻辑思维能力。 2.感受算法实现过程,熟练掌握流程图符号代表的意义。 3.了解流程图描述法。
(3)用伪代码描述算法
教师讲解:还有一种介于自然语言和计算机程序设计语言间的算法描述,它就是伪代码。它也是专业软件开发人员描述算法的一种常用方法。
教师输入代码,让学生充分感受“见证奇迹的时刻”,观看教师演示过程,感受计算机为人们处理问题的能力。
提问:伪代码描述的算法有什么特点呢?生思考后回答,教师补充:简洁易懂,修改容易。缺点是没有流程图直观,一旦出现逻辑错误也不便排查。
学生动手操作,编写、完善程序,解决问题。教师巡视检查、指导。
讨论交流:比较自然语言、流程图和伪代码三种算法描述方法,谈谈各自的看法,你更喜欢哪种描述算法。
设计意图:
1.亲身感受过程,了解算法描述的方式之三:伪代码描述法。 2.感受编程带来的神奇魅力,实现算法,输出结果。
3.亲身体验程序设计过程。培养学生“做中学”的能力。
(三)拓展训练(算法的优化)
高斯算法问题:1+2+3+4+5+6+……+100=?请各小组分工用三种描述算法完成。
1.高斯问题自然语言描述
Step1:将N的初始值赋为1,S的初始值赋为0 Step2:如果N小于等于100,转到Step3; Step3:将S加N的和赋给S ;
Step4:将N的值加1 ,转到Step2.
2.高斯问题的流程图 (如右图)
3.高斯问题的伪代码描述
4
Private Sub Command1_Click()
Dim s As String, n As Integer, i As Integer For i = 1 To 100 n = n + i Next i
Print "1+2+3+……+100=", n End Sub
设计意图:检验、提高,优化算法。
(四)作品 展示、评价
展示几组学生作品。 提示:制作过程中遇到的困难是什么?怎样解决? 欣赏自己和他人的作品,认真做出评价。
反馈作品量化评价表,及个人目标自评表(表附后)。
(五)课堂总结
引导学生对本节知识进行总结。
学生根据实践操作对本节知识进行总结并补全板书。加深知识的理解和掌握。 提示学生注意算法的优化,并把这样优化用于我们的生活中,让我们生活得更加美好。
(六)课外练习
有兴趣和条件的同学,可以独立编写代码,制作作品,实现程序。 提高学习信息技术编程的兴趣和能力。
视频来源:优质课网 www.youzhik.com