3.3 简单算法及其程序实现(分层作业)信息技术浙教版2019必修1

2025-11-24
| 2份
| 12页
| 362人阅读
| 1人下载

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版必修1 数据与计算
年级 高一
章节 3.3 简单算法及其程序实现
类型 作业-同步练
知识点 顺序结构的程序实现,分支结构的程序实现,循环结构的程序实现,典型算法
使用场景 同步教学-新授课
学年 2025-2026
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 362 KB
发布时间 2025-11-24
更新时间 2025-10-15
作者 wuhao1987
品牌系列 上好课·上好课
审核时间 2025-10-15
下载链接 https://m.zxxk.com/soft/54373482.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

3.3 简单算法及其程序实现(分层作业) 【基础达标】 1.下列Python语句能实现“若a大于0则b=a,否则b=-1”功能的是(   ) A. if a>0:     b=a else:     b=-1 B. if a>0:     b=a if a<0:     b=-1 C. b=-1 if a>=0     b=a D. if a>0:     b=a elif:     b=-1 A.A B.B C.C D.D 2.已知m、n均为小于26的正整数,下列Python程序段中,能实现和语句n=(n+m)%26同样功能的是(   ) A.if n+m>26:     n=n+m-26 else:     n=n+m B.if n+m<26:     n=n+m else:     n=n+m-26 C.n=n%26+m%26 D.n=n+m if n>26:     n=n-26 A.A B.B C.C D.D 3.有如下Python程序段: if a%b == 0:     c=a/b else:     c=a//b 如果a,b的值分别为16,3,则执行该程序段后,变量c的值为(   ) A.5.33 B.5 C.2 D.13 4.运行下列代码,输出结果是(   ) while 4 == 4:     print(4,end="  ") A.4 B.44 C.4444 D.无限次输出4,直到程序关闭 5.有如下Python程序,程序执行,输入数据k之后输出的结果不正确的是(   ) A.k=8输出:[8,4] B.k=9输出:[8,9,4,9] C.k=10输出:[8,10,9,4,9,10] D.k=13输出:[8,10,9,13,4,9,13] 6.某算法的部分流程图如图所示,输入a的值为26,若用Python语言描述,则下列正确的是() A. B. C. D. 【能力提升】 1.以下程序的输出结果是(   ) a=1 if a>0: a=a+1 else: a=a-1 print(a) A.0 B.1 C.2 D.3 2.在Python中,下列程序运行后得到的是(   ) sum=0    for x in range(2,100,2):        sum=sum+x    print(sum) A.2至100的和 B.2至99奇数的和 C.2至100偶数的和 D.2至98偶数的和 3.商场为促进消费,推出某促销活动:每满100减30,每满200减70,优惠全部可以累计,上不封顶。用Python语言实现优惠金额计算,设s为购买商品的原价,计算优惠金额t,下列选项正确的是(   ) A. t=s//200*70 if s%200>=100:     t+=s//100*30 B. t=s//100*30 if s//200>0:     t=s//200*70 C. t=s//100*30 if s//200>0:     t+=s//200*10 D. if s>=100:     t=t//100*30 else:     t=t//200*70 A.A B.B C.C D.D 4.用Python语言实现“每满100减30,每满200减70,可以累计上不封顶”的优惠金额计算。设s为购买商品的原价,计算优惠金额t。下列选项正确的是(   ) A. t=s//200*70 if s%200>=100:     t=t+30 B. t=s//100*30 if s//200>0:     t+=s//200*70 C. if s>=200:     t=s//200*70 else:     t=s//100*30 D. if s>=100:     t=t//100*30 else:     t=t//200*70 A.A B.B C.C D.D 【链接真题】 (2025高二·浙江·专题练习)1.小王编写了一个实现文字查找删除功能的python程序,用户分别输入原文和需要删除的字符,程序运行结束显示处理结果和删除次数。运行界面如图所示。 输入原文:我们是学生,我们的任务是学习,我们要努力! 删除字符:我们 处理结果为:是学生,的任务是学习,要努力!删除次数为:3 >>> 程序实现代码如下: s1= input("输入原文:") s2= input("删除字符:") n= len(s2) count=0 i=0 result="" while i < len(s1):     s=①     if ② :         count+=1         i=i+n     else:         result+= s1[i]         ③ print("处理结果为:"+ str(result)+"删除次数为:"+ ④ ) 请在画线处填上合适的代码。 (20-21高二·浙江绍兴·期中)2.根据输入的18位身份证,输出身份证中包含的出生日期信息。 sfz = input("请输入您的身份证号码(18位):") if  _____①_______:     print("您的身份证号码长度不对!") else:     year = int(sfz[6:10])     _______②__________     day = int(sfz[12:14])     print("你的出生于",year,"年",month,"月",day,"日。") 请完善程序代码(1)   ;(2) 。 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 3.3 简单算法及其程序实现(分层作业) 【基础达标】 1.下列Python语句能实现“若a大于0则b=a,否则b=-1”功能的是(   ) A. if a>0:     b=a else:     b=-1 B. if a>0:     b=a if a<0:     b=-1 C. b=-1 if a>=0     b=a D. if a>0:     b=a elif:     b=-1 A.A B.B C.C D.D 答案:A 解析:本题考查的是Python选择语句。题目要求 “若 a 大于 0 则 b = a,否则 b = -1”,A 选项用 if-else 结构,if a > 0 时 b = a ,否则 b = -1 ,符合逻辑;B 选项 if a > 0 后执行 b = a ,接着 if a < 0 执行 b = -1 ,但未处理 a = 0 情况,逻辑不全;C 选项先 b = -1 ,再 if a >= 0 执行 b = a ,这与题目 “a 大于 0 时 b = a,否则 b = -1” 逻辑相悖(此逻辑会让 a = 0 时 b = 0 ,不符合题目 要求);D 选项elif 后缺少条件(如 elif a <= 0:)。所以选 A 。 2.已知m、n均为小于26的正整数,下列Python程序段中,能实现和语句n=(n+m)%26同样功能的是(   ) A.if n+m>26:     n=n+m-26 else:     n=n+m B.if n+m<26:     n=n+m else:     n=n+m-26 C.n=n%26+m%26 D.n=n+m if n>26:     n=n-26 A.A B.B C.C D.D 答案:B 解析:本题考查的是Python分支语句。n = (n + m) % 26 的功能是,当 n + m 小于 26 时,结果为 n + m ;当 n + m 大于等于 26 时,结果为 n + m - 26 。 A 选项:当n + m=26时,结果应为 n + m-26,当该选项返回的是n+m,错误。 B 选项:若 n + m < 26 ,n = n + m ;否则 n = n + m - 26 ,与 n = (n + m) % 26 功能一致,正确。 C 选项:n = n % 26 + m % 26 是对 n 和 m 分别取余再相加,与 (n + m) % 26 逻辑不同(例如 n = 25 ,m = 25 ,(25 + 25) % 26 = 24 ,而 25%26 + 25%26 = 50 ),错误。 D 选项:先 n = n + m ,再判断 if n > 26 执行 n = n - 26 ,但未考虑 n + m 刚好是 26 等情况(26 % 26 = 0 ,此代码中 n = 26 时不会执行 n = n - 26 ,结果为 26 ,与 (n + m) % 26 结果 0 不符 ),错误。故选B。 3.有如下Python程序段: if a%b == 0:     c=a/b else:     c=a//b 如果a,b的值分别为16,3,则执行该程序段后,变量c的值为(   ) A.5.33 B.5 C.2 D.13 答案:B 解析:本题考查的是Python选择语句。因为a,b的值分别为16,3,a%b==0条件不成立,执行c=a//b为5。故选B。 4.运行下列代码,输出结果是(   ) while 4 == 4:     print(4,end="  ") A.4 B.44 C.4444 D.无限次输出4,直到程序关闭 答案:D 解析:本题考查while语句的运行。条件表达式“4==4”结果是真,循环条件始终成立,程序将永远执行下去,称为“无限循环”。故选D。 5.有如下Python程序,程序执行,输入数据k之后输出的结果不正确的是(   ) A.k=8输出:[8,4] B.k=9输出:[8,9,4,9] C.k=10输出:[8,10,9,4,9,10] D.k=13输出:[8,10,9,13,4,9,13] 答案:C 解析:本题考查的是Python循环语句。阅读程序可知,保留列表L中不大于输入的数,并输出。k=10时,列表保留的是[8,10,9,4,9],故本题应选C。 6.某算法的部分流程图如图所示,输入a的值为26,若用Python语言描述,则下列正确的是() A. B. C. D. 答案:A 解析:本题考查的是流程图及Python语言。由流程图可知,循环的条件是a!=b,故排除BD,b=b-3这个语句不管a是否大于b都要执行,故排除C。本题应选A。 【能力提升】 1.以下程序的输出结果是(   ) a=1 if a>0: a=a+1 else: a=a-1 print(a) A.0 B.1 C.2 D.3 答案:C 解析:本题考查的是Python选择语句。a=1,满足 a>0,执行a=a+1=2,故程序的输出结果是2,选项C正确。 2.在Python中,下列程序运行后得到的是(   ) sum=0    for x in range(2,100,2):        sum=sum+x    print(sum) A.2至100的和 B.2至99奇数的和 C.2至100偶数的和 D.2至98偶数的和 答案:D 解析:本题考查的是Python循环语句。range(起始值,结束值,步长)注意:结束值不包含;步长可省略,默认为1。range(2,100,2)返回的是2至98偶数。故该程序运行后得到的是2至98偶数的和。选项D正确。 3.商场为促进消费,推出某促销活动:每满100减30,每满200减70,优惠全部可以累计,上不封顶。用Python语言实现优惠金额计算,设s为购买商品的原价,计算优惠金额t,下列选项正确的是(   ) A. t=s//200*70 if s%200>=100:     t+=s//100*30 B. t=s//100*30 if s//200>0:     t=s//200*70 C. t=s//100*30 if s//200>0:     t+=s//200*10 D. if s>=100:     t=t//100*30 else:     t=t//200*70 A.A B.B C.C D.D 答案:A 解析:本题考查的是Python选择语句的应用。由于优惠条件中,一个200元的优惠幅度比两个100元的更大,因此应该优先凑200元的整数,然后再看100元的。故选A。 4.用Python语言实现“每满100减30,每满200减70,可以累计上不封顶”的优惠金额计算。设s为购买商品的原价,计算优惠金额t。下列选项正确的是(   ) A. t=s//200*70 if s%200>=100:     t=t+30 B. t=s//100*30 if s//200>0:     t+=s//200*70 C. if s>=200:     t=s//200*70 else:     t=s//100*30 D. if s>=100:     t=t//100*30 else:     t=t//200*70 A.A B.B C.C D.D 答案:A 解析:本题考查的是选择语句的应用。题目要求实现“每满100减30,每满200减70,可以累计上不封顶”的优惠计算。优惠规则可以理解为:优先按每200元减70元计算,剩余金额再按每100元减30元计算(不满100元部分无优惠)。这种处理方式能最大化优惠金额,且符合“累计”要求。选项B,重复计算优惠,例如,s=200时,先算2*30=60,再加1*70=70,总优惠130元(实际应减70元),结果过大。选项C,未处理剩余金额,例如,s=300时,只减70元(实际应减100元),漏算了剩余100元的优惠。选项D,变量t未初始化,语法错误且逻辑混乱(例如,s=100时,t未赋值,程序会报错)。故选A。 【链接真题】 (2025高二·浙江·专题练习)1.小王编写了一个实现文字查找删除功能的python程序,用户分别输入原文和需要删除的字符,程序运行结束显示处理结果和删除次数。运行界面如图所示。 输入原文:我们是学生,我们的任务是学习,我们要努力! 删除字符:我们 处理结果为:是学生,的任务是学习,要努力!删除次数为:3 >>> 程序实现代码如下: s1= input("输入原文:") s2= input("删除字符:") n= len(s2) count=0 i=0 result="" while i < len(s1):     s=①     if ② :         count+=1         i=i+n     else:         result+= s1[i]         ③ print("处理结果为:"+ str(result)+"删除次数为:"+ ④ ) 请在画线处填上合适的代码。 答案:①s1[i: i+n];② s==s2;③i=i+1;④str(count) 解析:本题考查python程序设计。分析题意,算法思想是从头开始遍历输入的原文,依次取出跟删除字符长度一致的字符,并进行内容比对,若内容一致,将原文中该处的内容删除,删除次数累加1;不断重复上述步骤,直到完成对原文的检索。①处空是从s1中取出跟s2长度相等的字符,故①处空填s1[i: i+n];②处空是判断从s1中取出的字符s与s2中的内容是否相等,故②处空填s==s2;③处空是当取出的字符s与s2中的内容不相等,则原文中下一个的字符内容应从i+1的位置开始取,故③处空填i=i+1;④处空是输出删除次数,“+”实现字符串的连接,利用str()函数将整型数据count转换为字符串,故④处空填str(count)。 (20-21高二·浙江绍兴·期中)2.根据输入的18位身份证,输出身份证中包含的出生日期信息。 sfz = input("请输入您的身份证号码(18位):") if  _____①_______:     print("您的身份证号码长度不对!") else:     year = int(sfz[6:10])     _______②__________     day = int(sfz[12:14])     print("你的出生于",year,"年",month,"月",day,"日。") 请完善程序代码(1)   ;(2) 。 答案:(1)len(sfz)!=18 ;(2)month=int(sfz[10:12]) 解析:本题考查的是python选择语句。len( )是获取字符串长度,由print("您的身份证号码长度不对!")语句可知第一空应为:len(sfz)!=18;月份在身份证的第11、12位,python中字符串的下标是从0开始,故第二空应为:month=int(sfz[10:12])。 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

3.3 简单算法及其程序实现(分层作业)信息技术浙教版2019必修1
1
3.3 简单算法及其程序实现(分层作业)信息技术浙教版2019必修1
2
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。