教学设计
课例名称 2.2 算法的概念及描述
学段学科 高中 信息技术 教材版本 人教中图版2019第1版
章节 第二章 第二节 年级 高一
核心素养 目标 经历用自然语言、流程图、伪代码等方法描述算法的过程,体验在用计算机解决问题中,不同的算法会产生不同的运行效率(计算思维)。 选用恰当的描述方法和控制结构表示简单算法,增强用算法解决问题的意识(信息意识)。 3、关注算法设计的意义(信息社会责任)。
教学重难点 1、教学重点: 经历用自然语言、流程图、伪代码等方法描述算法的过程。 2、教学难点: 通过设计算法掌握算法在解决问题中的地位和作用。
教材分析 在运用计算机解决问题的过程中,算法设计是一个重要环节,不同的算法会产生不同的运行效果。面对迅猛的科学技术,算法已经和我们的生活密不可分。 本节以智力游戏和现实问题入手,介绍算法的概念、算法的特征、算法的描述。选用现实生活案例是让学生经历用自然语言、流程图、伪代码等方法描述算法的过程;用经典项目体验算法的设计的意义及文化价值。
教学策略 本节从探究活动入手,经历分析问题,设计和描述算法,通过“探究——思考——归纳——比较——交流”等教学环节开展教学。 充分利用项目活动,创设学习情境,引导学生关注算法在社会生活中的应用,激发学习热情。
教学 环节 教师活动 学生活动 设计 意图
分析现实问题 1.通过智力小游戏和生活案例,拉开本节教学的序幕。 2.引导学生寻找生活中在算法应用的例子,强化算法概念。 探究一:学生完成 Flash智力游戏 探究二:开动脑筋,解决身边事。 某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢? 算法已经渗透到了人们生活、娱乐、学习等方方面面,让学生在有趣、有疑、有思、有情下开展学习。
新课讲解 通过演示文稿介绍: 认识算法 算法特征 算法描述 1、思考为什么学习算法。 2、了解算法在解决问题中的作用 3、体验算法的奥妙,并将所学知识应用到解决实际问题中去。 明确学习目标,为下一环节学生进行自主学习打基础。
解决问题 引导学生经历用自然语言、流程图、伪代码等方法描述算法的过程 助力学生选用恰当的描述方法和控制结构表示简单算法。 1、以上述“天下真有不要钱的午餐”为项目,进行探究,小组协作建构算法。 重点是用流程图表示: 2、算法描述方式的比较,归纳总结各种算法的形式优点与不足。 启发学生对现实问题进行有针对性思考,培养学生运用计算机解决实际问题的意识,关注算法在生活中的应用。
探究协作 问题一、: 我国南北朝时的重要数学著作《孙子算经》有这样 一个问题:今有物不知其数:三三数之余二,五五数之余三,七七数之余二,问物几何 问题二: 在上述问题基础上再加深。求整除3余1、整除5余2、整除7余4、整除13余6、 整除17余8的最小自然数。 探究一: 1、分析问题,找出已知和未知、列出已知和未知的关系,及人工算术解题步骤(后附表1)。 2、构建流程图算法 3、用伪代码描述: x=1 while not(x % 3==2 and x% 5==3 and x % 7==2): x=x+1 print(“满足条件的数是:”,x) 体会项目中的文化价值,以及算法的思想掌握算法在问题解决中的地位和作用
阅读拓展 引导学生了解更多的知识,构建网络学习平台。 学生充分利用网络,查找相关内容 1、网上搜索“算法的历史”相关资料。 2、程序语言的发展。 机器语言 汇编语言 高级语言 3、网上搜索“程序设计语言产生背后的故事”相关资料。 通过知识的延伸,促使学生将知识内化,并进一步感受本节课知识的地位与作用。
附:
表1
分析问题(找出已知和未知、列出已知和未知的关系) 人工算术解题步骤
有物不知其数 X 三三数之剩二 X÷3=y1余2 五五数之剩三 X÷5=y2余3 七七数之剩二 X÷7=y3余2 问物几何? X 令 X 为1 如果X整除3余1,X整除5余2, X整除7余4, X整除13余6, X整除17余8,则记下这个 X。 令X 为 x+1 如果算出,则结束;否则跳转 。 写出答案。(共25张PPT)
第一节
算法的概念及描述
算法与程序设计
目 录
CONTENTS
认识算法
描述算法
深入探究 完成任务
分析现实问题
一
二
三
四
一
分析现实问题
一
分析现实问题
有三个秀才和三个妖怪过河,只有一条能装下两位的船,在渡河过程中,两岸边妖怪的人数如大于秀才的人数,秀才就会被吃掉。请找出安全的渡河方法,写一写你的渡河方案。
探究一:让学生完成智力游戏
一
分析现实问题
蕴涵了这样一个核心思想:给出所有可能的都考虑到的搜索规则,经过有限次的操作,一定能得到最终结果,这就是计算的思维方法。
天下真的有“不要钱的午餐”吗?
某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?
探究二
二
认识算法
二
为什么学习算法
智能时代,算法已经广泛应用于各领域,许多专家通过分析行业的运行规律,界定问题,有针对性地建立模型,设计算法,并应用信息技术实现模型,从而创造出新产品,创生出新的产业,例:在网络环境下实现“互联网+单车”,催生出“共享单车”这个新产业,解决短距离出行不便问题。
认识算法
二
算法概念
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法是计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
认识算法
四
认识算法
一个算法一般要求有0个或多个输入,来描述运算对象的初始情况。
一个算法有一个或多个输出,以反映对输入数据加工后的结果。
指算法必须能在执行有限个步骤之后终止,也就是算法步骤不能是无限的。
算法中的每一步操作都是可以执行的,或者都可以分解成计算机可执行的基本操作。
算法的每个步骤都具有确定的含义,读者在理解时不会产生二义性。
有穷性
03
可行性
04
有输出
02
有输入
01
确定性
05
算法的特征
三
描述算法
三
算法描述的三种方法
自然语言
通俗易懂,但缺乏直观性和简洁性,并且容易产生歧义
流程图
伪代码
以Visual Basic、C++、 python 等语言实现, 是介于自然语言和计算机语言之间的文字。
程序框 名称 功能
开始结束 算法的开始和
结束
输入输出 输入和输出信息
处理 计算与赋值
判断 条件判断
流程线 算法中的流向
三
描述算法
解决问题
天下真的有“不要钱的午餐”吗?
某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须在这张圆桌按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费 。于是有人想,这太容易了,于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?
四
自然语言描述
1
天下真的有“不要钱的午餐”吗?
①第一个座位5个人都有坐的机会
②第二个座位只有4个人中的任一个有坐的机会
(一个人不能同时坐两个座位)
③第三个座位只有3个人中的任一个有坐的机会
④第四个座位只有2个人中的任一个有坐的机会
⑤第五个座位只有1个人有坐的机会
⑥计算:5×4×3×2×1=120
⑦得出结论:需要吃120次才有可能吃上免费午餐。
描述算法
四
流程图
2
天下真的有“不要钱的午餐”吗?
开始
输出结果 s
条件
i<=5
处理 S=s*i
结束
定义变量 i , s,赋初值
N
Y
i=i+i
四
流程图
伪代码
2
天下真的有“不要钱的午餐”吗?
开始
输出结果 s
条件
i<=5
处理 S=s*i
结束
定义变量 i , s,赋初值
N
Y
i=i+i
Print (”需要吃多少次能免费:”, s, "次”)
i=1
s = 1
While i<=5:
s = s * i
i = i+1
三
描述算法
伪代码
3
伪代码
3
伪代码的目的是使被描述的算法可以容易地以任何一种编程语言(python,C,Java等)实现。
三
描述算法
算法描述方式 优势 不足
自然语言
流程图
伪代码
算法描述方式的比较
四
深入探究 完成任务
四
深入探究 完成任务
思考1:
我国南北朝时的重要数学著作《孙子算经》有这样
一个问题:今有物不知其数:三三数之余二,五五数之
余三,七七数之余二,问物几何
四
深入探究 完成任务
分析问题(找出已知和未知、列出已各和未知的关系) 人工算术解题步骤
有物不知其数 X 三三数之剩二 X÷3=y1余2 五五数之剩三 X÷5=y2余3 七七数之剩二 X÷7=y3余2 问物几何? X
解题步骤1:
三人同行七十稀 2×70=140
五树梅花廿一支 3×21=63
七子团圆正半月 2×15=30
140+63+30=233
解题步骤2:
除百零五使得知 233÷105=2余23
(3×5×7=105)
结果:此物为23
四
深入探究 完成任务
开始
X被3、5、7、整除后余数为2、3、2
X+1 X
输出X
结束
Y
N
1 X
四
开始
X被3、5、7、整除后余数为2、3、2
X+1 X
输出X
结束
Y
N
1 X
x=1
While not(x % 3==2 and x% 5==3 and x % 7==2):
print (“满足条件的数是:” , x)
%是求余运算符
x=x+1
四
思考2:
请同学们再思考:
求整除3余1、整除5余2、整除7余4、整除13余6、
整除17余8的最小自然数。
分析问题(找出已知和未知、列出已各和未知的关系) 写出解题步骤
设所求的数为X, 则应满足:
X 整除3余1
X 整除5余2
X 整除7余4
X 整除13余6
X 整除17余8
令 X 为1
如果X整除3余1,X整除5余2, X整除7余4, X整除13余6, X整除17余8,则记下这个 X。
令X 为 x+1
如果算出,则结束;否则跳转 。
写出答案。
四
深入探究 完成任务
在“互联网+”这个最好的时代,发展的步伐是无法阻挡的,我们所能做的是掌握一些有用的算法,用理性精神来面对现实,抓住智能时代的机遇,而不是回避它、否定它和阻止它。未来的社会,属于那些具有创意的人,属于那些理性的人,属于那些懂得在生活中运用计算思维的人。
THANK YOU!2.2算法的概念与描述
练 习 题
一、选择题
1、(单选)下列问题不能用算法描述的是( )
A.找出所有能被3整除的自然数
B.输入身高体重,判断体型情况
C.找出1000个整数中的最大值与最小值
D.将十进制数64转换为对应的二进制数
2.(单选)计算机能直接识别的算法表示形式是____。
A.自然语言 B.流程图
C.计算机语言 D.伪代码
3.(单选)在算法描述几种方法中容易产生二义性的是()
A.自然语言 B.流程图
C.计算机语言 D.伪代码
4(多选)下列关于算法说法正确的是( )
A.利用计算机解决问题的过程一般是:分析问题、计算算法、编写代码、运行程序
B.算法可以用自然语言、流程图或伪代码描述
C.算法的步骤必须是有限的
D.算法就是计算的方法
二、判断
1、程序算法中至少有一个输入项。
2.解决同样一个问题,算法不管怎样设计,写出的程序运行出结果的时间效率都是一样的。
3.一个算法有0个或多个输出。
4.一个算法是对某个问题而设计的求解的有限步骤,可以用各种计算机程序设计语言写成多种程序。
5、程序设计中的算法其实就是能在计算机上解决问题的方法和步骤。
答案:
一、D C A ABC
二、(错)(错)(错) (对) (对)