第02讲 Python语言基础与三大控制结构(复习讲义)(浙江专用)2027年高考信息技术一轮复习讲练测

| 2份
| 23页
| 73人阅读
| 2人下载
精品

内容正文:

第02讲 Python语言基础与三大控制结构 内容导航 01 命题透视·考情前瞻 对标素养,研判高考命题趋势 02 思维建模·脉络梳理 搭建知识框架,构建系统思维 03 考点精讲·靶向突破 拆解核心考点,归纳解题范式 考点一 算法与问题解决 知识解构 知识点1 算法及其特征 知识点2 算法三要素与算法、程序的关系 知识点3 用算法解决问题的过程 考向破译 考向1 算法特征与三要素辨析(选择题) 考点二 算法的控制结构 知识解构 知识点1 顺序结构 知识点2 分支结构 知识点3 循环结构 考向破译 考向1 循环与分支程序识读(选择题) 考点三 算法的描述 知识解构 知识点1 算法的三种描述方式 知识点2 流程图的识读 考向破译 考向1 流程图识读与结果推断(选择题) 考点四 Python语言基础与程序设计 知识解构 知识点1 Python基础语法 知识点2 三大控制结构的代码实现 知识点3 程序阅读与输出推断 考向破译 考向 程序阅读与输出推断(选择题) 04 真题溯源·考向感知 溯源真题逻辑,感知高考考向 命题透视·考情前瞻 ——对标素养,研判高考命题趋势 考点要求 考查形式 2026年 2025年 2024年 算法与问题解决(算法的特征、三要素、算法与程序的关系) þ选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14(1),填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 浙江卷 6 月 T7,2 分 算法的控制结构(顺序、分支、循环及 break/continue 语义) þ选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14,填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 浙江卷 6 月 T7,2 分 算法的描述(自然语言、流程图、伪代码、流程图的识读) þ选择题 浙江卷 1 月 T7,2 分 —— 浙江卷 6 月 T7,2 分 Python语言基础与程序设计(基础语法、三大控制结构代码实现、程序阅读) þ选择题 非选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14,填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 考情分析: 1.算法与程序实现是浙江信息技术选考的高频模块,选择题与非选择题均有涉及。选择题侧重考查算法特征、控制结构语义、流程图识读与程序阅读输出推断;非选择题常结合真实情境(服务器温度监测等),把“循环+条件判断”框架嵌入代码填空。 2.控制结构是考查核心:for 循环 range() 参数、while 循环的边界更新、break 与 continue 对循环流程的影响,以及“多分支互斥”与“多个 if 顺序执行”的区别,均为高频易错点。 3.流程图常结合判断框的互斥性、循环的终止条件,要求识读流程图推断输出,或完成流程图与程序代码的相互转换。 4.程序阅读以“循环+分支+字符串/列表操作”为主,需逐行追踪变量变化;2024年1月 T11、2025年6月 T10、2026年1月 T10 均属此类。 5.程序填空多以 while 循环处理持续到达的数据、if-elif-else 生成不同状态码、计数器/累加器统计次数,如 2026年1月 T14。 复习目标: 1.掌握算法的概念与五大特征(有穷性、可行性、确定性、0个或多个输入、1个或多个输出),理解算法三要素及算法与程序的区别。 2.理解顺序、分支、循环三种基本控制结构的执行流程,能准确判断循环边界,辨析 break/continue 及“多分支”与“多 if”的区别。 3.掌握自然语言、流程图、伪代码三种算法描述方式,能识读流程图并实现与程序代码的相互转换。 4.掌握 Python 基础语法与三大控制结构的代码实现,能阅读包含循环、分支和列表/字符串操作的程序段并推断输出结果。 思维建模·脉络梳理 ——搭建知识框架,构建系统思维 考点精讲·靶向突破 ——拆解核心考点,归纳解题范式 考点一 算法与问题解决 知●识●解●构 知识点1 算法及其特征 1.算法:对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。 2.算法的五大特征:有穷性(算法必须在有限步骤内结束)、可行性(每一步都能通过有限次操作实现)、确定性(每一步的含义明确、无歧义)、0个或多个输入、1个或多个输出。 3.输入与输出:算法可以没有输入(0个输入),但必须有输出;没有输出的算法是没有意义的。 知识点2 算法三要素与算法、程序的关系 1.算法三要素:数据(数据的类型与表示形式)、运算(对数据的操作)、控制转移(对运算顺序的控制,包括顺序、分支、循环)。 2.算法与程序的区别:算法是解决问题的方法和步骤,与具体的编程语言无关;程序是算法在某种编程语言下的具体实现,同一个算法可以用不同的语言编写成不同的程序。 3.易错点:“算法必须通过计算机程序实现”说法错误——算法可以用自然语言、流程图、伪代码等描述,不必非得写成程序;但算法要交给计算机执行,通常需要转化为程序。 知识点3 用算法解决问题的过程 1.一般过程:抽象与建模(把实际问题抽象成可计算的问题,建立数据模型)→ 设计算法(选择合适的数据结构与控制结构)→ 编写程序(用某编程语言实现算法)→ 调试运行(测试并修正,得到正确结果)。 2.关键:先抽象建模、再设计算法,是编程解决问题的前提;“使用算法解决实际问题时,首先应该做的是抽象与建模”为常见考点。 考●向●破●译 考向1 算法特征与三要素辨析(选择题) 例1 (2023学年第一学期浙江省舟山市高二期末 第4题) 下列关于算法的说法不正确的是(  ) A. 在计算机科学领域内,算法指的是用计算机解决问题的步骤 B. “计算斐波那契数列的所有元素”违背了算法的确定性 C. 数据、运算和控制转移是算法的三大要素 D. 常见算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等 答案:B 解析:本题考查算法的特征与三要素。算法的有穷性是指算法在有限步骤内能够结束,不会出现无限循环或无法终止的情况;斐波那契数列是一个无限序列,“计算其所有元素”会使计算过程永不结束,违反的是算法的有穷性而非确定性,故B说法不正确。A项是对算法(在计算机科学领域内指用计算机解决问题的步骤)的概述,正确;C项,数据、运算和控制转移是算法的三大要素,正确;D项,自然语言、流程图、伪代码、计算机程序设计语言等都是算法的描述方式,正确。 考点二 算法的控制结构 知●识●解●构 知识点1 顺序结构 1.顺序结构:按语句出现的先后顺序依次执行,是算法最基本的结构;每一操作按先后次序执行,前一个操作的输出往往作为后一个操作的输入。 2.顺序结构的执行不存在“跳转”,程序从第一条语句开始顺序执行到最后一条语句。 知识点2 分支结构 1.分支结构:根据条件是否成立选择执行不同的语句路径,Python 用 if、if-else、if-elif-else 实现。 2.互斥性:if-elif-else 是“多分支互斥”结构,一旦某个分支成立,其余分支不再判断;而多个独立的 if 语句是顺序执行的,前面的 if 赋值可能被后面的 if 再次赋值覆盖,二者逻辑不等价,是高频易错点。 3.等价转换:if a>b: flag=True else: flag=False 与 flag=a>b 功能等价;用逻辑表达式表示双分支时要格外注意等价性。 知识点3 循环结构 1.for 循环:for i in range(a, b, c) 遍历序列,i 依次取 a、a+c、a+2c……;range 的“起始值、终止值(不含)、步长”三参数是高频考点。 2.while 循环:while 条件成立时重复执行循环体,需正确设置终止条件并更新循环变量,否则会造成死循环。 3.break 与 continue:break 立即跳出当前整个循环;continue 跳过本次循环剩余的语句,进入下一次循环判断。 考●向●破●译 考向1 循环与分支程序识读(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第10题) 有如下 Python 程序段: i=0; j=len(a)-1; key=int(input()) while a[i]<=key<=a[j]: m=(i+j)//2 if a[m]==key: break elif a[m]>key: j=m-1 else: i=m+1 若 a 为 [1, 3, 5, 7],运行该程序段后,i 和 j 的值不可能是(  ) A. 3, 2 B. 2, 3 C. 0, 3 D. 0, 0 答案:A 解析:本题考查 while 循环与 if-elif-else 分支的程序流程。程序对升序数组 a 进行二分查找:当 key 落在 a[i] 到 a[j] 范围内时进入循环,根据 a[m] 与 key 的大小不断缩小区间。二分查找过程中始终有 i≤m≤j,即 i 不可能大于 j;选项 A 中 i=3、j=2(i>j)不可能出现。其余选项均可能出现:key 未命中时更新 i 或 j 后继续循环(如 key=4 时 i=2、j=1,key=6 时 i=3、j=3),命中时 break(如 key=5 时 i=2、j=3,key=1 时 i=0、j=0,key 不在[1,7]内时 i=0、j=3),故 B、C、D 均可能。 考点三 算法的描述 知●识●解●构 知识点1 算法的三种描述方式 1.自然语言:用日常语言描述算法步骤,通俗易懂,但易产生歧义、表述较冗长。 2.流程图:用规定的图形符号(起止框、处理框、判断框、输入/输出框、流程线等)直观描述算法,逻辑清晰、便于识读。 3.伪代码与计算机语言:伪代码介于自然语言与程序语言之间,便于转化为程序;计算机程序设计语言能直接被计算机执行。同一个算法可以用多种方式描述。 知识点2 流程图的识读 1.基本符号:起止框(圆角矩形)、处理框(矩形)、判断框(菱形)、输入/输出框(平行四边形)、流程线(带箭头)。 2.识读要点:判断框有“是/否”两个出口,多个判断框之间是“互斥”还是“顺序执行”会直接影响结果;循环需关注循环变量更新与终止条件。 3.转换要点:一个多分支流程图通常对应 if-elif-else(互斥)结构,也可能对应多个并列的 if(顺序执行),需注意逻辑等价性。 考●向●破●译 考向1 流程图识读与结果推断(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第7题) 某校组织“天天跳绳”活动,1周跳绳总积分(s)累计达到35分及以上为“达标”,否则“未达标”。每天跳绳(t)大于等于160个计10分,大于等于50个少于160个计5分,少于50个计0分。判断是否达标的部分流程图如图1所示,(1)~(4)处可选表达式为:①s≥35?②t≥50?③t≥160?④i>7?则(1)~(4)处表达式序号依次为(  ) A. ④③②① B. ①②③④ C. ④②③① D. ①③②④ 答案:C 解析:本题考查流程图的识读与条件表达式的选择。(1)处判断一周是否结束,填④i>7:成立则输出“未达标”,否则输入当天跳绳个数 t;(2)处判断 t≥50,填②,成立先加5分;(3)处判断 t≥160,填③,成立再加5分(共10分),(2)(3)均不成立则加0分;(4)处判断累计积分 s≥35,填①,成立输出“达标”,否则 i 加1进入下一天。故(1)~(4)依次为④②③①,选C。 考点四 Python语言基础与程序设计 知●识●解●构 知识点1 Python基础语法 1.数据类型:整型 int、浮点型 float、字符串 str、列表 list、布尔型 bool 等;变量不需要声明类型,直接赋值。 2.运算符与表达式:算术运算符(+ - * / // % **)、关系运算符(== != > < >= <=)、逻辑运算符(and or not)及运算优先级。 3.常用函数与操作:len() 取长度、input() 输入、int()/float() 类型转换、range() 生成序列、字符串与列表的下标访问与切片。 知识点2 三大控制结构的代码实现 1.顺序结构:语句自上而下依次执行。 2.分支结构:if 条件: … elif 条件: … else: …;注意 if-elif-else 的互斥性与多个 if 顺序执行的差异。 3.循环结构:for 循环(遍历 range/字符串/列表)与 while 循环(条件重复);break 跳出循环、continue 跳过本次;循环可与分支、累加器/计数器组合使用。 知识点3 程序阅读与输出推断 1.阅读程序时,建议逐行追踪变量变化,记录每个循环步中变量的取值,尤其关注循环边界与变量更新语句。 2.常见陷阱:range() 参数(终止值不含)、while 的循环条件与步长更新、break/continue 对循环流程的影响、字符串/列表下标从 0 开始。 考●向●破●译 考向1 程序阅读与输出推断(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第11题) map 和 ker 均为二维数组,分别存储如下数据。有如下 Python 程序段: def ct(x, y, m): s = 0 for i in range(x, x + m): for j in range(y, y + m): s += map[i][j] * ker[i - x][j - y] return s map = [[3, 247, 4], [2, 180, 3], [2, 101, 1]] ker = [[-1, 1], [-1, 1]] n = len(map); m = len(ker) c = [] for i in range(n - m + 1): for j in range(n - m + 1): c.append(ct(i, j, m)) print(c) 执行该程序段,输出的结果是(  ) A. [-420, 422, -277, 277] B. [422, -420, 277, -277] C. [422, 277, -420, -277] D. [-277, 277, -420, 422] 答案:B 解析:本题考查双层 for 循环与二维数组的程序阅读。ct(x, y, 2) 求 map 中 2×2 子块与 ker 对应位置相乘之和:ct(0,0):3×(-1)+247×1+2×(-1)+180×1=422;ct(0,1):247×(-1)+4×1+180×(-1)+3×1=-420;ct(1,0):2×(-1)+180×1+2×(-1)+101×1=277;ct(1,1):180×(-1)+3×1+101×(-1)+1×1=-277。故 c=[422,-420,277,-277],选B。 真题溯源·考向感知 ——溯源真题逻辑,感知高考考向 1.(选考真题・2024年1月浙江信息技术选考 第11题) 有如下 Python 程序段: s = "abcde" i, j = 0, len(s)-1 res = "" while i <= j: if randint(0,1) == 0: res += s[i] i += 1 else: res += s[j] j -= 1 执行该程序段后,变量 res 的值不可能是(  ) A. "abced" B. "aecbd" C. "aedbc" D. "edcba" 【参考答案与解析】 答案:B 解析:本题考查 while 循环与随机选择的程序逻辑。程序每次从字符串 s 剩余部分的两端(左边界 i、右边界 j)随机选取一个字符加入 res。要得到“aecbd”,字符 c 需在第3步被取出,但取出 a、e 后剩余串为“bcd”,两端是 b 和 d,无法取到 c;若先取 b 或 d 则得不到“aecbd”,故选项 B 不可能。其余选项均可通过适当的两端取字符顺序得到(A:a、b、c、e、d;C:a、e、d、b、c;D:全从右端取 e、d、c、b、a)。 2.(选考真题・2024年6月浙江信息技术选考 第7题) 某同学根据流程图编写了如下 Python 程序段: n = int(input()) if n <= 20: z = 0 if n <= 50: z = 1 else: z = 2 用下列输入数据测试程序段与流程图,两者得到的 z 值不同的是(  ) A. 60 B. 50 C. 30 D. 10 【参考答案与解析】 答案:D 解析:本题考查流程图的多分支(互斥)结构与多个 if 顺序执行的差异。流程图是“多分支选择”结构:n≤20 时 z=0,20<n≤50 时 z=1,n>50 时 z=2,三种情况互斥;而程序段中两个 if 是顺序执行的独立分支。n=10 时,第一个 if(n≤20)成立 z=0,随后第二个 if(n≤50)也成立 z=1,z 被重新赋值为 1,与流程图所得 z=0 不同,故答案 D。其余输入下程序段与流程图所得 z 值一致(n=60:均得 z=2;n=50:均得 z=1;n=30:均得 z=1)。 3.(选考真题・2025年6月浙江信息技术选考 第10题) 有如下 Python 程序段: i, r = n, "" while i < len(s): r += s[i] i += 1 if i % 5 == 0: i += n 若 s 为 “abcdefghi”,n 为 2,运行该程序段后,r 的值为(  ) A. "abefi" B. "abfg" C. "cdehi" D. "cdhi" 【参考答案与解析】 答案:C 解析:本题考查 while 循环与步长跳转。s=“abcdefghi”,n=2,i 从 2 开始:i=2 取 s[2]=c、i=3;i=3 取 d、i=4;i=4 取 e、i=5,此时 i%5==0,i 加 n 变为 7;i=7 取 h、i=8;i=8 取 i、i=9,循环结束。故 r=“cdehi”,选C。 4.(选考真题・2026年1月浙江信息技术选考 第10题) 有如下 Python 程序段: c, i = "", 0 while i < len(s) and t >= 0: if s[i] == "e": t -= 1 else: c += s[i] i += 1 若 s 为 “keeper”,t 为 2,执行该程序段后,c 的值为(  ) A. "k" B. "kp" C. "kpr" D. "kper" 【参考答案与解析】 答案:B 解析:本题考查 while 循环与分支的程序阅读。s=“keeper”,t=2,i 从 0 开始:遇字符 “e” 时 t 减1,否则把该字符加入 c。依次:i=0 取 “k” 入 c;i=1 遇 “e”、t 变1;i=2 遇 “e”、t 变0;i=3 取 “p” 入 c(c=“kp”);i=4 遇 “e”、t 变-1,此时循环条件 t>=0 不再满足,循环结束。故 c=“kp”,选B。 5.(选考真题・2026年1月浙江信息技术选考 第14题) 服务器根据温度数据生成状态码,满足一定条件时发送给智能终端以控制风扇运行。生成和发送状态码的规则如下: ①温度≤15℃时,状态码为0;温度≥35℃时,状态码为2;其他温度范围,状态码为1。 ②当状态码连续k(k>1)个相同,且与最近已发送状态码不同时,则发送该状态码。 (1)若 k 为 3,最近已发送状态码为 1,随后生成的状态码序列为“0,0,0,2,0,0,1,1,1,0”,则由该序列触发的状态码发送次数为______次。 (2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。 sent = last = -1 #获取 k 值,代码略 while True: #获取温度数据保存到变量 t 中,代码略 ①______ if t >= 35: code = 2 elif t > 15: code = 1 if ②______: if code != last: cnt = 1 else: ③______ if cnt == k: #发送状态码 code,代码略 sent = code last = code #延时1分钟,代码略 【参考答案与解析】 答案:(1)2;(2)①code=0 ②code!=sent ③cnt+=1(或 cnt=cnt+1) 解析:本题考查 while 循环、if-elif-else 分支与计数器(累加器)的综合应用。(1)k=3,最近已发送状态码为1。序列中“0,0,0”连续3个0且与已发送的1不同,发送一次0;此后“1,1,1”连续3个1且与最近已发送的0不同,发送一次1;其余字符因连续个数不足3或与最近已发送状态码相同而不发送,共发送2次。(2)①处为温度≤15℃时令 code=0;②处判断当前状态码是否与最近已发送状态码不同,填 code!=sent;③处为状态码连续相同时的累加,填 cnt+=1(或 cnt=cnt+1)。 2 / 3 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 第02讲 Python语言基础与三大控制结构 内容导航 01 命题透视·考情前瞻 对标素养,研判高考命题趋势 02 思维建模·脉络梳理 搭建知识框架,构建系统思维 03 考点精讲·靶向突破 拆解核心考点,归纳解题范式 考点一 算法与问题解决 知识解构 知识点1 算法及其特征 知识点2 算法三要素与算法、程序的关系 知识点3 用算法解决问题的过程 考向破译 考向1 算法特征与三要素辨析(选择题) 考点二 算法的控制结构 知识解构 知识点1 顺序结构 知识点2 分支结构 知识点3 循环结构 考向破译 考向1 循环与分支程序识读(选择题) 考点三 算法的描述 知识解构 知识点1 算法的三种描述方式 知识点2 流程图的识读 考向破译 考向1 流程图识读与结果推断(选择题) 考点四 Python语言基础与程序设计 知识解构 知识点1 Python基础语法 知识点2 三大控制结构的代码实现 知识点3 程序阅读与输出推断 考向破译 考向1 程序阅读与输出推断(选择题) 04 真题溯源·考向感知 溯源真题逻辑,感知高考考向 命题透视·考情前瞻 ——对标素养,研判高考命题趋势 考点要求 考查形式 2026年 2025年 2024年 算法与问题解决(算法的特征、三要素、算法与程序的关系) þ选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14(1),填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 浙江卷 6 月 T7,2 分 算法的控制结构(顺序、分支、循环及 break/continue 语义) þ选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14,填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 浙江卷 6 月 T7,2 分 算法的描述(自然语言、流程图、伪代码、流程图的识读) þ选择题 浙江卷 1 月 T7,2 分 —— 浙江卷 6 月 T7,2 分 Python语言基础与程序设计(基础语法、三大控制结构代码实现、程序阅读) þ选择题 非选择题 浙江卷 1 月 T10,选择 浙江卷 1 月 T14,填空 浙江卷 6 月 T10,2 分 浙江卷 1 月 T11,2 分 考情分析: 1.算法与程序实现是浙江信息技术选考的高频模块,选择题与非选择题均有涉及。选择题侧重考查算法特征、控制结构语义、流程图识读与程序阅读输出推断;非选择题常结合真实情境(服务器温度监测等),把“循环+条件判断”框架嵌入代码填空。 2.控制结构是考查核心:for 循环 range() 参数、while 循环的边界更新、break 与 continue 对循环流程的影响,以及“多分支互斥”与“多个 if 顺序执行”的区别,均为高频易错点。 3.流程图常结合判断框的互斥性、循环的终止条件,要求识读流程图推断输出,或完成流程图与程序代码的相互转换。 4.程序阅读以“循环+分支+字符串/列表操作”为主,需逐行追踪变量变化;2024年1月 T11、2025年6月 T10、2026年1月 T10 均属此类。 5.程序填空多以 while 循环处理持续到达的数据、if-elif-else 生成不同状态码、计数器/累加器统计次数,如 2026年1月 T14。 复习目标: 1.掌握算法的概念与五大特征(有穷性、可行性、确定性、0个或多个输入、1个或多个输出),理解算法三要素及算法与程序的区别。 2.理解顺序、分支、循环三种基本控制结构的执行流程,能准确判断循环边界,辨析 break/continue 及“多分支”与“多 if”的区别。 3.掌握自然语言、流程图、伪代码三种算法描述方式,能识读流程图并实现与程序代码的相互转换。 4.掌握 Python 基础语法与三大控制结构的代码实现,能阅读包含循环、分支和列表/字符串操作的程序段并推断输出结果。 思维建模·脉络梳理 ——搭建知识框架,构建系统思维 考点精讲·靶向突破 ——拆解核心考点,归纳解题范式 考点一 算法与问题解决 知●识●解●构 知识点1 算法及其特征 1.算法:对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。 2.算法的五大特征:有穷性(算法必须在有限步骤内结束)、可行性(每一步都能通过有限次操作实现)、确定性(每一步的含义明确、无歧义)、0个或多个输入、1个或多个输出。 3.输入与输出:算法可以没有输入(0个输入),但必须有输出;没有输出的算法是没有意义的。 知识点2 算法三要素与算法、程序的关系 1.算法三要素:数据(数据的类型与表示形式)、运算(对数据的操作)、控制转移(对运算顺序的控制,包括顺序、分支、循环)。 2.算法与程序的区别:算法是解决问题的方法和步骤,与具体的编程语言无关;程序是算法在某种编程语言下的具体实现,同一个算法可以用不同的语言编写成不同的程序。 3.易错点:“算法必须通过计算机程序实现”说法错误——算法可以用自然语言、流程图、伪代码等描述,不必非得写成程序;但算法要交给计算机执行,通常需要转化为程序。 知识点3 用算法解决问题的过程 1.一般过程:抽象与建模(把实际问题抽象成可计算的问题,建立数据模型)→ 设计算法(选择合适的数据结构与控制结构)→ 编写程序(用某编程语言实现算法)→ 调试运行(测试并修正,得到正确结果)。 2.关键:先抽象建模、再设计算法,是编程解决问题的前提;“使用算法解决实际问题时,首先应该做的是抽象与建模”为常见考点。 考●向●破●译 考向1 算法特征与三要素辨析(选择题) 例1 (2023学年第一学期浙江省舟山市高二期末 第4题) 下列关于算法的说法不正确的是(  ) A. 在计算机科学领域内,算法指的是用计算机解决问题的步骤 B. “计算斐波那契数列的所有元素”违背了算法的确定性 C. 数据、运算和控制转移是算法的三大要素 D. 常见算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等 考点二 算法的控制结构 知●识●解●构 知识点1 顺序结构 1.顺序结构:按语句出现的先后顺序依次执行,是算法最基本的结构;每一操作按先后次序执行,前一个操作的输出往往作为后一个操作的输入。 2.顺序结构的执行不存在“跳转”,程序从第一条语句开始顺序执行到最后一条语句。 知识点2 分支结构 1.分支结构:根据条件是否成立选择执行不同的语句路径,Python 用 if、if-else、if-elif-else 实现。 2.互斥性:if-elif-else 是“多分支互斥”结构,一旦某个分支成立,其余分支不再判断;而多个独立的 if 语句是顺序执行的,前面的 if 赋值可能被后面的 if 再次赋值覆盖,二者逻辑不等价,是高频易错点。 3.等价转换:if a>b: flag=True else: flag=False 与 flag=a>b 功能等价;用逻辑表达式表示双分支时要格外注意等价性。 知识点3 循环结构 1.for 循环:for i in range(a, b, c) 遍历序列,i 依次取 a、a+c、a+2c……;range 的“起始值、终止值(不含)、步长”三参数是高频考点。 2.while 循环:while 条件成立时重复执行循环体,需正确设置终止条件并更新循环变量,否则会造成死循环。 3.break 与 continue:break 立即跳出当前整个循环;continue 跳过本次循环剩余的语句,进入下一次循环判断。 考●向●破●译 考向1 循环与分支程序识读(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第10题) 有如下 Python 程序段: i=0; j=len(a)-1; key=int(input()) while a[i]<=key<=a[j]: m=(i+j)//2 if a[m]==key: break elif a[m]>key: j=m-1 else: i=m+1 若 a 为 [1, 3, 5, 7],运行该程序段后,i 和 j 的值不可能是(  ) A. 3, 2 B. 2, 3 C. 0, 3 D. 0, 0 考点三 算法的描述 知●识●解●构 知识点1 算法的三种描述方式 1.自然语言:用日常语言描述算法步骤,通俗易懂,但易产生歧义、表述较冗长。 2.流程图:用规定的图形符号(起止框、处理框、判断框、输入/输出框、流程线等)直观描述算法,逻辑清晰、便于识读。 3.伪代码与计算机语言:伪代码介于自然语言与程序语言之间,便于转化为程序;计算机程序设计语言能直接被计算机执行。同一个算法可以用多种方式描述。 知识点2 流程图的识读 1.基本符号:起止框(圆角矩形)、处理框(矩形)、判断框(菱形)、输入/输出框(平行四边形)、流程线(带箭头)。 2.识读要点:判断框有“是/否”两个出口,多个判断框之间是“互斥”还是“顺序执行”会直接影响结果;循环需关注循环变量更新与终止条件。 3.转换要点:一个多分支流程图通常对应 if-elif-else(互斥)结构,也可能对应多个并列的 if(顺序执行),需注意逻辑等价性。 考●向●破●译 考向1 流程图识读与结果推断(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第7题) 某校组织“天天跳绳”活动,1周跳绳总积分(s)累计达到35分及以上为“达标”,否则“未达标”。每天跳绳(t)大于等于160个计10分,大于等于50个少于160个计5分,少于50个计0分。判断是否达标的部分流程图如图1所示,(1)~(4)处可选表达式为:①s≥35?②t≥50?③t≥160?④i>7?则(1)~(4)处表达式序号依次为(  ) A. ④③②① B. ①②③④ C. ④②③① D. ①③②④ 考点四 Python语言基础与程序设计 知●识●解●构 知识点1 Python基础语法 1.数据类型:整型 int、浮点型 float、字符串 str、列表 list、布尔型 bool 等;变量不需要声明类型,直接赋值。 2.运算符与表达式:算术运算符(+ - * / // % **)、关系运算符(== != > < >= <=)、逻辑运算符(and or not)及运算优先级。 3.常用函数与操作:len() 取长度、input() 输入、int()/float() 类型转换、range() 生成序列、字符串与列表的下标访问与切片。 知识点2 三大控制结构的代码实现 1.顺序结构:语句自上而下依次执行。 2.分支结构:if 条件: … elif 条件: … else: …;注意 if-elif-else 的互斥性与多个 if 顺序执行的差异。 3.循环结构:for 循环(遍历 range/字符串/列表)与 while 循环(条件重复);break 跳出循环、continue 跳过本次;循环可与分支、累加器/计数器组合使用。 知识点3 程序阅读与输出推断 1.阅读程序时,建议逐行追踪变量变化,记录每个循环步中变量的取值,尤其关注循环边界与变量更新语句。 2.常见陷阱:range() 参数(终止值不含)、while 的循环条件与步长更新、break/continue 对循环流程的影响、字符串/列表下标从 0 开始。 考●向●破●译 考向1 程序阅读与输出推断(选择题) 例1 (丽水、湖州、衢州2025年11月三地市高三教学质量检测 第11题) map 和 ker 均为二维数组,分别存储如下数据。有如下 Python 程序段: def ct(x, y, m): s = 0 for i in range(x, x + m): for j in range(y, y + m): s += map[i][j] * ker[i - x][j - y] return s map = [[3, 247, 4], [2, 180, 3], [2, 101, 1]] ker = [[-1, 1], [-1, 1]] n = len(map); m = len(ker) c = [] for i in range(n - m + 1): for j in range(n - m + 1): c.append(ct(i, j, m)) print(c) 执行该程序段,输出的结果是(  ) A. [-420, 422, -277, 277] B. [422, -420, 277, -277] C. [422, 277, -420, -277] D. [-277, 277, -420, 422] 真题溯源·考向感知 ——溯源真题逻辑,感知高考考向 1.(选考真题・2024年1月浙江信息技术选考 第11题) 有如下 Python 程序段: s = "abcde" i, j = 0, len(s)-1 res = "" while i <= j: if randint(0,1) == 0: res += s[i] i += 1 else: res += s[j] j -= 1 执行该程序段后,变量 res 的值不可能是(  ) A. "abced" B. "aecbd" C. "aedbc" D. "edcba" 2.(选考真题・2024年6月浙江信息技术选考 第7题) 某同学根据流程图编写了如下 Python 程序段: n = int(input()) if n <= 20: z = 0 if n <= 50: z = 1 else: z = 2 用下列输入数据测试程序段与流程图,两者得到的 z 值不同的是(  ) A. 60 B. 50 C. 30 D. 10 3.(选考真题・2025年6月浙江信息技术选考 第10题) 有如下 Python 程序段: i, r = n, "" while i < len(s): r += s[i] i += 1 if i % 5 == 0: i += n 若 s 为 “abcdefghi”,n 为 2,运行该程序段后,r 的值为(  ) A. "abefi" B. "abfg" C. "cdehi" D. "cdhi" 4.(选考真题・2026年1月浙江信息技术选考 第10题) 有如下 Python 程序段: c, i = "", 0 while i < len(s) and t >= 0: if s[i] == "e": t -= 1 else: c += s[i] i += 1 若 s 为 “keeper”,t 为 2,执行该程序段后,c 的值为(  ) A. "k" B. "kp" C. "kpr" D. "kper" 5.(选考真题・2026年1月浙江信息技术选考 第14题) 服务器根据温度数据生成状态码,满足一定条件时发送给智能终端以控制风扇运行。生成和发送状态码的规则如下: ①温度≤15℃时,状态码为0;温度≥35℃时,状态码为2;其他温度范围,状态码为1。 ②当状态码连续k(k>1)个相同,且与最近已发送状态码不同时,则发送该状态码。 (1)若 k 为 3,最近已发送状态码为 1,随后生成的状态码序列为“0,0,0,2,0,0,1,1,1,0”,则由该序列触发的状态码发送次数为______次。 (2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。 sent = last = -1 #获取 k 值,代码略 while True: #获取温度数据保存到变量 t 中,代码略 ①______ if t >= 35: code = 2 elif t > 15: code = 1 if ②______: if code != last: cnt = 1 else: ③______ if cnt == k: #发送状态码 code,代码略 sent = code last = code #延时1分钟,代码略 2 / 3 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第02讲 Python语言基础与三大控制结构(复习讲义)(浙江专用)2027年高考信息技术一轮复习讲练测-第1页
1
第02讲 Python语言基础与三大控制结构(复习讲义)(浙江专用)2027年高考信息技术一轮复习讲练测-第2页
2
第02讲 Python语言基础与三大控制结构(复习讲义)(浙江专用)2027年高考信息技术一轮复习讲练测-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。