课时 05 算法描述与问题解决 课件(共33张PPT)2027届浙江选考信息技术总复习

资源下载
  1. 二一教育资源

课时 05 算法描述与问题解决 课件(共33张PPT)2027届浙江选考信息技术总复习

资源简介

(共33张PPT)
课时05 算法描述与问题解决
一、算法的概念
1.算法的定义。
广义地讲,“算法”指的是解决问题或完成任务的一系列    。在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的    。
步骤
集合
特征 说明
有穷性 一个算法的处理步骤必须是有限的
可行性 一个算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的,同时在现实环境中能做到并且能在有限的时间内完成
确定性 算法中对于每个步骤的执行描述必须是明确的
    或多个输入 算法被执行者实施时,一般需要从外部获取可变的数据
    或多个输出 算法必须包含至少一个输出,以告诉外界问题求解的结果
2.算法的特征。
0个
1个
3.算法的要素。
(1)数据:参与运算的初始数据、运算时产生的中间数据、代表问题解决的结果数据。
(2)运算:每一步的运算是什么、对哪些数据进行运算等。
(3)控制转移:在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理。
1.自然语言。
(1)自然语言是人们在日常生活中交流使用的语言。
(2)用自然语言描述算法虽然通俗易懂,但在描述某些操作时容易出现歧义;在描述根据条件进行不同处理的算法时比较烦琐。
二、算法的描述
2.流程图。
(1)流程图用一些    表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行方向。
(2)流程图描述算法结构清晰、寓意明确、直观易懂,但当分支增多时会出现流程线的相互交叉而影响算法理解的情况。
(3)常用的流程图基本图形及功能。
图形符号
图形 名称 功能
开始/结束符 表示算法的开始或结束
输入/输出框 表示算法中数据的输入或输出
处理框 表示算法中数据的运算处理
判断框 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的转接
格式 语义
If 条件then (语句序列1) Else (语句序列2) 若条件成立,则执行语句    (由一个或多个语句组成),否则执行语句序列2。如果在该条件基础上还需要做进一步的条件判断,那么可以进行条件判断语句的嵌套,在If语句中继续放入另一个    。
If 条件then (语句序列) 若条件成立,则执行语句序列,而条件不成立时不需要执行特定的处理
3.伪代码。
(1)伪代码指的是一种比较直观简洁的、符号接近计算机程序代码的算法描述方式,类似于计算机程序设计语言,但又不是真正的可以被计算机理解的代码。
(2)伪代码的语法约定。
①条件判断语句。
序列1
If语句
格式 语义
while 条件 (循环体) 循环体由一个或多个语句组成。循环语句执行时,先判断    是否成立,若条件成立则执行循环体,循环体执行完后再次判断条件是否成立,如此重复,直到某次条件不成立,则结束循环语句,接着去执行循环语句后面的语句
②循环语句。
条件
4.计算机程序设计语言。
为了让计算机帮助人们真正解决问题,需要将算法用某种计算机程序设计语言来描述,这个过程称为    (或称代码编写)。
程序编写
1.顺序结构。
(1)每个步骤按照算法中出现的    依次执行。
(2)每个步骤一定会被执行一次,而且只执行一次。
(3)图示。
顺序
三、算法的控制结构
2.分支结构。
(1)首先进行    ,根据条件满足与否来决定执行哪个分支。
(2)在一个分支结构中,必定有一个分支被执行,其他的分支则被忽略。
(3)图示。
条件判断
3.循环结构。
(1)循环结构是在条件控制下的一种可控的重复。
(2)循环结束后,将接着执行循环后面的语句。
(3)如果循环条件始终满足,那么循环体永远会被执行,此时算法陷入“    ”。
(4)图示。
死循环
1. 抽象与建模:指的是从现实项目的真实情境中提炼出核心的要素并加以确定或假设,最终定义出一个有明确已知条件和求解目标的问题,并用数学符号描述解决该问题的    。
2. 设计算法:有了计算模型后,就可以遵循算法的特征围绕算法的    设计算法。
3. 描述算法:选用合适的方式合理、准确地描述算法。
4. 编写程序:将算法用计算机程序设计语言描述,形成计算机程序。
5.     运行程序:在将算法进行程序实现时,可能会因为录入错误、语法错误、逻辑错误等原因,导致程序不能正常运行或输出错误的结果,因此需要对程序进行调试,以便发现错误并进行修正。
计算模型
四、用算法解决问题的一般过程
要素
调试
典例 1 某算法的描述如下:
①输入一个正整数x。
②判断x能否被3和5整除,若能整除则输出“是3和5的公倍数”,否则退出。
③结束。
该算法的描述方式属于 (  )
A.自然语言 B.流程图
C.伪代码 D.计算机程序设计语言
A
√
胜券点拨1
明考向 本题主要考查算法的描述方式
审关键 描述方式
考场思 维快闪 在长期用自然语言描述算法的过程中形成了一些约定俗成的规则,例如,用“变量”表示可能会发生改变的数据,用“输入”来获得参与运算的值
题型导向一 算法的概念及描述
典例 2 [2025.1浙江选考]某校组织学生进行阳光月跑活动,30天内总里程满50km达标。每天组织一次跑步,平均速度(S)达到6km/h 时方可计入总里程(T),每天的跑步里程(K)若超过4km按4km计入,否则按实计入。判断某学生是否达标的部分流程图如图所示,(1)~(4)处可选表达式为
①T←T+K ②T≥50 ③i≤n ④K←4
则(1)~(4)处表达式序号依次为 (  )
A.③①④② B.③④①② C.②①④③ D.②④①③
B
√
胜券点拨2
明考向 本题主要考查流程图
审关键 算法控制结构的执行特点
考场思维快闪 (1)通过循环统计30天内的总里程,故进入循环的条件为“i≤n ”。(2)每天的跑步里程(K)若超过4km则按4km计入,故填入“K←4”。(3)不超过4km则按实计入,故填入“T←T+K”。(4)若总里程满50km则达标,故填入“T≥50 ”
题型导向二 算法的控制结构
典例 3 [2023.7浙江]某算法的部分流程图如图所示,执行该流程时,若输入x的值为6783,下列说法正确的是 (  )
A.执行该流程后,输出的结果是14
B.执行该流程后,变量x的值是6
C.输入3876和输入6783,输出结果相同
D.执行该流程后,“x>0 ”和“m%2=1 ”的执行次数相同
C
√
胜券点拨3
明考向 本题主要考查流程图
审关键 算法控制结构的执行特点
考场思维快闪 A 若输入x的值为6783,则输出的结果为3+7=10
B 当x≤0时结束循环,而循环中对x的更新只有步骤“x←x//10”,因此流程结束后,变量x的值一定等于0
C 若输入x的值为3876,则输出的结果为7+3=10,与输入6783的输出结果相同
D “x>0 ”在最后一次循环后还需要再执行一遍,因此“x>0 ”比“m%2=1 ”多执行一次
阅读下列材料,回答典例4至典例5。
  使用计算机程序求解数学表达式s=-1+2-3+…+50的部分过程如下:
①设变量s的初值为0,变量k的初值为1。
②若变量k的值大于50,则转到步骤⑤,否则转到③。
③       。
④k的值增加1,转到步骤②。
⑤输出s的值。
⑥结束算法。
典例 4 根据算法“有穷性”的特征,
上述算法结束的条件是 (  )
A.s>50 B.k>50
C.s>=50 D.k>=50
B
√
胜券点拨4
明考向 本题主要考查用算法解决问题的过程
审关键 算法的步骤
考场思 维快闪 由算法的执行步骤可知,当变量k的值大于50时,输出s的值,算法结束
题型导向三 算法解决问题的一般过程
典例 5 根据上述算法步骤所作的部分流程图如图所示。
则画线处应填入的语句是 (  )
A.s←s+k
B.s←(-1)*s+k
C.s←s+(-1)k*k
D.s←s+(-1)*(k+1)
C
√
胜券点拨5
明考向 本题主要考查算法的计算模型
审关键 数学表达式的规律
考场思 维快闪 变量s的初值为0,变量k的初值为1,计算数学表达式的值,当k=1时,s=0-1=0+(-1)1*1= -1,当k=2时,s=-1+2=-1+1*2=-1+(-1)2*2=1……即s的计算模型是s=s+(-1)k*k
胜券点拨6
明考向 本题主要考查流程图与算法
审关键 中位数
考场思维快闪 中位数为排序后处于中间位置的数。首先比较y1和y2,确保y1大于y2;接下来比较y1和y3,若中位数为y1,则说明y3比y1大
典例 6 [2025.6浙江选考]智能终端每小时获取的3个pH数据分别存入y1、y2和y3,将中位数存入m的部分流程图如图所示。图中①处应填入       。
y1>y3 或 y1>=y3
或其他等价答案
典例 7 [2024.7浙江]某校举办家校联谊游园活动,活动根据得分(得分为整数)设置奖项,奖项设置规则如下表所示:
小明设计“游园活动计奖算法”,部分流程图如图所示。
下列数据中,能测试出该算法与奖项设置规则不符的是 (  )
A.50
B.60
C.80
D.90
C
√
胜券点拨7
明考向 本题主要考查流程图
审关键 算法控制结构的执行特点
考场思 维快闪 该流程图是一个多分支结构,其中条件设置不合理。当s=80时,输出的是“参与奖”,与奖项设置规则不符
题型导向四 流程图调试
典例 8 某同学绘制求a、b、c中最大值的部分流程图如图所示。
用下列输入数据(依次为a、b、c)测试流程图,能发现设计漏洞的是 (  )
A.10、20、30
B.20、30、10
C.10、10、10
D.0、-10、10
B
√
胜券点拨8
明考向 本题主要考查流程图
审关键 算法控制结构的执行特点
考场思 维快闪 该流程图的设计漏洞在于当a>b不成立且b>c成立时,max应该为b,而不是a
1.一个算法可以没有输入,但必须有输出。
2.语句的位置顺序决定了被执行的先后顺序。在顺序结构中,赋值语句的位置不同,程序的结果可能不同。
3.在流程图中识别算法控制结构的方法:若按流程线能够构成一个环,则是循环结构;有条件判断但是不构成一个环,则是分支结构;没有条件判断,则是顺序结构。
通法一 关于算法的几点理解
实例 输入某测试的得分,若60分及以上,则输出“合格”,否则输出“不合格”
自然语言 ①输入得分并赋值给变量s
②若s的值大于等于60,则输出“合格”,否则输出“不合格”
③结束
流程图
伪代码 s←得分;
If s>=60 then
输出“合格”
Else
输出“不合格”
计算机程序设计语言 s=int(input("请输入得分:"))
if s>=60:
print("合格")
else:
print("不合格")
通法二 算法的描述方式及实例
1.[2026精诚联盟]下列关于算法概念及特征的说法,正确的是 (  )
A.算法的每一步操作都必须可执行,这体现了算法的“有穷性”特征
B.一个算法可以没有输入,但至少有一个输出
C.算法中可以没有数据,但不能没有运算
D.算法只能用自然语言来描述
算法的每一步操作都必须可执行,这体现了算法的“可行性”特征。用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。算法可以用自然语言、流程图、伪代码、计算机程序设计语言等多种方式描述。
B 
√
一、算法的概念及描述
2.[2026江浙皖发展共同体]某算法的部分流程图如图所示,若a的值为[49,25,16,50,39,5,51],则执行该流程后,k的值是 (  )
A.1 B.3 C.5 D.6
该流程图的功能是查找列表a中5的倍数的最大值,输出其对应的索引k。若a的值为[49,25,16,50,39,5,51],则列表a中5的倍数的最大值为50,故输出k的值为3。
B 
√
二、算法的控制结构
3.某App为鼓励用户积极签到,制定了积分签到政策:用户第一天签到得到1分,第二天签到得到2分,第三天签到得到4分,接下来,每天得分分别为8,16,32……若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。
请回答下列问题:
(1)用算法解决上述问题,在       (单选:A.设计算法 / B.抽象与建模 / C.描述算法)步骤,确定用变量day表示需要花费的时间,用jf表示当前签到可以获得的积分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。
(2)解决此问题的算法流程图如图所示,虚线框中应使用的流程图基本图形是       。
(3)请在流程图中画线处填入合适的语句。
B 
sum_jf←sum_jf+jf 
三、算法解决问题的一般过程
(1)抽象与建模指的是从现实项目的真实情境中提炼出核心的要素并加以确定或假设,最终定义出一个有明确已知条件和求解目标的问题,并用数学符号描述解决该问题的计算模型。 (2)虚线框处为判断条件,用菱形图形。 (3)已知jf为当前签到可以获得的积分,sum_jf为目前已经累计获得的积分,故画线处为计算sum_jf的语句,故填入语句为sum_jf←sum_jf+jf。
4.某电商平台根据用户购物金额(金额为整数)设置会员等级,会员等级设置规则如表所示:
小明设计了一个算法来确定用户的会员等级,部分流程图如图所示。
下列数据中,能测试出该算法与会员等级设置规则不符的是 (  )
A.99 B.199 C.200 D.250
流程图展示的是一个多分支结构,其中条件设置不合理。当m为199时,输出的是“普通会员”,与会员等级设置规则不符。
金额区间 99元及以下 100~199元 200元及以上
会员等级 普通会员 银牌会员 金牌会员
B 
√
四、流程图调试
5.某算法的部分流程图如图所示。
执行这部分流程后,a和b的值分别是 (  )
A.22和6 B.72和6 C.72和3 D.22和3
该流程图的执行过程如表所示。故最终a的值为72,b的值为3。
b!=3 a b
Y 22 6
Y 72 3
N 退出循环
C 
√
6.[2025金丽衢联考]定义一种新运算“※”:s=a※b,其算法流程图如图所示,则式子6※3+3※4的计算结果为 (  )
A.9 B.9.75 C.10 D.21
根据流程图可知,计算“a※b”的算法为:若a为偶数,则计算a+b。若a为奇数,b为偶数,则计算a//b。若a为奇数,b为奇数,则计算a*b。故6※3=6+3=9,3※4=3//4=0,9+0=9。
A 
√
7.[2023.1浙江选考]某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为10,7,8,12,0,则输出k的值是 (  )
A.2 B.3 C.4 D.5
根据“y←y+x”可知,y是x的累加和,当y大于等于10时,会被初始化为0,此时k加1,当x小于等于0时退出。x的值依次为10,7,8,12,0,y有3次满足大于等于10的情况,第一次y=10,k=1;第二次y=15,k=2;第3次y=12,k=3。
B 
√
8.[2026浙江Z20联盟]某城市出租汽车计费方法:白天起步价10元(3千米以内);当里程超出3千米(含)且在15千米以内时,超出3千米的部分,每千米按2元计费;当里程超出15千米(含)时,15千米以外的部分,每千米按3元计费。夜间起步价11元(3千米以内),其他计费方式同白天。该计费流程图如图所示,其中输入f为0或1,分别表示白天和夜间,(1)~(4)可选表达式为
①m←m+f ②m←m+(s-3)*2
③3≤s<15  ④s≥15
则(1)~(4)处表达式序号依次为 (  )
A.③①④② B.③②④①
C.④①③② D.④②③①
B 
√
m的初始值为10,即白天的起步价,当里程超出3千米(含)且在15千米以内时,超出3千米的部分,每千米按2元计费,即当3≤s<15时,计算m←m+(s-3)*2,故(1)处填入③,(2)处填入②。当里程超出15千米(含)时,15千米以外的部分,每千米按3元计费,即当s≥15时,计算m←m+(s-15)*3+24,故(3)处填入④。白天与夜间的计费区别只在于夜间的起步价高出白天1元,因此最终m还需要加上f的值,故(4)处填入①。

展开更多......

收起↑

资源预览