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

| 2份
| 16页
| 123人阅读
| 3人下载

内容正文:

第02讲 Python语言基础与三大控制结构 目录 01 课标达标练 考点01 考查算法及其特征 考点02 考查算法的控制结构 考点03 考查算法的描述(流程图) 考点04 考查Python语言程序设计 02 核心突破练 03 真题溯源练 01 考查算法及其特征【★选考高频】 考纲对标:掌握算法的五大特征(有穷性、可行性、确定性、0个或多个输入、1个或多个输出),理解算法与程序的区别;能判断某段描述是否构成算法。浙江选考选择题高频考查。 1.【结合成绩评定考查算法特征】下列关于算法特征的描述,正确的是( ) A. 算法的有穷性指算法中每一步都能被计算机执行 B. 算法的确定性指对相同输入,算法每次执行的步骤与结果都一致 C. 算法可以有0个或多个输入,也可以有0个或多个输出 D. 算法必须通过计算机程序实现,否则无法运行 【答案】B 【解析】本题考查算法的五大特征。 A 错误:有穷性指算法在执行有限步骤后必须终止;“每一步都能被计算机执行”是可行性(能行性)的要求; B 正确:确定性指算法中每一条指令必须有明确含义,对相同输入,执行的步骤与结果是唯一的; C 错误:算法可以有0个或多个输入,但必须有1个或多个输出; D 错误:算法是解决问题的方法和步骤,不依赖于具体编程语言,不一定要通过程序实现。 2.【结合求和程序考查控制结构识别】某Python程序段用于计算1到100之间所有偶数的和,请判断其使用了哪些控制结构,并补全代码。 s = 0 for i in range(1, 101): if i % 2 == 0: s = s + i print(s) (1) 该程序综合使用了顺序结构、①______结构和②______结构三种控制结构; (2) 若将range(1, 101)改为range(①______, 101),仍能实现相同功能(只填起始值)。 【答案】(1)①分支;②循环;(2)①2 【解析】本题考查算法三大控制结构与for循环。 程序自上而下依次执行属顺序结构;for循环属于循环结构;用if判断偶数属于分支(选择)结构。求1~100偶数之和,把range起始值改为2(即range(2,101)),仍从偶数2开始遍历,功能不变。 02 考查算法的控制结构【★选考高频】 考纲对标:理解顺序、分支(if-elif-else)、循环(for、while)三种基本控制结构的执行流程;掌握range()函数参数含义以及break与continue语句的区别;能结合具体情境判断程序所属结构并推断运行结果。浙江选考选择题与非选择题均高频考查。 3.【结合停车计费系统考查分支与循环结构】某停车场计费规则为:入场后前3小时每小时收费5元,超过3小时的部分每小时加收2元。计算一辆车停车n小时应收费用的Python程序段中,用if语句判断“n>3”以选择不同计费方式。下列说法正确的是( ) A. 该程序段只使用了顺序结构 B. 该程序段使用了分支结构,用于判断停车时长是否超过3小时 C. 该程序段使用了循环结构,对每个计费单元重复累加 D. 该程序段未使用任何控制结构 【答案】B 【解析】本题考查算法控制结构。 A 错误:程序用if判断n是否大于3以选择不同计费分支,并非只有顺序结构; B 正确:用if判断“n>3”决定采用哪种计费方式,属于分支(选择)结构; C 错误:计费可直接由公式计算得出,无需对每小时进行循环累加; D 错误:程序综合使用了顺序结构与分支结构。 03 考查算法的描述(流程图识读与代码转换)【★选考高频】 考纲对标:掌握流程图中各图形符号(起止框、输入输出框、判断框、处理框、流程线)的含义;能根据流程图推断程序执行结果或补全缺失环节;能将流程图与Python代码相互转换。浙江选考选择题高频考查。 4.【结合网购满减活动考查流程图识读】某购物平台规定:单笔订单金额满300元立减50元,未满不减免。用流程图描述该规则(判断框为“金额≥300?”,处理框为“实付←金额-50”,最后输出“实付”)。若输入金额为280,则输出的实付为( ) A. 280 B. 250 C. 230 D. 330 【答案】A 【解析】本题考查流程图识读。输入金额280,判断“金额≥300?”结果为否,跳过减免处理框,直接输出实付=金额=280,故选A。 5.【结合体温预警考查流程图与代码转换】下列流程图实现“当温度t≥38时输出‘预警’,否则输出‘正常’”。与之功能等价的Python程序段是( ) A. if t >= 38: print('预警') else: print('正常') B. if t > 38: print('正常') else: print('预警') C. if t < 38: print('预警') else: print('正常') D. if t <= 38: print('预警') else: print('正常') 【答案】A 【解析】本题考查流程图与代码转换。流程图判断“t≥38”成立输出“预警”,否则输出“正常”,与A选项的if-else分支完全对应,故选A。 04 考查Python语言程序设计(程序阅读与代码填空)【★选考高频】 考纲对标:掌握Python基础语法(数据类型、变量、运算符、表达式)与字符串、列表的基本操作;能阅读包含循环、分支的程序段推断输出结果;能根据问题描述补全关键代码。浙江选考选择题、非选择题(代码填空)均高频考查。 6.【结合字符串处理考查程序阅读】有如下Python程序段: s = 'a1B2c3' res = '' for ch in s: if 'a' <= ch <= 'z': res = res + chr(ord(ch) - 32) else: res = res + ch print(res) 执行该程序段后,输出的结果是( ) A. A1B2C3 B. a1b2c3 C. A1b2C3 D. a1B2c3 【答案】A 【解析】本题考查字符串遍历与分支。对每个字符,若为小写字母则转大写(ord(ch)-32对应大写字母),数字与其他字符保持不变。'a1B2c3'处理后为'A1B2C3',故选A。 7.【结合成绩统计考查代码填空】某程序统计列表score=[82,90,68,75,88]中分数大于等于80的人数,代码如下(划线处需补全): cnt = 0 for i in score: if ①______: ②______ print(cnt) 下列填入①②处的代码,正确的是( ) A. ①i >= 80 ②cnt += 1 B. ①i > 80 ②cnt += 1 C. ①score[i] >= 80 ②cnt = cnt + 1 D. ①score[i] > 80 ②cnt += 1 【答案】A 【解析】本题考查for循环遍历列表与计数。for i in score遍历的是列表的元素值,①应判断元素是否≥80(应写i,不能写score[i]);②对满足条件的元素计数,用cnt+=1。故A正确。 1. 【新情境:字符串变换・分支结构】★(2025年11月稽阳联谊学校高三联考 第10题)有如下Python程序段: s = 'zj25@IT'; s1 = '' for i in range(len(s)): c = s[i] if 'A' <= c <= 'Z': s1 += chr((ord(c) - ord('A') + 1) % 26 + ord('a')) elif '0' <= c <= '9': s1 += str((int(c) + 7) % 10) else: s1 = c + s1 执行该程序段后,s1的值是( ) A. @jz92ju B. jz92@IT C. @jz29JU D. 25@ju 【答案】A 【解析】本题考查字符串遍历与分支。逐个字符处理:'z'、'j'、'@'既非大写字母也非数字,采用s1=c+s1前插;'2'→(2+7)%10=9、'5'→(5+7)%10=2,追加;大写'I'→(I-A+1)%26+a='j'、'T'→(T-A+1)%26+a='u'。综合得“@jz92ju”,故选A。 2. 【新情境:大小写转换・分支结构】★(宁波市2025学年第二学期选考模拟考试 第10题)有如下Python程序段: result, flag = '', 1 for ch in s: if flag == 1 and 'a' <= ch <= 'z': result += chr(ord(ch) - 32) elif ch == '#': flag = 1 - flag elif flag == 0: result += ch 若字符串s的值为'ab#cd#23e#!',执行该程序段后,变量result的值为( ) A. 'ABcdE!' B. 'AbcdE!' C. 'ABCDE' D. 'aBcdE!' 【答案】A 【解析】本题考查字符串遍历与分支。初始flag=1:a、b为小写字母转大写得“AB”;遇“#”flag变0,c、d直接加入得“ABcd”;再遇“#”flag变1,'2'、'3'非小写不加入;'e'转大写得“ABcdE”;最后'!'在flag=0时直接加入,得“ABcdE!”,选A。 3. 【新情境:旋转数组查找・while循环与分支】★(2025年11月稽阳联谊学校高三联考 第11题)有如下Python程序段: a = a[x:] + a[:x] #x为0~n-1的正整数,列表a各元素递增排列 L = 0; R = len(a) - 1 while L < R: m = ①______ if a[m] <= a[R] and a[m] < a[L]: R = m - 1 else: L = m print('数组中的最大值位置为:', ②______) 为使程序实现所需功能,划线处应填入的代码是( ) A. ①(L+R+1)//2 ②m B. ①(L+R)//2 ②m C. ①(L+R+1)//2 ②L D. ①(L+R)//2 ②R 【答案】C 【解析】本题考查while循环与二分查找思想。循环结束时L=R,最大值位置即L,②填L;用(L+R+1)//2计算m,可避免L、R相邻时(L+R)//2导致L不更新的死循环,①填(L+R+1)//2,故选C。 1.(选考真题・2026年1月浙江信息技术选考 第7题)某算法的部分流程图如图所示(判断框依次为“k<n?”与“a[k]>4?”,处理框为“c←c+1”与“k←k+1”,初始k←0、c←0)。若n的值为8,数组元素a[0]至a[n-1]依次存放2,3,4,8,5,4,9,6,执行这部分流程后,输出c的值为( ) A. 1 B. 2 C. 3 D. 4 【答案】D 【解析】本题考查流程图识读。流程依次扫描数组a,每遇到一个大于4的元素c加1,最终统计a中大于4的元素个数。a为2,3,4,8,5,4,9,6,其中8、5、9、6大于4,共4个,故输出c=4,选D。 综上,本题选D。 2.(选考真题・2026年1月浙江信息技术选考 第12题)有如下Python程序段: #获取a的初始值,代码略 i = 1 for j in range(1, len(a)): if a[j] < a[i]: a[i + 1] = a[j] i = i + 1 a[0], a[i - 1] = a[i - 1], a[0] 执行该程序段后,a的值为[2,4,3,5,6,9,7],则下列选项中不可能为a[0]的初始值的是( ) A. 2 B. 5 C. 6 D. 7 【答案】D 【解析】本题考查for循环与列表操作。程序把小于当前标记a[i]的元素依次存入a[i+1]后i自增,最后交换a[0]与a[i-1]。若a[0]初始为7,经程序处理后不可能得到[2,4,3,5,6,9,7],故选D。 3.(选考真题・2024年6月浙江信息技术选考 第11题)有如下Python程序段: for i in range(0, len(a) - 1, 2): if i > 0 and a[i] < a[i - 1]: a[i], a[i - 1] = a[i - 1], a[i] if a[i] < a[i + 1]: a[i], a[i + 1] = a[i + 1], a[i] 列表a有6个元素,运行该程序段后,a可能的值是( ) A. [2, 9, 8, 6, 9, 3] B. [9, 9, 8, 6, 3, 2] C. [9, 3, 6, 2, 8, 9] D. [6, 3, 9, 2, 9, 8] 【答案】D 【解析】本题考查for循环、分支与列表元素交换。 A 排除:i=0执行后a[0]≥a[1],A中a[0]=2<a[1]=9不可能; B 排除:i=2执行后a[2]≥a[1],B中a[2]=8<a[1]=9不可能; C 排除:i=4执行后a[4]≥a[5],C中a[4]=8<a[5]=9不可能; D 满足:D中a[0]≥a[1]、a[2]≥a[1]与a[3]、a[4]≥a[3]与a[5]全部成立,故程序结果a可能为D。 4.(选考真题・2025年1月浙江信息技术选考 第10题) 数组元素a[0]~a[n-1]已按升序排列,现要将a[pos](0≤pos≤n-1)的值加1,并保持数组的有序性不变,实现该功能的程序段如下,方框中应填入的正确代码为( ) t = a[pos] + 1 i = pos while ①______: a[i] = a[i + 1] i += 1 a[i] = t A. i<n-1 B. i<n-1 and t>a[i+1] C. i<n-1 and a[i]>a[i+1] D. i<=n-1 or t>a[i] 【答案】B 【解析】本题考查while循环与保持有序性。 A 错误:仅限制不越界,未判断t与右侧元素的大小关系,无法保证有序; B 正确:当t大于右侧元素a[i+1]且i未越界时右移,将t插回保持升序,故选B; C 错误:应比较t与a[i+1],而非a[i]与a[i+1]; D 错误:i<=n-1存在越界风险,且用t>a[i]作条件不符合右移逻辑。 综上,本题选B。 学科网(北京)股份有限公司1 / 17 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 第02讲 Python语言基础与三大控制结构 目录 01 课标达标练 考点01 考查算法及其特征 考点02 考查算法的控制结构 考点03 考查算法的描述(流程图) 考点04 考查Python语言程序设计 02 核心突破练 03 真题溯源练 01 考查算法及其特征【★选考高频】 考纲对标:掌握算法的五大特征(有穷性、可行性、确定性、0个或多个输入、1个或多个输出),理解算法与程序的区别;能判断某段描述是否构成算法。浙江选考选择题高频考查。 1.【结合成绩评定考查算法特征】下列关于算法特征的描述,正确的是( ) A. 算法的有穷性指算法中每一步都能被计算机执行 B. 算法的确定性指对相同输入,算法每次执行的步骤与结果都一致 C. 算法可以有0个或多个输入,也可以有0个或多个输出 D. 算法必须通过计算机程序实现,否则无法运行 2.【结合求和程序考查控制结构识别】某Python程序段用于计算1到100之间所有偶数的和,请判断其使用了哪些控制结构,并补全代码。 s = 0 for i in range(1, 101): if i % 2 == 0: s = s + i print(s) (1) 该程序综合使用了顺序结构、①______结构和②______结构三种控制结构; (2) 若将range(1, 101)改为range(①______, 101),仍能实现相同功能(只填起始值)。 02 考查算法的控制结构【★选考高频】 考纲对标:理解顺序、分支(if-elif-else)、循环(for、while)三种基本控制结构的执行流程;掌握range()函数参数含义以及break与continue语句的区别;能结合具体情境判断程序所属结构并推断运行结果。浙江选考选择题与非选择题均高频考查。 3.【结合停车计费系统考查分支与循环结构】某停车场计费规则为:入场后前3小时每小时收费5元,超过3小时的部分每小时加收2元。计算一辆车停车n小时应收费用的Python程序段中,用if语句判断“n>3”以选择不同计费方式。下列说法正确的是( ) A. 该程序段只使用了顺序结构 B. 该程序段使用了分支结构,用于判断停车时长是否超过3小时 C. 该程序段使用了循环结构,对每个计费单元重复累加 D. 该程序段未使用任何控制结构 03 考查算法的描述(流程图识读与代码转换)【★选考高频】 考纲对标:掌握流程图中各图形符号(起止框、输入输出框、判断框、处理框、流程线)的含义;能根据流程图推断程序执行结果或补全缺失环节;能将流程图与Python代码相互转换。浙江选考选择题高频考查。 4.【结合网购满减活动考查流程图识读】某购物平台规定:单笔订单金额满300元立减50元,未满不减免。用流程图描述该规则(判断框为“金额≥300?”,处理框为“实付←金额-50”,最后输出“实付”)。若输入金额为280,则输出的实付为( ) A. 280 B. 250 C. 230 D. 330 5.【结合体温预警考查流程图与代码转换】下列流程图实现“当温度t≥38时输出‘预警’,否则输出‘正常’”。与之功能等价的Python程序段是( ) A. if t >= 38: print('预警') else: print('正常') B. if t > 38: print('正常') else: print('预警') C. if t < 38: print('预警') else: print('正常') D. if t <= 38: print('预警') else: print('正常') 04 考查Python语言程序设计(程序阅读与代码填空)【★选考高频】 考纲对标:掌握Python基础语法(数据类型、变量、运算符、表达式)与字符串、列表的基本操作;能阅读包含循环、分支的程序段推断输出结果;能根据问题描述补全关键代码。浙江选考选择题、非选择题(代码填空)均高频考查。 6.【结合字符串处理考查程序阅读】有如下Python程序段: s = 'a1B2c3' res = '' for ch in s: if 'a' <= ch <= 'z': res = res + chr(ord(ch) - 32) else: res = res + ch print(res) 执行该程序段后,输出的结果是( ) A. A1B2C3 B. a1b2c3 C. A1b2C3 D. a1B2c3 7.【结合成绩统计考查代码填空】某程序统计列表score=[82,90,68,75,88]中分数大于等于80的人数,代码如下(划线处需补全): cnt = 0 for i in score: if ①______: ②______ print(cnt) 下列填入①②处的代码,正确的是( ) A. ①i >= 80 ②cnt += 1 B. ①i > 80 ②cnt += 1 C. ①score[i] >= 80 ②cnt = cnt + 1 D. ①score[i] > 80 ②cnt += 1 1. 【新情境:字符串变换・分支结构】★(2025年11月稽阳联谊学校高三联考 第10题)有如下Python程序段: s = 'zj25@IT'; s1 = '' for i in range(len(s)): c = s[i] if 'A' <= c <= 'Z': s1 += chr((ord(c) - ord('A') + 1) % 26 + ord('a')) elif '0' <= c <= '9': s1 += str((int(c) + 7) % 10) else: s1 = c + s1 执行该程序段后,s1的值是( ) A. @jz92ju B. jz92@IT C. @jz29JU D. 25@ju 2. 【新情境:大小写转换・分支结构】★(宁波市2025学年第二学期选考模拟考试 第10题)有如下Python程序段: result, flag = '', 1 for ch in s: if flag == 1 and 'a' <= ch <= 'z': result += chr(ord(ch) - 32) elif ch == '#': flag = 1 - flag elif flag == 0: result += ch 若字符串s的值为'ab#cd#23e#!',执行该程序段后,变量result的值为( ) A. 'ABcdE!' B. 'AbcdE!' C. 'ABCDE' D. 'aBcdE!' 3. 【新情境:旋转数组查找・while循环与分支】★(2025年11月稽阳联谊学校高三联考 第11题)有如下Python程序段: a = a[x:] + a[:x] #x为0~n-1的正整数,列表a各元素递增排列 L = 0; R = len(a) - 1 while L < R: m = ①______ if a[m] <= a[R] and a[m] < a[L]: R = m - 1 else: L = m print('数组中的最大值位置为:', ②______) 为使程序实现所需功能,划线处应填入的代码是( ) A. ①(L+R+1)//2 ②m B. ①(L+R)//2 ②m C. ①(L+R+1)//2 ②L D. ①(L+R)//2 ②R 1.(选考真题・2026年1月浙江信息技术选考 第7题)某算法的部分流程图如图所示(判断框依次为“k<n?”与“a[k]>4?”,处理框为“c←c+1”与“k←k+1”,初始k←0、c←0)。若n的值为8,数组元素a[0]至a[n-1]依次存放2,3,4,8,5,4,9,6,执行这部分流程后,输出c的值为( ) A. 1 B. 2 C. 3 D. 4 2.(选考真题・2026年1月浙江信息技术选考 第12题)有如下Python程序段: #获取a的初始值,代码略 i = 1 for j in range(1, len(a)): if a[j] < a[i]: a[i + 1] = a[j] i = i + 1 a[0], a[i - 1] = a[i - 1], a[0] 执行该程序段后,a的值为[2,4,3,5,6,9,7],则下列选项中不可能为a[0]的初始值的是( ) A. 2 B. 5 C. 6 D. 7 3.(选考真题・2024年6月浙江信息技术选考 第11题)有如下Python程序段: for i in range(0, len(a) - 1, 2): if i > 0 and a[i] < a[i - 1]: a[i], a[i - 1] = a[i - 1], a[i] if a[i] < a[i + 1]: a[i], a[i + 1] = a[i + 1], a[i] 列表a有6个元素,运行该程序段后,a可能的值是( ) A. [2, 9, 8, 6, 9, 3] B. [9, 9, 8, 6, 3, 2] C. [9, 3, 6, 2, 8, 9] D. [6, 3, 9, 2, 9, 8] 4.(选考真题・2025年1月浙江信息技术选考 第10题) 数组元素a[0]~a[n-1]已按升序排列,现要将a[pos](0≤pos≤n-1)的值加1,并保持数组的有序性不变,实现该功能的程序段如下,方框中应填入的正确代码为( ) t = a[pos] + 1 i = pos while ①______: a[i] = a[i + 1] i += 1 a[i] = t A. i<n-1 B. i<n-1 and t>a[i+1] C. i<n-1 and a[i]>a[i+1] D. i<=n-1 or t>a[i] 学科网(北京)股份有限公司1 / 17 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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

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