教科版(2019)高中信息技术必修一 4.3 非数值计算 课件(20张ppt)

合集下载

教科版2019信息技术必修1数据与计算第4单元计算与问题解决4.3 初识非数值计算教学设计0

教科版2019信息技术必修1数据与计算第4单元计算与问题解决4.3 初识非数值计算教学设计0

教科版2019信息技术必修1数据与计算第4单元计算与问题解决4.3 初识非数值计算教学设计教材分析强调“项目—任务—活动”结构与核心素养达成的一体化设计思想,强调在项目的真实情境下,通过任务的达成,展开一系列活动,在活动过程中通过搭建思维支架,不断建构知识,发展思维,使得生活、学习、知识技能、思维发展浑然一体,最终促进学生核心素养的全面、均衡发展。

“项目—任务—活动”式结构不是一个静态的结构,它反映了学生知识建构与思维生成的动态过程。

知识建构、思维发展乃至核心素养的形成都是在特定情境中围绕活动而自然生成的。

如果说本单元4.1为模仿阶段,4.2为形象思维阶段,4.3就是抽象思维阶段。

本项目的重点应是基本思想和方法的教学,要能够恰当地引导,就能够使学生准确地领悟思想,从而较好地掌握基本方法。

分治是最常用的算法设计思想,查找是算法中最常见的操作,递归是算法在实现时的常用手段。

本节我们将围绕项目“生活中的算法”展开学习,尝试用计算机的视角去解决实际问题。

本项目主要包含“巧翻字典”和“玩转‘汉诺塔’游戏”两个任务。

任务一主要介绍分治中最经典的二分思想;任务二借助汉诺塔游戏重在介绍递归思想及算法实现。

教学建议针对学生的认知水平及认知习惯,通过引导、启发、设问等方式,为学生设置真实项目或问题情境,在活动中为学生知识建构关键点和思维生发关键点搭建思维支架,使学生在自主探究或解决问题的过程中产生较强的学习动机,在不断发现中习得知识、发展思维、提升能力。

在该课程的教学方法上,应以程序设计的实例带动语言知识的学习,把程序设计当作科学方法的训练,把语言知识的应用作为技能的培养,全面推行“模仿——形象思维——抽象思维”三个由浅入深的阶段的教学。

学生的主要活动是积极思考、广泛交流、主动探究。

他们学到的不仅仅是新知识,更重要的是学会了解决问题的方法,知道了什么时候、在什么地方去应用所学的知识。

任务一通过巧翻字典的情境引出二分查找的思想,分治的思想学生很容易理解,理解二分查找也不是难点,算法的实现需要给学生充足和时间和必要的帮助。

_教科版(2019)高中信息技术必修一 4.3 非数值计算 课件(第2课时)

_教科版(2019)高中信息技术必修一 4.3 非数值计算 课件(第2课时)
以必须又有一个明确的点--递归的转折点,到了这个点,就不用“递下去”,而是开始“归来”。)
3、第三要素:找出递归方程式
递归的要诀
对递归的理解的要点主要在于放弃!
放弃你对于理解和跟踪递归全程的企图,只理解递归两层之间的交接,以及递 归终结的条件。
一定不要试图跟踪大型递归的过程! 要写出递归,关键就是找出递归的递归方 程式: 也就是说,要完成最后一步,那么最后一步的前一步要做什么。
递归与迭代的例子
小游戏——猜数字,由A同学写一个数字(1-100),然后由后面的同学(BC D……)去猜,猜中者喝酒或表演节目。 A在手机上写一个数字,其他人不知道,假设是68; B猜一个数字,例如50。此时A会告诉大家猜小了; 接下来C从50-100之间猜一个数,例如80。此时A会告诉大家猜大了; D同学就从50-80之间猜一个数字,例如70,大了。 E同学从50-70猜一个数字,例如65,小了。 F同学从65-70猜一个数字,例如68,猜中了,F喝酒或表演节目,此轮游戏结 束。 这就是一个典型的迭代问题,每猜一次数字就是一次迭代的过程,最终逼向A同 学所设置的数字。
பைடு நூலகம்始状态 第一步 第二步 第三步
第四步 第五步 第六步 第七步
生活中很很多类似这种具有自相似性重复的事物。
二、递归
直接或间接地调用自身的方法称为递归。
斐波那契数列“1,1,23, 5,8,13……”,可以递归 定义为:
二、递归
斐波那契数列“1,1,23,5,8,13……”,算斐波那契数列第N项的值。
定义函数时,用到了4个参数:hanoi(n,s,m,t), n表示需要移动的盘子数量,S表示盘子的起始杆, m表示中间过渡杆,t表示目标杆。
def hanoi(n,s,m,t):

高中信息技术教科版(2019)必修一 4.3非数值计算(第1课时) 课件 (共22张PPT)

高中信息技术教科版(2019)必修一 4.3非数值计算(第1课时) 课件 (共22张PPT)
非数 值计算
二分查找
教学目标: 1.了解算法设计中的分治思想。 2.运用二分查找解决实际问题。 3.体验二分查找算法解决实际问题的过程。
教学重点: 二分查找的适用条件,教学难点是代码的实现部分。
目标任务
项目:生活中的算法 任务一、生活中的分治问题
任务二、巧查监控寻找失主
任务一、生活中的分治问题
b=x0 if f(b)*f(x0)<0:
a=x0 if f(x0)==0:
break print("解为:",x0) input("运行完毕,请按回车键退出...")
课后,请利用今天所学的分治策略以及二分 查找算法解决生活中的问题
如果你是小T,如何快速找到单词?
活动2:查找英文单词
方法:根据首字母D大概确定第一次先翻到字典的六分之一处,再根据 看到的首字母确定下一个位置,如果首字母相同,则查看第二个字 母……,依此类推,直到查出单词。
活动3:查找假币 小I在阅览室读到了有趣的故事:国王有18枚金币,其
中掺进去一枚较轻的假币,要求数学家使用一个没有砝码 的天平三次找到假币。
规律:中间值>目标值,右边界移至中间值前一个值。 中间值<目标值,左边界移至中间值后一个值。
二分查找(折半查找)
01
数2:完成二分法流程图
次数 1 2 3 4 5 6 7 8 9 10
左边界 1
1801 1801 1801 1801 1801 1857 1857 1857 1864
二分法
二分查找又叫折半查找,将数列有序排列,采用跳跃式查找数据;以递增数 列为例,先以中点位置的元素作为比较对象,如果要找的元素值小于该中点 元素,则将待查序列缩小为左半部分,否则为右半部分;每一次比较后都可 以将查找区间缩小一半。 二分查找法是一种高效的查找方法。它可以明显减少比较次数,提高查找效 率。

教科版(2019)高中信息技术必修1《计算机解决问题的过程》说课课件

教科版(2019)高中信息技术必修1《计算机解决问题的过程》说课课件
难点
说教法
T
信息技术学科主要的教学目标是培养学生的信息素养,因此在编程计算 这一章节教学过程中,我们在以师生在为主体又为客体的原则下,主要培养 学生的编程思维,而基于本小节内容的特点,主要采用以下教学方法:
游戏Pk活动引入法
利用学生们比较感兴趣的游戏同台PK活动引出本课内容,即激发学 生的学习兴趣,活跃课堂气氛,又让学生在游戏活动中体会游戏执行 的整个过程。
.层层递进式提出问题,让学生在探索和 实践中解决问题。
情感态度与价值观目标
.通过游戏项目的认识,感受程序设计的魅力; .通过对python代码程序的调试运行,激发学生学 习编程的欲望。
说教学重点、难点
重点
.算法的表示及流程图描述算法的三种基本结构; .了解计算机解决问题的过程。
.流程图描述算法的三种基本结构; .Python中调试运行程序。
自主探究
探究猜数字游戏的算法描述
实践操作能力提升
用python程序设计语言实现猜数字 游戏的功能,并适当增加游戏的难 度
课堂总结
总结新知强化认识
教学过程
导入新课(猜数字游戏PK)
游戏规则: . 用10秒记忆10个物品以及它们的编号; . 系统随机出题,之后根据提问回答5个物品的编号 【比一比】 看谁的专注力好记住的物品编号数量多?
普通高中教科书 / 信息技术 / 2019版 / 数据与计算
计算机解决问题的过程
目录
01 说教材 02 说教学目标
05 说学法
03 学教学重点、难点
06 说教学过程
04 说教法
07 说教学反思
说教材(地位和作用)
《计算机解决问题的过程》
是教育科学出版社出版的2019版高中信息技术必修1《数 据与计算》中第二单元《编程计算》中的第一节内容,在些之 前第一单元的学习基础上,学生已对计算有了一定的了解;而 如果我们要与计算机能自如的沟通,就要学习与计算机沟通的 语言,学会编写计算机程序,学会编程的前题是我们要了解计 算机编程解决问题的过程是怎么样的,知道了计算机帮且我们 解决问题的过程,才能知道为什么计算机能听令于人类,才能 为后期计算机程序设计语言的学习指明方向。

加密与解密+课件—2024学年教科版(2019)高中信息技术必修1

加密与解密+课件—2024学年教科版(2019)高中信息技术必修1

二、探究加密及加密方式
1.说一说你是怎样理解加密的?(什么是加密) 2.你知道的加密方式有哪些?
二、探究加密及加密方式
加密就是将原始信息(数据)隐匿起来,使之在缺少 特殊信息(数据)时不可读。原始信息(数据)称为明文, 加密后的信息(数据)称为密文。将密文还原成明文的过 程称为解密( 或解码)。
b=b+chr(ord(m[i])-23)
#生成密文
else:
b=b+m[i]
print("密文为:",b)
GO
练习:
已知加密规则为:明文x,y,z对应密文为2x+3y,3x+4y,3z,
例如1,2,3对应密文8,11,9。当接受方收到密文12,17,27时,
则解密得到的明文为多少?
A.3,2,9
一、密码及创建安全密码技巧
说一说:
1.同学们平时设置的密码是什么样的? 2.你们设置的密码安全吗?
账号 密码
创建安全密码一般技巧:
密码长度不少于8个字符。密码长度越长越不容 易破解 尽可能使用字母、数字、和特殊字符相结合的 密码
不要使用电话号码、身份证号或生日 不要使用整个用户ID或用户ID的一部分作为密码 不要使用字典中能找到的词语作为密码
b=“ ”
for i in range(len(m)):
#获取明文内容的每一个字符
if 'a'<=m[i]<='w' or 'A'<=m[i]<='W': #判断a~w或A~W间的字母
b=b+chr(ord(m[i])+3)
#生成密文
elif 'x'<=m[i]<='z' or 'X'<=m[i]<='Z': #判断x~z或X~Z间的字母

4.3 非数值计算(二分查找)课件 -2023—2024学年高中信息技术教科版(2019)必修1

4.3 非数值计算(二分查找)课件  -2023—2024学年高中信息技术教科版(2019)必修1

elif mid < x:
#区域中间值大于目标数
flag1 = mid + 1 #范围往右侧区域找 = 左边界后移
else:
break
print('查找次数为:',step)
任务:巧翻字典
x = int(input('请输入要查找的数据:'))
上机实践1
step = 0
#查找次数
flag1 = 1
知识探究:二分查找/折半查找
二分思想:将数列有序排列,采用跳跃的方式 查找数据。
在有n个元素的有序序列中,利用二分查找大
约需要log2n次。
n = 1000 需要10次
任务:巧翻字典 程序编写——补充程序
x = int(input('请输入要查找的数据:'))
step = 0
#查找次数
flag1 = 1
项目内容
本节我们将围绕“生活中的算法”项目,尝试用“算法的 眼睛”看待生活,用“算法的思维”去解决实际问题。
项目任务
本节任务
➢ 任务一:巧翻字典
➢ 任务二:玩转“汉诺塔”游戏
任务:巧翻字典 活动:统计查字典次数
➢ 查汉字、查单词、查成语等查字典的活动,早已成为我们学习生活的部分。假设一本 字典大约1000页,目标信息在第328页。请记录你翻页过程,和同学们比比,看谁翻 的次数最少。
二分查找的应用:找出1-1000之间的某个数
import random x = random.randint(1,1000)
while 0<x<1000: y = int(input("请输入这个数:")) if x<y: print("大了") elif x>y: print("小了") else: print("就是",x) break

高中信息技术必修课件非数值计算

高中信息技术必修课件非数值计算
决能力。
学生自我评价报告
通过本课程的学习,我不仅掌握了非数值计算的基本 知识和方法,还提高了自己的编程能力和问题解决能 力。同时,我也认识到了自己在某些方面的不足,比 如在算法设计和优化方面还需要进一步加强。
在课程学习中,我能够积极参与课堂讨论和实验,认 真完成课后作业和练习,对于不懂的问题能够及时向 老师请教。
常见数据结构及其特点
数组
一种连续存储的线性结构,支持随 机访问,插入和删除操作需要移动 大量元素。
链表
一种非连续存储的线性结构,通过 指针链接各个元素,插入和删除操 作较为方便,但不支持随机访问。

一种后进先出(LIFO)的线性结构 ,只允许在一端进行插入和删除操 作。
队列
一种先进先出(FIFO)的线性结构 ,只允许在一端进行插入操作,在另 一端进行删除操作。
02 跨学科应用
非数值计算广泛应用于物理、化学、生物、经济 等多个领域,有助于学生理解并掌握跨学科知识 。
03 培养计算思维
通过学习非数值计算,可以培养学生的计算思维 ,提高其分析问题和解决问题的能力。
教学目标与要求
01 知识与技能
掌握基本的非数值计算原理和方法,能够运用所 学知识解决实际问题。
02 过程与方法
03 算法设计
选择合适的算法和数据结

02 编码实现
使用选定的程序设计语言
进行编码
04 测试与调试
确保程序正确性和稳定性
案例分析:经典程序设计问题解决方案
排序问题
冒泡排序、选择排序、插 入排序等
查找问题
线性查找、二分查找等
递归问题
汉诺塔、斐波那契数列等
动态规划问题
背包问题、最长公共子序 列等

【信息技术 】数据与结构 课件 2022—2023学年教科版(2019)高中信息技术必修1

【信息技术 】数据与结构 课件 2022—2023学年教科版(2019)高中信息技术必修1

一个前驱元素和一个后继元素。具有以上特点的数据结构是( C )A.树结构 B.选择结构 C. 线性结构 D.网状结构 2.由一组节点(称为顶点)和
一组节点间的连线(称为边或弧),构成的一种数据结构是( )A. 图结构
B.选择结构 A C. 线性结构
D. 树结构
规划取快递最快路线
规划取快递最快路线
六、图结构
在物流网络中,分拨中心、配送 中心、货物需求点等可以抽象为 图的顶点,城市道路、各级铁路 等可以抽象为图的边,如城市以 及城市之间的运输道路就是图结 构。利用图结构,我们还可以解 决物流中的许多问题,如道路网 络分析、车辆运营安排等。
课堂练习
1.有一种元素除首元素没有前驱元素、尾元素没有后继元素外,其它元素都只有
01 集合结构 02 线性结构 03 树结构 04 图结构(网状结构)
三、线性结构
在线性数据结构中,除首元素没有 前趋元素、尾元素没有后继元素外, 其他元素都只有一个前驱元素和一 个后继元素。
线性表中数据元素之间是 一对一的关系。
三、线性结构
排队候车
出队 1,2,3,4,5 入队
队首
队尾
队列
队列是一种有限制的线性结构, 它的数据元素只能在一端依次添 加(进队),在另一端依次删除 (出队)。
复习回顾
10110(2)=____2_2_____(10)
任意R进制数——>十进制数:
按__权___展__开___求__和__(R>=2,R!=10)
100(10)=_1_1_0_0__1_0_0__(2)
十进制数——>任意R进制数:
除___R_取___余__法_(R>=2,R!=10)
ASCII(American Standard Code for information Interchange)是美国信息交换标准

4.3 非数值计算(神奇的递归) 课件-2023—2024学年高中信息技术教科版(2019)必修1

4.3 非数值计算(神奇的递归) 课件-2023—2024学年高中信息技术教科版(2019)必修1

知识探究:递归
递归是计算科学领域中一种重要的计算思维模式。它既是一种抽 象表达的手段,也是一种问题求解的重要方法。
直接或间接地调用自身的方法称为递归。可以将递归简单类比为 具有自相似性重复的事物。
知识探究:递归函数
递归函数是只用函数自身来定义该函数的方法。如斐波那契数列 “1,1,2,3,5,8,13……”,可以递归定义为:
迭代程序可以转换成等价的递归程序。以上一节中计算斐波那契数列第N项的值为例, 程序间的转换如表所示。
拓展知识
迭代
递归
两种算法均需重复执行某些代码
一次次重复过程
重复调用函数自己本身
从而接近或达到目标或结果 层层化解为规模较小的同类问题
三步骤:确定迭代变量 建立迭代关系式 控制迭代过程
递归二要素:递推+回归 步骤:确定递推关系式
F(n)=
1(n=1或n=2) F(n-1)+F(n-2)(n>2)
知识探究:递归的重要组成
1. 递推关系是递归的重要组成; 2. 边界条件是递归的另一要素(保证递归能在有限次计算后得出
结果,而不会产生无限循环地情况)
F(n)=
1(n=1或n=2)
边界条件
F(n-1)+F(n-2)(n>2)
递推关系
move(2,'b','a','c')
move(1,'a','b','c') print('a','-->','b') move(1,'c','a','b')

高中信息技术必修1《数据与计算》全册教学课件

高中信息技术必修1《数据与计算》全册教学课件

名称
有点
模拟信号
数字信号
进行远距离传送时用哪种信号比较好?
缺点
实验
在航海灯语系统中,灯语是一种通信手段,用灯光一明一暗的间歇做出长短不同的信号来传递信息。在 古代,灯语对人们之间的交流起到很大的作用。随着科技的发展,灯语已经通过计算机网络实现了灯光 信号的自动发送、获取和识别。 1. 实验名称:用手电筒传递信息。 2. 实验目的:了解灯语的使用场景,理解数据编码的必要性。 3.实验步骤: (1)两人一组,一人控制手电筒开关,按照莫尔斯码发送一组字母,另一人观察手电筒发出的光信号,记 录数据,并使用莫尔斯码译出这组字母。 (2)双方核对信息,多次重复实验。 (3)通过分析实验数据,总结该方法传递信息的利弊,提出改进方法。 (4)设计一套自己的灯语,用“密码”传送信息。
1.1 数据及其特征
1.1 数据及其特征
互联网、大数据时代,人们可以通过计算机和移动终端,随时 随地获取信息、了解社会。例如,《创新中国》系列纪录片对收集的 大量数据)[包括图形、图像、视频、音频、文本(文字、数字、数 值、字符)]进行存储、挖掘和分析后,以多媒体记录新闻事件,满 足人们对信息直观化、可视化的需求。
在计算机科学中,数据是对所有输入计算机并被计算机识别、存 储和处理的符号的总郴,是联系现实世界和计算机世界的途径。 即 现实世界的各种符号,包括图形、图像、视频音频、文本(文字,数 字,数值,字符)等数值性和非数值性符号,都可以被计算机特化为 二进制数(如数字“180”在计算机中表示为10110100,字符“cm”在 计算机中表示为0110001101101101),进行各种逻辑运算,处理成有意 义的数据; 然后将计算机运算的二进制数转换成现实世界的视、听、 触等各种感觉的信息,如图1-4所示。

教科版 教育科学出版社 高中信息技术 必修一 4.1 算法及其特征 课件PPT

教科版 教育科学出版社 高中信息技术 必修一 4.1 算法及其特征 课件PPT

一、旧知复习
一、旧知复习
将右侧的流程图转换为算法
1.输入变量a、b的值。 2.比较a和b。如果a>b,则a存入以max 命名的存储单元中;否则,b存入max。 3.输出结果max。
该流程图的目的是什么?比较a与b的大小,并输出最大值。
二、知识讲授
算法
软件开发社团要招募新成员,报名的同 学要经过面试才能加入。第一关面试题是:
print("%d" %A[i])
二、知识讲授
枚举算法
我们常利用计算机运算速度快、精确度高的特点解决 实际问题。在设计算法时,最简单的方法就是"直译" 我们的思维过程。有一种算法是把所有可能的答案一 一列举,合适就保留,不合适就丢弃。这种方法称作 “枚举”或“穷举”。
算法中执行的任何计算都可以在有限时间内完成(也称为有效性)。算法中的运算都必须是可以实现的。
二、知识讲授
选择排序算法
观看视频 并思考, 视频里是 如何实现 由小到大 排序的?
二、知识讲授
选择排序算法
内涵
• 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排 序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,所以称为: 选择排序。
二、知识讲授
算法
有穷性
算法必须能在执行有限个步骤之后终止。
确切性
算法中的每一次运算都有明确的定义,具有无二义性,并且可以通过计算得到唯一的结果。
输入项
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件。
输出项
算法一定要有输出。任何算法都不能"无功而返"。

4.2 数值计算(第1课时)课件-2023—2024学年高中信息技术教科版(2019)必修1

4.2 数值计算(第1课时)课件-2023—2024学年高中信息技术教科版(2019)必修1
用WPS表格绘制函数图像还是不太方便,我们还可以用什么样的方法实现函数的绘制呢?
可以借助计算机程序描点绘制函数来达到速度快且精度高的效果。
任务:绘制数学函数曲线
➢ 活动2 利用Python绘制正弦曲线
• 4.2 数值计算
借助计算机程序描点,可以达到速度快且精确度 高的效果。下面我们尝试利用Python编写程序绘 制正弦曲线。
课堂小结
• 4.2 数值计算
绘制 数学 函数 曲线
wps绘制 Python绘制
numpy模块
matplotlib 模块
课后作业
• 4.2 数值计算
➢ 利用Python绘制x5+x4+x-3=0在区 间【-1,2】的函数图像。
感谢观看
学无பைடு நூலகம்境 永攀高峰
① 利用课本上间隔30的数据; ② 利用间隔1度的数据,绘制正弦函数图像。
任务:绘制数学函数曲线
➢ 活动1 用WPS表格绘制正弦曲线
• 4.2 数值计算
仔细观察图像,会发现图像的关键点太少,精度不够,图像不光滑。要想提高图像的光滑 程度,就要减小角度间隔,但间隔增加,工作量也会随之增加:每隔1°画一个点,数据 表上就会增加300多行新数据;如果以0.1°为间隔,将有3000多行数据。
上机实践4
课堂小测
• 4.2 数值计算
填空题
1.numpy是一个科学计算包,其中包括很多________,如________、矩 阵计算方法、________、线性代数等。通过numpy模块中的________函数 可以创建一个等差数列。 如在0-2π之间每隔0.01取个值,则可以用_ _______表示,其中numpy.pi表示________。 2.matplotlib模块是一个________。matplotlib的绘图原理很简单,利 用________画线函数就可以在直角平面内轻松地将________坐标点对连接 成平滑曲线。

4.3非数值计算优秀教学案例教科版高中信息技术必修1

4.3非数值计算优秀教学案例教科版高中信息技术必修1
3.逻辑结构:讲解常用的逻辑结构,如顺序结构、选择结构、循环结构等,让学生学会运用逻辑结构设计算法。
(三)学生小组讨论
1.分组讨论:将学生分成若干小组,针对提出的问题,进行小组讨论,共同设计算法解决方案。
2.分工协作:在小组内部分工,每个学生负责一部分算法的设计和实现,培养学生的团队合作意识。
3.互动交流:鼓励小组间的交流与合作,分享算法设计经验,提高学生之间的学习互动性。
3.教师评价:教师对学生的算法设计进行评价,关注学生的学习过程和成果,给予鼓励和指导,提高学生的学习积极性。
4.总结反思:在本章节内容结束时,组织学生进行总结反思,让学生回顾学习过程,加深对非数值计算算法的理解。
四、教学内容与过程
(一)导入新课
1.生活实例引入:以网络购物为例,展示购物推荐系统的非数值计算过程,引发学生对非数值计算的好奇心。
1.布置作业:布置与本节课相关的问题,让学生课后巩固所学知识,提高实际应用能力。
2.作业反馈:要求学生提交作业,教师对作业进行批改,给予反馈,帮助学生提高。
3.作业评价:对学生的作业进行评价,关注学生的知识掌握程度和实际应用能力,为下一步教学提供参考。
五、案例亮点
1.生活实例引入:通过网络购物的实际案例引入非数值计算的概念,使学生能够更加直观地理解非数值计算在现实生活中的应用,提高学生的学习兴趣和积极性。
2.创设问题情境:提出问题:“为什么购物推荐系统能给我们推荐合适的商品?”引导学生思考非数值计算在实际应用中的作用。
3.展示本节课目标:告知学生本节课将学习非数值计算的相关知识,帮助学生建立学习目标。
(二)讲授新知
1.非数值计算概念:讲解非数值计算的定义,让学生理解非数值计算的基本概念。
2.算法基本概念:介绍算法的基本概念,如输入、输出、有穷性、确定性等,帮助学生建立算法思维。

【课件】周而复始的循环 教科版(2019)高中信息技术必修一 课件

【课件】周而复始的循环 教科版(2019)高中信息技术必修一 课件
思考差异? object = [“why”, “are”, “why”] object.remove(x)表示在列表中删 除首次出现的指定元素x
循环
循环
计算机程序中某些代码的反复执行。
计数循环 又称for循环,当循环一定次数时称为计数循环。
条件循环 又称while循环,用于循环次数未知的情况。
计数循环
一组重复执行的语句称为循环体。 循环体必须相对关键词for有缩进。
for i in ["hello","world"]: print (i) # 循环体 (列表中元素个数决定循环次数)
运行结果:
hello world
range( )函数
range( )函数可以生成某个范围内的数字列表。 range(5)——[0,1,2,3,4] range(1,6)——[1,2,3,4,5]
循环重复次数一定时,我们通常称为计数循环。 在python中,使用for 语句来创建这类循环。 for语句的基本格式如下。
for 循环变量 in 列表: 语句或语句组
for 循环变量 in range( ): 语句或语句组
注意事项: 冒号要记得 循环体缩进4格
语句格式
计数循环
for 循环变量 in 列表: 语句或语句组
运行结果: 10 20 30 40
思考: s=0 while s<=30:
s=s+10 #循环体 print(s) #循环体
运行结果: 40
开始 输入s=0 s<=30 NO
YES
s=s+10
输出s
结束
调试程序
调试器pdb 模块 例如 import pdb pdb.set_trace() 运行后” p”命令查看变量 运行后” c”命令继续运行 运行后” q”命令退出程序

4.3非数值计算(神奇的递归)教学设计-2023—2024学年高中信息技术教科版(2019)必修1

4.3非数值计算(神奇的递归)教学设计-2023—2024学年高中信息技术教科版(2019)必修1
最后,我会在课后布置一些与递归相关的编程作业,让学生通过编写代码来加深对递归算法的理解,并鼓励学生进行自主学习和探究。
板书设计
1.递归的概念与原理
①递归定义:一种自己调用自己的函数。
②递归结构:递归函数的调用过程。
③递归终止条件:确定递归何时停止。
2.递归的编程实现
①递归函数的实现:如何编写递归函数。
return fibonacci(n-1) + fibonacci(n-2)
```
3.例题三:递归求解汉诺塔问题
题目:编写一个递归函数,解决汉诺塔问题,将n个盘子从源柱子移动到目标柱子。
答案:
```python
def hanoi(n, source, target, auxiliary):
if n == 1:
2.鼓励学生探索递归算法的优化方法,如何减少递归调用栈的大小,避免栈溢出问题。可以让学生尝试研究一些经典的递归算法优化技巧。
3.让学生了解递归算法在实际软件开发中的应用,例如在编译器的设计中,递归用于解析语法树;在图形引擎中,递归用于计算视锥体内的物体数量等。可以提供一些实际的案例,让学生了解递归在实际项目中的应用。
4.3非数值计算(神奇的递归)教学设计-2023—2024学年高中信息技术教科版(2019)必修1
授课内容
授课时数
授课班级
授课人数
授课地点
授课时间
教材分析
本节课的主题是“4.3非数值计算(神奇的递归)教学设计-2023—2024学年高中信息技术教科版(2019)必修1”。本节课的内容主要包括递归的概念、递归的实现以及递归的应用。通过本节课的学习,学生能够理解递归的原理,掌握递归的编程实现,并能够运用递归解决实际问题。

高中信息技术教科版(2019)必修一 4.2数值计算(第1课时) 课件 (共15张PPT)

高中信息技术教科版(2019)必修一 4.2数值计算(第1课时) 课件 (共15张PPT)
20 1 9
4.2 数值计算(第1课时)
1.通过求解一元二次方程的解,了解计算机 编程解决数值计算问题的一般流程,并能够 使用解析法解决实际问题。
2.通过绘制一元多次方程函数图像,了解 Python利用numpy和matplotlib两个模块绘制 图像的基本方法。
第二部分 教材
3
能够利用numpy和matplotlib两个模块绘制函数图像。
numpy还支持处理大型矩阵、矢量运算、线性 代数等功能。
参考上述代码,让我们一起来完善以下Python程序, 尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像。
import numpy as np
import matplotlib.pyplot as plt x=np.arange(0,2*np.pi,0.01) y1=np.sin(x) y2=np.sin(-x) y3=np.sin(2*x)/2
Python外置库安装方法:
1、访问网址下载对应的文件 (和你的windows系统及Python版本都要对应) (1)从https:///pypi/matplotlib/ (2)从https:///pypi/numpy/
2、把这些文件直接复制到你的Python路径下的Scripts文件夹中 例如C:\Users\owner\AppData\Local\Programs\Python\Python36\Scripts文件夹中; 3、在文件夹中按shift键的同时单击鼠标右键,选择“在此处打开命令窗口”弹出cmd窗口 复制下列代码回车运行:
利用Python程序绘制的函数图像
振幅和周期发生了变化。对比用WPS表格绘制y=sin(x) 、y=sin(-x)和y= sin(2x) /2 函数的图像平滑了很多。

数据与结构-说课课件-高中信息技术教科版(2019)必修一-

数据与结构-说课课件-高中信息技术教科版(2019)必修一-
20
05 教学策略
策略四 提供自主学习资源,在教师引导下完成项目活动手册。
线性数据结构学习资源
在项目开展过程中 学生是主体,教师是引 导者。对于项目实施中 遇到的问题,学生可以 查阅学习资源自主学习 ,完成项目活动手册。 通过每节课的项目学习 ,培养学生开展项目探 究的意识和能力。
21
05 教学策略
26
06 教学过程
02
项目分析
提出问题:我们在解决问题时,如何确定应该适合 用什么数据类型呢?
概念阐述:可以从数据的取值范围和对应操作两方 面去考虑数据类型。
设计意图
从数据类型的概念出发,分析身份证号用字符串定义相较于整型定义更为合适的原因。 学生通过此环节,进一步加深对数据类型的理解。
27
06 教学过程
05
项目评价
1. 学生使用项目活动手册和评价量规完成个人自评; 2. 师生一起进行问题探究完成小组互评; 3. 教师通过在学生活动中的辅导以及学生在活动中的 综合表现完成教师评价。
06
利用思维导图归纳总结出本节课的脉络。
项目总结
31
07
教学思考
教学思考
对于琐碎的概念,用图表 、概念图、示意图等形象化方式 梳理抽象知识链,通过图文联动 有助于记忆和理解。
学生从自己的学习和生活经历 中发现鲜活的实例,让学生在 旧知经验和新知体验的基础上 领悟、归纳、总结、运用。以 例释理的授课形式,可以避免
直接灌输结论和机械记忆结论
6

03
教学目标及重难点
03 教学目标及重难点
教学目标
通过对项目真实场景的分析,挖掘情境背后 蕴含的数据之间的关系和数据类型,培养学生捕 捉信息的能力,提升学生的信息意识。

【课件】非数值计算(课件)-高一信息技术课件(教科版2019必修1)

【课件】非数值计算(课件)-高一信息技术课件(教科版2019必修1)

二、活动探究
二、活动探究
在数学与计算机领域中,递归函数是指用函数自身来 定义该函数的方法。如著名的斐波那契数列“1,1, 2,3,5,8,13,…”,可以递归定义为
二、活动探究 【递归的分治】
结合分治策略,递归也可用“分”“治”“合”三个字概括。 (1)分:将原问题分解成k个子问题。 (2)治:对这k个子问题分别求解。如果子问题的规模仍然 不够小,则将其再分解为k个子问题,如此进行下去,直到问 题足够小时,就很容易求出子问题的解。 (3)合:将求出的小规模问题的解合并为一个更大规模问题 的解,自下而上逐步求出原问题的解。
m=jiecheng(int(input('输入阶乘底数'))) print(m)#打印出m的值
二、活动探究 【总结递归】 观察程序设计,发现递归的本质是,函数对自身的调用
自调用
调用
函数a
函数b
函数a
函数a调用函数b
函数a递归
三、课后作业
查找迭代和递归的相关资料,并写一份报告,报告内容 为:你认为用迭代方法和递归方法分别实现斐波那契数列时 的区别,并在下节课交流你的发现和结论。
有100个硬币,其中有1个伪币,它除了质量比真币轻一点 之外,没有别的区别,如何通过天平快速找到这个伪币。
大家自己查找 资料并讨论
பைடு நூலகம்
1、如何判断 假币
2、如何找到 假币?
一、游戏导入
如何判断假币?
• 厚薄不均匀 • 色泽不光滑 • 重量不一致
如何找到假币?
• 分治思想
一、游戏导入
首先是将100个硬币分成两个50,使用天平进行 衡量,然后确定伪币在比较轻的那50个里,接
主程序:
array=[9,10,33,45,76,90,100] key=10 array_index=erfen(array,key) print(array_index)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解决实际问题。
• 本项目主要包含“巧翻字典”和“玩转‘汉诺塔’游戏”两个任务。
※活动统计查字典次数

查汉字、查单词、查成语等查字典的活动,早已成为我们学习生活
的一部分。假设一本字典一千页,目标页数在328页。在下表填写翻页
过程。

有的同学翻得特别快,他们用了什,是算法思想的体现。

有了翻字典的实际操作经验,我们来尝试完善下面的二分查
找程序。
• x=int(input("请输入要查找的1000以内的整 数:"))
• step=0
记录查找次数
• flag1=1
目标区域左边界
• flag2=1000
目标区域右边界
• while(flag1<=flag2): 小于1则结束循环
区间数据范围
次数: 18446744073709551615。 婆罗门以1秒移动1次的速度,不眠不休要花 5849万万年生活中的递归
要使移动次数尽可能少,必须排除无效移动。现在有8个木盘,不妨先以3个 木盘为例,观察一下移动的过程。请在图4.3.2中记录木盘移动的过程。
每层汉诺塔至少需要多少步
• 1层:1次 • 2层:3次 • 3层:7次 • 4层:15次 • 5层:31次 • 6层:63次 • 7层:127次 • 8层:255次
使用计数器结束循环。

迭代程序可以转换成等价的递归程序。以上一节中计算斐波那契数列第n项
的值为例,程序间的转换如表4.3.2所示。
4.3 非数值计算
4.3 非数值计算

在数值计算中,我们更多考虑的是“数”,但计算应该是一个更广泛
的领域。计算的对象可以是自然界和人类社会的一切事物。更确切地说,
计算的对象可以是某些信息,如数据、文字、语言、图形、知识、事物的
运动过程及思维过程。如果说数值计算主要探讨数学问题的话,那么非数值 计算更多探讨“算法”问题。
递归

在数学与计算机领域中,递归函数是指用函数自身来定义该函数的方
法。如著名的斐波那契数列“1, 1, 2,3, 5,8, 13, ..”,可以递归定义为


递推关系是递归的重要组成,而边界条件是递归的另一要素, 它保证递
归能在有限次的计算后得出结果,而不会产生无限循环的情况。
分、治、合

面对一个大规模复杂问题的求解,递归的基本思想是把规
元素作为比较对象,如果要找的元素值小于该中点元素,则将
待查序列缩小为左半部分,否则为右半部分。每一次比较后都
可以将查找区间缩小一半。

二分查找是一种高效的查找方法。它可以明显减少比较次
数,提高查找效率。在一个有n个元素的有序序列中,利用二分
查找大约需要log2n次。但是,二分法查找的前提条件是被查找
• def hanno(n,s,m,t):
• #定义一个函数,n层塔,将盘子从s借助m移动到t
• if n==1:

print(s,'-->',t) #将一个盘子从s移动到t
• else:

hanno(n-1,s,t,m) #将前n-1个盘子从s移动到m上

print(s,'-->',t) #将最底下的最后一个盘子从s移动到t上
• (3)合:将求出的小规模问题的解合并为一个更大规模问题的 解,自下而上逐步求出原问题的解。

移动3个木盘的方法是:根据木盘叠放规则,要使A杆上最大的木盘(记
为x)移动到C杆上( 子问题1,如图4.3.2中的 第4步),必须先把x上方的所有
木盘移动到B杆上(子问题2,如图4.3.2中的前3步),然后再将B杆上所有的
任务一 巧翻字典

许多程序设计问题的解决,要依靠标准算法和现成的模型,更需要
编程者开阔思路,提出一些新颖、巧妙的算法,或者设计出一些独特的
数据结构来支撑和实现算法。在解决非数值类计算问题时,一些基础的
思维方式可以借鉴,如分治、递归、解析等。本节我们将围绕“生活中
的算法”项目,尝试用“算法的眼睛”看待生活,用“算法的思维”去
模较大的问题层层转化为规模较小的同类问题求解。对递归而
言,递推与回归,二者缺一不可。结合分治策略,递归也可用
“分”“治”“合”三个字概括。
• (1)分:将原问题分解成k个子问题。
• (2)治:对这k个子问题分别求解。如果子问题的规模仍然不够 小,则将其再分解为K个子问题,如此进行下去,直到问题足够 小时,就很容易求出子问题的解。

hanno(n-1,m,s,t) #将m上的n-1个盘子移动到t上
• #主程序
• n=int(input('请输入汉诺塔的层数:'))
• hanno(n,'A','B','C')
• input("运行完毕,请按回车键退出...")
将一个难以直接解决的大问题,分割成一些规模较小的同类问题,以便各个
木盘移动到C杆上(子问题3,如图4.3.2中的后3步)。

3个木盘的移动问题成功解决了,就可以解决更多木盘的移动问题了。

将n个木盘从A杆移动到C杆,需要借助中间的B杆。只要超过一个木
盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定
义函数时,用到了4个参数: hanoi(n,s,m,t), n表示需要移动的盘子数量,s 表示盘子的起始杆,m表示中间过渡杆,t表示目标杆,如图4.3.4所示。
●递归

递归是计算科学领域中一种重要的计算思维模式。它既是一种
抽象表达的手段,也是一种问题求解的重要方法。

直接或间接地调用自身的方法称为递归。可以将递归简单类比
为具有自相似性重复的事物。图4.3.3所示就是递归的一种形象表示。
递归
• 一说起递归,我想每个人都不陌生。举个从小就听过的例子:从前有座山,山 里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和 尚,和尚在讲故事,从前有座山... • 还有你从两面相对的镜子中看到的画面,其实都是抽象出来的递归现象,但是 严格来说并不是递归,因为会一直重复下去,没有终止条件,那就称为死循环了。 • 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数, 他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个 人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? • 利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需 知道第四人的岁数,以此类推,推到第一人(10岁),再往回推。
• mid=(flag1+flag2)//2
中间值
• step=step+1
查找次数加
1
• if mid>x:

flag2=mid-1
左边界前移
• elif mid<x:
任务二玩转 “汉诺塔”游戏
※活动剖析问题, 设计游戏策略
• “汉诺塔”游戏源于一个古老 A B C的印度传说。如图4.3.1 所示, 木板上有A、B、C三根杆,A杆上有若干木盘,规定每次移 动一个木盘,且小的木盘只能叠在大的木盘上面。请设计算法,用 尽可能少的次数把所有木盘
分治策略

分治的设计思想,是将一个难以直接解决的大问题,分割成
一些较小的同类问题,各个击破,最终达到解决问题的目的。二分
查找实际上就是分治策略的一种典型运用。

凡治众如治寡,分数是也。(摘自《孙子兵法》)
二分查找

二分查找又叫折半查找,该方法主要将数列有序排列,采
用跳跃式的方式查找数据。以递增数列为例,先以中点位置的
击破,分而治之,此为分治。分治与递归就像一对孪生兄弟,经常同时应用在算法 设计中,并由此产生了许多高效的算法。
• 迭代与递归的关系

迭代算法与递归算法都需要重复执行某些代码,两者既有区别又有着密切
的联系。

迭代是重复反馈过程的活动,其目的通常是逼近所需目标或结果。递归是
重复调用函数自身。递归中,遇到满足终止条件的情况时逐层返回。迭代则通常

数据是普遍存在的,甚至可以说对象即数据;对数据的分析、处理;都
属于计算的范畴。选择一个合适的算法,设计出平实、易读、易懂的程序,
正确、高效地解决实际需求,是计算的本质。
学习目标
• ★运用合适的算法形成解决问题的方案。 • ★了解算法设计中的分治思想,并运用二分查找解决实际问题。 • ★体验递归算法,并结合具体问题开展编程实践。
的数据必须是有序的。

查找的基本算法有:顺序查找、二分查找、分块查找、哈希
查找等。
二分查找程序

在翻页过程中借助两个书签,划定目标所属范围,然后翻到
两个书签的中间位置。每次目标区域都更新为原来的“二分之一”,
当数据范围缩小到只有1个数的时候肯定能得到问题的解。1000 以 内的页码,最多翻10次肯定能找到解。
• 图4.3.1汉诺塔从A杆全部移到C杆上
任务二玩转 “汉诺塔”游戏
相传在印度的婆罗门神庙内插着三根钻石棒,创世之时,神便在其中一根钻石 棒上放了64 枚纯金的圆盘。有一个叫婆罗门的门徒,不分日夜地将64枚金盘移到另 一根钻石棒上,移动的过程中一次只能移动一个金盘,且大盘不能放在小盘上。神 说等到婆罗门完成这项工作,世界将在一声霹雳中毁灭……
相关文档
最新文档