内容正文:
算法及其特征
2019教科版
高中信息技术
学习目标
熟悉将解决问题的方法归结为一系列清晰、准确的步骤的过程。
了解算法的基本要素和重要特征。
运用恰当的方式描述算法。
运用Python 语言实现简单算法,解决问题。
三维目标
知识与技能:
能够合理并综合运用三种类型的流程图
能够将算法、流程图进行互相转换
能够通过流程图解决实际问题
过程与方法
通过讲授时的活动练习和探究任务,提高综合运用算法、流程图实现程序设计的能力。
情感态度价值观
能够从实际生活中、其他学科中感知到算法和流程图的实际价值。
学科核心素养
通过选择排序算法将算法、流程图和程序设计结合起来,奠定高级算法基础和高阶信息素养。
一、旧知复习
【流程图】
一、旧知复习
【流程图】
1.输入变量a、b的值。
2.比较a和b。如果a>b,则a存入以max命名的存储单元中;否则,b存入max。
3.输出结果max。
将右侧的流程图转换为算法
该流程图的目的是什么?比较a与b的大小,并输出最大值。
算法
软件开发社团要招募新成员,报名的同学要经过面试才能加入。第一关面试题是:
“一个房间有3盏灯,房间外有3个开关分别控制这3盏灯。在只允许进房间一次的情况下,如何判断哪个开关控制哪盏灯?”
二、知识讲授
二、知识讲授
1、亮与不亮;
2、热与不热;
灯亮推出开关的控制
灯热推出灯曾经亮过。
灯的属性
算法
二、知识讲授
分析步骤:
首先开1号、2号两个开关;
2分钟后关闭1号开关;
进房间,显然亮着的灯由2号开关控制;
接下来摸一下另外两盏不亮的灯,发热的灯肯定由1号开关控制;
最后确定3号开关控制的灯。
根据左侧算法补充完整流程图
算法
二、知识讲授
首先开1号、2号两个开关;
2分钟后关闭1号开关;
进房间,显然亮着的灯由2号开关控制;
接下来摸一下另外两盏不亮的灯,发热的灯肯定由1号开关控制;
最后确定3号开关控制的灯。
根据左侧算法补充完整流程图
算法
二、知识讲授
首先开1号、2号两个开关;
2分钟后关闭1号开关;
进房间,显然亮着的灯由2号开关控制;
接下来摸一下另外两盏不亮的灯,发热的灯肯定由1号开关控制;
最后确定3号开关控制的灯。
根据左侧算法补充完整流程图
算法
二、知识讲授
算法
从某种意义上说,算法也是一种数学模型。一般而言,问题求解的第一步是数学建模。用数学语言描述实际现象,将现实世界的问题抽象成数学模型,就可能发现问题的本质并判定其能否求解,继而找到求解该问题的方法和算法。
二、知识讲授
算法
有穷性
算法必须能在执行有限个步骤之后终止。
确切性
算法中的每一次运算都有明确的定义,具有无二义性,并且可以通过计算得到唯一的结果。
输入项
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件。
输出项
算法一定要有输出。任何算法都不能"无功而返"。
可行性
算法中执行的任何计算都可以在有限时间内完成(也称为有效性)。算法中的运算都必须是可以实现的。
二、知识讲授
选择排序算法
观看视频并思考,视频里是如何实现由小到大排序的?
二、知识讲授
选择排序算法
内涵
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,所以称为:选择排序。
原理(或算法)
设第一个元素为比较元素,依次和后面的元素比较
比较完所有元素找到最小的元素,将它和第一个元素互换
重复上述操作,我们找出第二小的元素和第二个位置的元素互换
以此类推找出剩余最小元素将它换到前面,即完成排序
二、知识讲授
【9和2交换】
【6和4交换】
?
?
?
观察左侧交换位置,请你说出各数组的实现过程和原理。
选择排序算法
二、知识讲授
给出数组4、5、6、3、2、1
1、画出每次排序的结果,并说明每次排序的过程。
2、绘制选择排序的流程图。
【练习】
选择排序算法
二、知识讲授
数据类型——数组
数组用于在单个变量中存储多个值
【练习】尝试以下代码
二、知识讲授
数据类型——数组
数组用于在单个变量中存储多个值
语句 阐释 结果
course = ["语文", "数学", "英语"]
print(course)
设置数组为course ["语文", "数学", "英语"]
输出数组course
print(len(course)) 输出数组course的长度
course[0]=“历史”
print(course) 将“语文”改为“历史”
输出数组course
for i in course:
print(i) 遍历course数组,并将每个值赋给i,输出i
【练习】尝试以下代码
二、知识讲授
核心结构:循环结构和选择结构
设