2019-2020年粤教版高中信息技术选修《优雅的算法世界——算法与程序设计前言》说课设计附反思

合集下载

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修一、第一章:算法与程序设计概述1. 教学目标了解算法的概念、特性以及算法与程序的关系。

掌握算法描述的方法,如伪代码和流程图。

理解程序设计的基本概念,如编程语言、编译器和解释器。

2. 教学内容算法定义及特性算法描述方法:伪代码和流程图程序设计基本概念3. 教学方法采用案例分析法,以具体的编程语言为例,让学生理解算法与程序设计的关系。

采用任务驱动法,让学生通过实际编写代码,体验算法实现的过程。

4. 教学步骤介绍算法的概念和特性,结合实例进行分析。

讲解伪代码和流程图的表示方法,引导学生学会使用这两种工具描述算法。

讲解程序设计的基本概念,如编程语言、编译器和解释器。

5. 课后作业结合本章内容,让学生编写一个简单的程序,实现一个基本的算法。

二、第二章:顺序结构程序设计1. 教学目标掌握顺序结构程序设计的基本语法和技巧。

理解顺序结构程序设计的原则,能够编写清晰、高效的程序。

2. 教学内容顺序结构程序设计的基本语法顺序结构程序设计的原则3. 教学方法采用案例分析法,通过分析具体的程序案例,让学生理解顺序结构程序设计的方法。

采用任务驱动法,让学生通过实际编写代码,掌握顺序结构程序设计技巧。

4. 教学步骤讲解顺序结构程序设计的基本语法,如变量声明、数据类型、输出语句等。

讲解顺序结构程序设计的原则,如代码清晰、可读性强、模块化等。

5. 课后作业结合本章内容,让学生编写一个简单的顺序结构程序,实现特定的功能。

三、第三章:分支结构程序设计1. 教学目标掌握分支结构程序设计的基本语法和技巧。

理解分支结构程序设计的原则,能够编写清晰、高效的程序。

2. 教学内容分支结构程序设计的基本语法分支结构程序设计的原则3. 教学方法采用案例分析法,通过分析具体的程序案例,让学生理解分支结构程序设计的方法。

采用任务驱动法,让学生通过实际编写代码,掌握分支结构程序设计技巧。

4. 教学步骤讲解分支结构程序设计的基本语法,如条件语句、循环语句等。

高中信息技术 算法与程序设计课件 选修

高中信息技术 算法与程序设计课件 选修
体例
教材编写思路与特色
6. 学生活动主题的设计具有一定的自主性 与开放性,使不同层次、不同类型的学 生都能找到合适的主题。
教材的结构体系
• 第一章 揭开计算机解决问题的神秘面纱 • 第二章 程序设计基础 • 第三章 可视化编程 • 第四章 算法及其程序实现 • 第五章 面向对象程序设计 • 第六章 程序设计实践
算法与程序设计
信息技术基础
课程的目标
1. 使学生在原有基础上进一步体验算法思 想,了解算法和程序设计在解决问题过 程中的地位和作用;
2. 能从简单问题出发,设计解决问题的算 法,并能初步使用一种程序设计语言编 写程序实现算法解决问题。
课程的目标
知识性目标
技能性目标
了解 理解 迁移 模仿 独立操作 熟练操作
教学设计 ——信息技术的学习过程
• 信息技术的学习过程是一个问题解决的过程。人的思维 活动永远是从问题开始的,学习的过程就是一个问题解 决的过程。信息技术的本质也向我们昭示了信息技术是 一个问题解决的活动,信息技术所要解决的问题就是如 何满足人们的需求。由此推论,信息技术学习也是一个 问题解决的过程。在利用信息技术解决问题的过程中, 学生将掌握解决问题的思想和方法以及提高认识问题、 解决问题的能力;充分发挥个人的想像力和创造力,并 在创新实践中不断发展自己的个性。
普通高中信息技术课程标准实验教材(粤教版)
算法与程序设计
课程设计、教学与评价
算法与程序设计
课程设计、教学与评价
• 课程的定位与目标 • 教材编写思路与特色 • 教材结构体系 • 教学设计的策略 • 教学评价的实施
课程的定位
• 选修部分强调在必修模块的基础上关注技术能 力与人文素养的双重建构,是信息素养培养的 继续,是支持个性发展的平台。

高中信息技术《算法与程序设计》

高中信息技术《算法与程序设计》

高中信息技术《算法与程序设计》算法与程序设计是高中信息技术选修1中的一门课程,是计算机科学领域中非常重要的一门基础课程。

在这门课程中,学生将学习到一些基本的算法和程序设计的知识和技能。

本文将重点介绍该课程的内容和对学生的意义。

首先,算法是计算机解决问题的方法和步骤的描述,是程序设计的基础。

在算法与程序设计课程中,学生将学习到一些常用的算法,比如排序算法、算法、图算法等。

通过学习这些算法,学生可以更好地理解问题解决的过程,更有效地设计程序。

其次,程序设计是将算法转化为可执行的程序的过程。

在算法与程序设计课程中,学生将学习到一些基本的程序设计技巧,比如控制结构、数据结构、函数的使用等。

通过这些技巧的学习,学生可以更好地组织和编写程序,使程序更清晰、高效。

此外,算法与程序设计课程还教授一些编程语言的基本知识和技能。

学生将学习到一门具体的编程语言,比如C语言、Python等。

通过学习这门编程语言,学生可以更好地理解和运用课程中学到的算法和程序设计技巧。

算法与程序设计课程对学生来说有着重要的意义。

首先,学习算法和程序设计可以培养学生的逻辑思维和问题解决能力。

在解决实际问题时,学生可以有条理地分析问题、设计算法、编写程序,从而更好地解决问题。

此外,学习算法和程序设计还可以培养学生的动手实践能力。

在课程中,学生将进行大量的编程实践,通过不断地练习和实践,学生可以掌握一些实用的程序设计技巧,并能够独立地思考和解决问题。

最后,学习算法和程序设计对学生今后的学习和工作都具有重要的意义。

在计算机科学领域中,算法和程序设计是非常基础的知识和技能。

无论是学习其他计算机科学的课程,还是从事相关的工作,都需要掌握这些基本的知识和技能。

综上所述,算法与程序设计是高中信息技术选修1中的一门重要课程。

通过学习这门课程,学生可以掌握一些基本的算法和程序设计的知识和技能,培养自己的逻辑思维和问题解决能力,提高动手实践能力,为今后的学习和工作打下坚实基础。

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修

1. 理解算法与程序设计的基本概念。

2. 掌握算法描述和分析的基本方法。

3. 了解常见的编程语言及其特点。

4. 学会使用算法解决问题,提高逻辑思维能力。

二、教学内容1. 算法与程序设计的基本概念:算法、程序、软件等。

2. 算法描述和分析:流程图、伪代码、时间复杂度、空间复杂度等。

3. 常见编程语言及其特点:Python、C++、Java、JavaScript等。

4. 算法解决问题的方法:穷举法、递归法、分治法、动态规划等。

三、教学重点与难点1. 重点:算法与程序设计的基本概念,算法描述和分析的方法。

2. 难点:常见编程语言的选择与运用,算法解决问题的策略。

四、教学方法与手段1. 教学方法:讲授、案例分析、上机实践、小组讨论等。

2. 教学手段:多媒体课件、网络资源、编程软件、教学案例等。

五、教学安排1. 第1-2课时:算法与程序设计的基本概念。

2. 第3-4课时:算法描述和分析的方法。

3. 第5-6课时:常见编程语言及其特点。

4. 第7-8课时:算法解决问题的方法。

5. 第9-10课时:综合练习与拓展。

1. 平时成绩:包括课堂参与、作业完成、上机实践等,占总评的40%。

2. 期中考试:包括选择题、填空题、编程题等,占总评的30%。

3. 期末考试:包括算法分析、编程实践、综合应用等,占总评的30%。

七、教学资源1. 教材:高中信息技术算法与程序设计教材。

2. 辅助资料:相关论文、博客、在线教程等。

3. 编程软件:Python、C++、Java、JavaScript等。

4. 在线编程平台:LeetCode、牛客网等。

八、教学进度计划1. 第1-2周:算法与程序设计的基本概念。

2. 第3-4周:算法描述和分析的方法。

3. 第5-6周:常见编程语言及其特点。

4. 第7-8周:算法解决问题的方法。

5. 第9-10周:综合练习与拓展。

6. 第11-12周:期末复习与考试。

九、教学反思1. 定期收集学生反馈,了解教学效果,调整教学方法。

粤教版高中信息技术选修:程序与程序设计语言

粤教版高中信息技术选修:程序与程序设计语言
自然语言、流程图、伪代码等。
1.3 程序与程序设计语言
新课引入
上一节课学习了三种描述算法的方法,但这三 种算法计算机无法识别,必须编写程序代码,方可 实现用计算机解决问题。本节课将学习用VB编写“ 鸡兔同笼”、“求100以内能被3整除的数”等问题 的程序,然后同学们通过自主学习,认识一下VB程 序设计方面的知识。
作业设置:
1.3 程序与程序设计语言
P16“探究” 部分。 在VB中输入“鸡兔同笼问题”程序代 码,按F8键,单步运行程序,并注意观察 程序的执行顺序。
1.3 程序与程序设计语言
课堂小结:
1、程序的概念; 2、程序的基本特征; 3、程序的基本控制结构; 4、程序设计; 5、程序设计语言的发展。
1.3 程序与程序设计语言
4、程序设计:即编写程序的过程。
一个高质量程序,应具备以下条件: (1)建立正确的数学模型和确定有效的计算方法; (2)运行结果必须正确,且在精度和其他方面均 满足要求; (3)程序本身具有良好的结构,逻辑清楚,易读 易懂; (4)程序运行时间尽可能短,同时尽可能地使用 内存; (5)便于检查、修正、移植和维护。
1.3 程序与程序设计语言
教学目标
1、知识与技能 理解算法、程序设计、程序设计语言之间的关系,了解
程序设计语言的发展及种类。 2、过程与方法
使学生初步体验编程乐趣,了解如何编辑程序、编译程 序。 3、情感态度与价值观
让学生进一步领会算法和程序设计在解决问题中的地位, 体会编写出程序的魅力,从而培养学生学习编程的兴趣。
粤教版高中信息技术(选修1) 算法与程序设计
高一级第二学期
第一章 揭开计算机解决问题的 神秘面纱
1.3 程序与程序设计语言

高中信息技术粤教版选修1第一章第2-2课《算法》省级名师优质课教案比赛获奖教案示范课教案公开课教案

高中信息技术粤教版选修1第一章第2-2课《算法》省级名师优质课教案比赛获奖教案示范课教案公开课教案

高中信息技术粤教版选修1第一章第2-2课《算法》省级名师优质课教案比赛获奖教案示范课教案公开课教案
【省级名师教案】
1教学目标
1..知识与技能:
了解算法的定义及其表达方法;
认知流程图的六种基本符号;
(3)理解计算机解决问题的一般过程。

2.方法与过程
(1)理解用不同的表达方法描述算法的优缺点;
(2)掌握用流程图描述简单的算法。

3.情感态度和价值观
以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。

2学情分析
在必修模块4.1“编制计算机程序解决问题”部分以及本章第一节的学习中,学生已经经历了用计算机解决问题的基本过程,对VB开发环境有所了解,这些都为本节课的学习提供了良好的基础。

(学生对本节内容的学习具备一定的基础知识和学习经验)
本节课有关知识、问题与数学学科联系紧密,学生具有相关的数学基础,因此理解起来相对容易。

教学中要关注全体学生,变学生的个体差异为资源,发挥同伴互助作用,共同提高教学效率。

3教材分析
本课时教学内容的功能和地位
本节课是广东版教材高中信息技术选修1《算法与程序设计》第一章第2节的教学内容,包括:算法的概念,经历用自然语言、流程图或伪代码等方法描述算法的过程,算法在解决问题中的地位和作用等。

本章是全书的开篇和概述,而本节内容是本章的重要环节,是对前一节知识内容的进一步学习,也为后续章节的学习和开展多元化交流与合作做好必要的准备。

4重点难点。

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修一、第一章:算法与程序设计概述1. 教学目标了解算法的概念、特点和分类,理解程序设计的基本概念,掌握算法描述和分析的基本方法。

2. 教学内容(1)算法的概念和特点(2)算法的分类(3)程序设计的基本概念(4)算法描述和分析的方法3. 教学方法采用案例教学法,结合具体实例讲解算法的概念、特点和分类,以及程序设计的基本概念。

4. 教学步骤(1)引入案例:讲解算法的概念和特点(2)讲解算法的分类(3)讲解程序设计的基本概念(4)讲解算法描述和分析的方法二、第二章:流程图和伪代码1. 教学目标掌握流程图和伪代码的表示方法,能够使用流程图和伪代码描述算法。

2. 教学内容(1)流程图的表示方法(2)伪代码的表示方法(3)使用流程图和伪代码描述算法3. 教学方法采用实例教学法,结合具体实例讲解流程图和伪代码的表示方法,以及如何使用它们描述算法。

4. 教学步骤(1)引入案例:讲解流程图的表示方法(2)讲解伪代码的表示方法(3)讲解如何使用流程图和伪代码描述算法三、第三章:顺序结构1. 教学目标掌握顺序结构的表示方法,能够使用顺序结构编写程序。

2. 教学内容(1)顺序结构的概念(2)顺序结构的表示方法(3)使用顺序结构编写程序3. 教学方法采用案例教学法,结合具体实例讲解顺序结构的概念和表示方法,以及如何使用顺序结构编写程序。

4. 教学步骤(1)引入案例:讲解顺序结构的概念(2)讲解顺序结构的表示方法(3)讲解如何使用顺序结构编写程序四、第四章:选择结构1. 教学目标掌握选择结构的概念和表示方法,能够使用选择结构编写程序。

2. 教学内容(1)选择结构的概念(2)选择结构的表示方法(3)使用选择结构编写程序3. 教学方法采用案例教学法,结合具体实例讲解选择结构的概念和表示方法,以及如何使用选择结构编写程序。

4. 教学步骤(1)引入案例:讲解选择结构的概念(2)讲解选择结构的表示方法(3)讲解如何使用选择结构编写程序五、第五章:循环结构1. 教学目标掌握循环结构的概念和表示方法,能够使用循环结构编写程序。

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修

高中信息技术算法与程序设计教案粤教版选修第一章:算法与程序设计概述1.1 算法的概念引导学生理解算法的定义和特性举例说明算法在解决问题中的应用1.2 程序设计基础介绍编程语言的基本概念和作用学习编程语言的基本语法和结构1.3 算法与程序设计的关系解释算法和程序设计之间的联系和区别强调算法在程序设计中的重要性第二章:基本编程概念2.1 变量和数据类型介绍编程语言中的变量和数据类型的概念学习如何声明和使用变量2.2 控制结构学习编程语言中的条件语句和循环语句掌握条件判断和循环的实现方法2.3 函数和模块理解函数的概念和作用学习如何定义和使用函数第三章:算法设计与分析3.1 算法设计方法介绍常见的算法设计方法,如贪婪法、分治法、动态规划等学习如何运用这些方法设计解决问题3.2 算法分析学习算法分析的基本概念和方法掌握如何评估和比较算法的时间复杂度和空间复杂度3.3 算法优化与改进引导学生思考算法优化和改进的方法学习如何优化算法以提高效率和性能第四章:常用算法实现4.1 排序算法学习常见的排序算法,如冒泡排序、选择排序、插入排序等掌握排序算法的实现方法和应用场景4.2 搜索算法学习常见的搜索算法,如顺序搜索、二分搜索等掌握搜索算法的实现方法和应用场景4.3 递归算法理解递归算法的概念和特点学习如何设计和实现递归算法第五章:算法与程序设计实践5.1 编程实践概述介绍编程实践的重要性和目的学习如何进行有效的编程实践5.2 算法与程序设计项目引导学生进行算法与程序设计项目实践指导学生完成项目并进行成果展示和评价5.3 算法与程序设计竞赛介绍算法与程序设计竞赛的背景和意义学习如何准备和参加算法与程序设计竞赛第六章:数据结构与算法6.1 数据结构基础介绍数据结构的基本概念和重要性学习常用的数据结构,如数组、链表、栈、队列等6.2 算法与数据结构的关系解释算法和数据结构之间的紧密联系学习如何选择合适的data structure 来优化算法6.3 常见的数据结构算法学习使用数据结构来实现常见算法,如排序、搜索等掌握数据结构在算法中的应用和优化方法第七章:算法思维与问题解决7.1 算法思维培养引导学生培养算法思维和问题解决能力学习如何将实际问题转化为算法问题7.2 算法思维工具与技巧学习常用的算法思维工具和技巧,如图示、逻辑推理等掌握如何运用这些工具和技巧来解决问题7.3 算法思维实践与应用进行算法思维实践题目训练引导学生运用算法思维解决实际问题第八章:算法设计与创新8.1 创新算法设计方法学习创新算法设计的方法和技巧引导学生进行创新性算法设计和思考8.2 算法设计与创新实践进行创新算法设计实践题目训练指导学生完成创新性算法设计项目8.3 算法设计与创新展示进行算法设计与创新成果展示和评价鼓励学生分享算法设计与创新经验和成果第九章:算法与程序设计挑战9.1 算法与程序设计难题挑战引导学生挑战算法与程序设计难题指导学生分析和解决难题的方法和技巧9.2 算法与程序设计竞赛训练针对算法与程序设计竞赛进行训练和指导学习竞赛中的常见题型和解决方法9.3 算法与程序设计竞赛备战指导学生备战算法与程序设计竞赛进行模拟竞赛和成果评估第十章:算法与程序设计应用10.1 算法与程序设计在实际应用中的案例分析分析算法与程序设计在实际应用中的重要性和作用学习算法与程序设计在实际应用中的方法和技巧10.2 算法与程序设计应用实践引导学生进行算法与程序设计应用实践完成实际应用项目并进行成果展示和评价10.3 算法与程序设计在前沿领域的探索探索算法与程序设计在前沿领域的应用和发展引导学生关注算法与程序设计的前沿动态第十一章:算法与程序设计调试与优化11.1 调试技巧与方法介绍编程中的调试方法和技巧学习如何有效地定位和修复代码中的错误11.2 性能优化理解算法和程序的性能概念学习如何对算法和程序进行性能分析和优化11.3 代码风格与可维护性强调代码风格的重要性学习编写清晰、规范、易于维护的代码第十二章:算法与程序设计伦理与法律12.1 知识产权与法律知识介绍计算机程序的知识产权保护学习相关的法律法规,了解软件盗版、侵权等问题12.2 算法伦理与道德规范引导学生关注算法伦理问题学习在编程和算法设计中应遵循的道德规范12.3 信息安全与隐私保护理解信息安全的重要性学习保护用户数据和隐私的基本原则和方法第十三章:算法与程序设计案例研究13.1 经典算法案例分析分析计算机科学中的经典算法案例学习这些经典算法的设计思路和应用场景13.2 现实世界算法应用案例研究现实世界中算法和程序设计的重要应用理解算法如何解决实际问题并提高生活质量13.3 创新算法案例研究研究创新算法的设计和应用案例激发学生对算法和程序设计研究的兴趣和热情第十四章:算法与程序设计项目实践14.1 项目设计与规划学习如何设计大型程序设计项目掌握项目规划和管理的基本方法14.2 团队协作与沟通强调团队合作在程序设计中的重要性学习有效的团队协作和沟通技巧14.3 项目实施与总结引导学生实施项目并进行监控和指导完成项目后进行总结和评估,提取经验教训第十五章:算法与程序设计未来展望15.1 算法与程序设计发展趋势探讨算法与程序设计的未来发展趋势了解新兴技术和领域对算法与程序设计的影响15.2 算法与程序设计教育创新探讨算法与程序设计教育的创新方向学习如何适应未来的教育和职业发展需求15.3 算法与程序设计创新实践鼓励学生进行创新实践和探索为学生提供展示创新成果的平台和机会重点和难点解析重点:1. 算法与程序设计的基本概念和特性。

粤教版高中信息技术选修1《程序与程序设计语言》复习课件

粤教版高中信息技术选修1《程序与程序设计语言》复习课件
广东版教材高中信息技术(选修1)《算法与程序设计》 第一章 揭开计算机解决问题的神秘面纱 第三节
程序与程序设计语言
1、顺序结构
S1
将命令和语句逐条顺序排列。
S2
程序执行时按语句的先后顺序逐条执行
S3
例、 a=1 b=2 c=a+b a=c-a b=c-a
最后,变量b的值是( 1 )
2、选择结构:(分支结构)
If c<m Then
m=c
End If
该程序段运行后, 变量m的值是( 1 )
3、 循环结构: 根据条件判断其是否成立,如果条件成立则重
复执行循环体(循环结构中某语句序列),直到条 件不成立,退出循环结构为止。
Do Until循环结构的常用形式为: Do
[循环体] [循环变量] Loop Until 循环终止条件
根据条件判断其是否成立,如果成立执行成立的分支; 否则执行另一分支。
其一般形式为:
If 条件 Thenຫໍສະໝຸດ 语句序列1Else
语句序列2
End If
分支结构的简单形式为: If 条件 Then
语句序列 End If
C
S1
S2
例、a=2:b=1:c=5
If a<b Then
m=a
Else
m=b
End If
循环体

条件

例、 s=0 i=1 Do s=s+i i=i+1
Loop Until i>100 最后,变量s的值是( 5050 )
1、有以下程序段: ①. I = 3 J=5 I = I+J
巩固练习
②. J = 0 I=1 DO J=J十I I=I十1 Loop Until I > 5

高中信息技术 算法与程序设计(第一章)课件 粤教选修1

高中信息技术 算法与程序设计(第一章)课件 粤教选修1

不同点:当计算量较大时,人工解题就有点力不从心了,而计算机每秒上亿次的计算速度却不在话下, 并且只要算法正确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如: sum=1+2+3+4+5……+(n-1)+n这样的问题。
算法与程序设计
1.2 算法和算法的描述
1、算法的概念
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。即,用计算机求 解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
写出解题的算法
穷举
算法与程序设计
2x+2y+z≤12 X+2y+z ≤8 4x ≤16 4y ≤12
0 ≤x ≤6; 0 ≤y ≤6; 0 ≤z ≤12 0 ≤x ≤8; 0 ≤y ≤4; 0 ≤z ≤8 0 ≤x ≤4 0 ≤y ≤3
0≤x≤4 0 ≤y ≤3 0 ≤z ≤8
算法与程序设计
3、设计算法: 开始
算法与程序设计
f_max = 0 For x = 0 To 4 For y = 0 To 3 For z = 0 To 8 If f_max < f(x, y, z) Then f_max = f(x, y, z) x_max = x y_max = y z_max = z End If Next z Next y Next x Print “当x=”; x_max; “,y=”; y_max; “,z=”; z_max; “时," Print “f(x,y,z)的最大值="; f_max
算法的特征: 1)、有0或多个输入。解题算法中可以没有数据输入,也可以同时输入多个需
要算法处理的数据。 2)、确定性。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生

高中信息技术选修:算法与程序设计 程序的选择结构(全国一等奖)

高中信息技术选修:算法与程序设计   程序的选择结构(全国一等奖)
Dim x1 as single, x2 as single
L=VAL(inputbox(“请输入铁丝的长度:”))
S=VAL(inputbox(“请输入矩形的面积:”))
D=L*L/4-4*s
If d>=0 then
X1=(L/2+sqr(d))/2
X2=(L/2-sqr(d))/2
print”这个矩形的长和宽分别为:”;x1;”和”; x2
双分支语句
格式1:
IF条件then语句1else语句2
格式2:
If条件then
语句组1
Else
语句组2
End if
如果“条件”为True,则执行“then部分”,否则执行“else部分”。
用双分支语句格式将上述流程图转化成程序
x=inputbox(“输入x的值”)
If x>0 then y=5+x else y=x^2+12
If x<=0 then y=x^2+12
print y

x=Val(inputbox(“输入x的值”))
If x>0 then
y=5+x
end if
If x<=0 then
y=x^2+12
end if
print y
讲授
已经看见有好多同学在用单分支语句写程序时,写成了“if…then…else…”的句式。
或者
if weather=”sunny”then
print“don't take an umbrella”
end if
练习
单分支IF语句实例——分段函数
实践:编写这个分段函数的程序,并输出到窗体上。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课题:2019-2020年粤教版高中信息技术选修《优雅的算法世界——算法与程序设计前言》说课设计附反思引入各位评委上午好。

记得有句歌词是:“不是我不明白,这世界变化快”,现在我们每天不得不和一大堆的密码打交道,什么电子邮箱、QQ、论坛、博客,当然还有各种银行卡密码等,密码多了容易忘记。

我手中拿的是一张银行卡,有一次我急着用钱,但就是不记得密码了,在ATM机上连着试了几次都取不出钱来,机器警告我不允许再试了,否则吞卡,为什么会这样呢?今天我的说课就从“银行限制试探密码次数”说起,题目是——优雅的算法世界。

一、教材内容分析1.《课标》对本模块的要求《算法与程序设计》是《普通高中信息技术课程标准》中的选修模块,其目的在于“使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题”,要“引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题”。

2.简析教材粤教版《算法与程序设计》第一章《揭开计算机解决问题的神秘面纱》从华南太阳能设备厂的生产方案入手,分三个小节,主要讲解了计算机解决问题的过程、算法和算法的描述、程序与程序语言等,其中“算法和在解决问题中的地位和作用”是第二节中的部分内容,通过比较了两种求“最大公约数”算法的效率来强调算法的重要性。

二、学生分析高中学生已经有了一定的数学基础,甚至数学选修课里面也有“算法”的内容,他们的抽象思维能力也比初中学生好得多,但选修算法这门课程的学生仍然不是很多,也许是因为目前初中小学《信息技术》课程几乎没有程序设计内容的缘故吧,所以很多学生对编程不太理解,不知道这门课教什么内容,还有的学生听说编程很难,很枯燥。

正所谓“万事开头难”,所以上好第一节课对学生后面课程的学习是非常重要的。

1.设计方向记得初中物理第一节课,一位老教师走了进来,手里拿了很多好玩的东西,如单摆、不倒翁、音叉等等,我们在尽情的玩耍中体会到科学的神奇,刺激了我们学好这门课程的欲望。

这节课给我留下了深刻的印象,以至于到现在还历历在目,这些看似漫不经心拿来的玩具却在我们后来所学的热、电、声、光等课程中都用到了,所以我想能否结合《课标》的要求和目前教材的编写思路,在本课程的第一节课上一节引导课,以学生身边的实际问题入手,结合一些益智类游戏,一方面可以激发学生对算法和程序设计内容的兴趣,另一方面又对本课程的后续内容起到一个高屋建瓴的作用。

2.教学目标及教学重难点【教学目标】知识与技能:1)了解什么是算法及算法在问题解决中的地位和作用。

2)能描述穷举法的基本思想。

3)了解顺序查找算法、对半查找算法和递归算法。

4)尝试VB软件的基本操作,模仿“猜100以内整数游戏”的算法写出“猜4个数”游戏算法的主要步骤;过程与方法:1)能从生活中“银行限制试探密码次数”的现象出发,在老师的指导下,了解用穷举法解决问题的基本思想;2)能通过BBS获得问题的有关要求和提示信息,在体验游戏之后,能在BBS上发表观点、交流思想、开展合作;情感态度价值观:在游戏的过程中,体验到算法是有用的、有趣的,激发对《算法和程序设计》这门课程的求知欲。

【教学难点】递归算法【教学重点】算法在问题求解中的地位和作用。

课前准备1.为了能让学生更好的交流和分享心得,最好所有的学生用机都能连上因特网,并且每位学生已在班级论坛里注册了;2.为了共享教学辅助资源,要确保所有学生机都能连接到教师机。

3.为了使演示能顺利进行,要确保“教学控制系统”能正常使用(一).引入师:大家看到老师手上拿的一张交行的银行卡,有一次我取钱的时候不记得密码了,于是就将常用的密码一个一个的去试,但试到第三次的时候,ATM柜员机警告不允许再试了,否则将没收磁卡,请问:“银行为什么要限制尝试密码的次数”呢?生:为了安全,以免银行卡丢失的时候,别人取走了你的钱。

师:请注意老师的问题,为什么要限制次数呢?生:因为如果不限制次数的话,试多了,就可以试出密码来。

师:如果现在换作你,无论试多少次都可以,你怎么获得密码?通常我们银行卡的密码是六位数。

生:一个一个的去试,先是000000,然后000001,一直到999999,总有一个密码是对的。

师:我可不是要大家以后捡到了别人的卡都去试啊(笑),只是讨论这种方法的可行性。

刚才大家的讨论说明了,如果不限制次数,六位数的密码我们最多试一百万次,一定能够获得相应的密码,所以幸好银行限制了次数,而且也限定了每天所取的金额不超过5000元,这样较好的保护了我们的利益。

(二).算法的基本概念1.穷举法和算法的基本概念这学期我们要学习的内容是《算法与程序设计》,提到算法,大家可能觉得很神秘,很高深,其实我们刚才试密码的方法就是一种最简单、最实用的算法,它的名字叫“穷举法”。

就是列出所有可能的情况,一个一个判断是否符合问题所要求的条件,从而得到问题的答案。

那什么是算法呢?通俗的说,“算法就是用计算机求解某一问题的方法”。

人们常说,数学是思维的体操,数学之美,是智慧之美,算法与之有异曲同功之妙。

因为算法不仅有数学的渊源,她更是计算机世界的核心之一,算法里的每一次跳转就是她飞扬的舞步,所以说算法的世界,是优雅的世界。

2.对半查找算法举例接着说上面的那个银行卡密码的游戏,请你先想好一个6位数的密码,然后让电脑去猜,如果你每次只告诉电脑猜得对或“不对”,那么从理论上来说,电脑可能要猜一百万次才能猜中你的密码,这就是刚才我们所说的穷举法。

但如果你每次告诉电脑它所猜的数字比你的密码是大了还是小了,然后电脑再猜下一个数字,不断重复这个过程,直到电脑猜中你的密码为止,请问电脑最多要多少次才能猜中一个六位数的密码?请写出电脑的算法。

我们在玩这个游戏时,可以简化成甲乙两人猜一个100以内的整数,甲出题,乙来猜,甲来说“大了”或是“小了”,或是“猜中了!”那么乙猜数的过程就是电脑猜密码的算法!这样学生很容易想到用对半查找法去解决问题。

根据游戏的过程,填补下列算法的空白处(见下表)。

切换到代码窗口,比较代码与算法的基本对应关系(由于语言的不同,算法和代码不是绝对的一一对应)。

顺序算法主要代码1 次数设为1 n = 12 设置所猜数字的范围,a为最小数,b为最大数a = 0b = 1000000 Do3 取a和b中间的那个数给c c = Int((a + b) / 2)Print "第"; n; "次"; c;4 将c和密码相比,如果c比密码数大,就输入>,如果c比密码数大,就输入<,如果正好相等,则输入= ch1 = InputBox("这个数和您所想的数相比是大了(>),还是小了(<),或正好相等(=)?")5 如果输入的是>,就将C和值给B,即缩小范围在a和c之间;如果是<,就将C和值给a,即缩小范围在c和b之间;如果是=,则程序跳到第步Select Case ch1Case ">"b = cCase "<"a = cCase ElseExit DoEnd Select6 次数加1,回到第步n = n + 1Loop Until abs(a-b)<0.1 7 显示“猜对了”,并结束Print "OK"(三).游戏体验学生从教师机下载游戏,可以选择下列两个游戏中的任意一个,根据提示或要求完成任务,并在论坛上回贴。

1.汉诺(Hanoi)塔问题。

要求:1)先试着完成5个盘子的搬运过程,如果感觉太难就退到4个,如果还是感觉难,可以退回到3个盘子的状态;如果可以很轻松完成5个盘子的搬运,可以试着到6个盘子、7个盘子的搬动游戏;2)试着总结N个盘子和N-1个盘子搬运过程的关系;提示:当4个盘子搬到如右图所示的状态时,你会怎么办?那么4个盘子和3个盘子的移动过程的关系是什么?2.猜数字游戏要求:1)在老师的指导下试着打开“代码窗口”、“对象窗口”,对程序有个初步的了解;2)执行程序,玩这个游戏,看看你要几次才能猜对;3)如果目前游戏的限制次数10太少了,你能否修改程序代码,使得游戏次数为20次,在哪里改,请将你的经验回贴在下面;如果你能够很轻松的在规定次数内破解这个游戏,能否将你的破解密技公布一下?4)学习计算机编这个游戏程序的算法过程,并试着将第③步和第④步说得更详细一点:①由电脑随机产生0-9之间的任意四个数,次数初值为1;②由人来输入4个不相同的数字;③统计4个数中有几个数字存在但位置不对;④统计有几个数字位置都对,如果4 个数字位置都对,则跳到第⑦步;⑤猜的次数增加1次;⑥如果次数到了10次,则显示这个数,并显示“失败”,程序结束;否则跳过第②步。

⑦输出这个数,显示“成功”和次数,程序结束。

(四).成果分享通过论坛上的留言发现学生的闪光点,每个题目请一位同学上台展示游戏的过程,并谈谈对老师所提出的问题的感想。

(五).课堂小结编程之道就如武学之道,VB,VC等开发工具的技巧好比各门各派的武功招式,算法好比内功心法,如果内力深厚,任何招式到了手上都能够化腐朽为神奇。

今天这节课,我们初步体验了穷举法、顺序查找法、对半查找法和递归等算法,由于时间关系,讲得还不是很透彻,不过,后续的课程中,我们还会分别进行更为深入的学习。

当然,对于今天这节课,如果你有什么问题,可以在课下或在论坛中提出,老师会尽可能的帮你解答。

另外,我们在论坛中还提供了与“八皇后”、“哥尼斯堡七桥问题”、“幻方”、“WORD密码查看器”等游戏,如果大家感兴趣的话,可以下载玩玩,别忘了留下你的感受。

好,下课!五、教学评价何老师:1.本节课内容生动,学生积极性比较高,完成的效果也比较好,虽然河内塔一例学生没有当堂展示出来,但这位学生思路比较清晰,能反映出他对递归算法的基本原理有所体会,因为是算法的第一节课,应该说教学目的达到了。

2.在算法的概念和意义部分表述还需要提高。

3.学生的竞争和协作设计得很好,但在完成过程中体现得还不是很充分。

赵老师:本节课的设计应该说吴老师是花了相当大的气力的,主要是很多小软件和资料的下载,非常能说明问题,给我印象较深的是“word密码破解”和“河内塔”这两个游戏,其中“word 密码破解”中吴老师设计了这样一个问题:“观察电脑破解密码的过程,注意最末一位的变化,想一想电脑获取密码的主要策略是什么?如何在软件中输入正确的参数,使得查找的速度有所提高?”这样结合实例来谈穷举法就比较生动有效。

而“河内塔”是讲递归的经典程序了,我们大学学习时总是很痛苦没有相应的游戏,现在的教学方法比大学好多了。

相关文档
最新文档