高中信息技术沪科版(2019)必修一 2.了解程序的基本控制结构

2024-08-05
| 12页
| 257人阅读
| 1人下载

内容正文:

高中信息技术沪科版(2019)2.了解程序的基本控制结构 一、选择题 1.某高校开展“迷宫寻宝”活动,按最终得分评判优胜。参赛选手通过手机扫描活动海报上的二维码图片进行注册,填写个人资料后参加比赛。迷宫寻宝规则:30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分。用Python算法控制结构描述“30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分”,设time为完成时间(单位:分钟),n为寻宝个数,score为得分,下列选项正确的是(   ) A. if time<=30 :     if n>=10:         score=3     elif n>=5:         score=2     else:         score=l else:     score=0 B. if time>30:     score=0 if n<5:     score=1 elif n<10:     score=2 else:     score=3 C. score=1 if n>=5:     score+=1 elif n>=10:     score+=1 if time>30:     score=0 D. if time<=30:     score=3 if n<10:     score-=1 elif n<5:     score-=1else:     score=0 A.A B.B C.C D.D 2.顺序结构程序的执行顺序是() A.由外到内 B.自上而下 C.自下而上 D.由内到外 3.程序的三种基本结构为(   ) A.顺序结构、树形结构和选择结构 B.网状结构、顺序结构和选择结构 C.顺序结构、选择结构和循环结构 D.网状结构、循环结构和树形结构 4.有如下 Python程序段: s=''AB18/31C5/D269/E7'' k=3 sum, j,c=0,0,0 flag=False for ch in s:     if "0"<=ch<="9":         c=c*10+int(ch)         j+=1     elif ''A''<=ch<=''Z'':         flag=True     else:         if j==k and flag:             sum+=c         flag=False         j=0;c=0 程序运行后,sum的值是(   ) A.269 B.330 C.584 D.609 5.某算法的部分流程图如下图所示,执行这部分程序后,下列说法不正确的是(    ) A.m的值为9 B.n的值为17 C.循环条件n<=15?共判断4次 D.当第4次判断循环条件n<=15?时,m的值为9 6.有如下 Python程序段: import random s="abcd"*2 k=random. randint(1,3) for i in range(k): s=s[1:]+s[0] s=s[3:3+k]+s[:3]+s[3+k:] 该程序段执行后,变量s的值不可能的是(   ) A.cdababcd B.cdadabbc C.abcdbcda D.bccdadab 7.下面Python程序运行后,变量m,n的值分别是(   )     n,m=7,4     if n>m:         n=m         m=n A.4,4 B.7,7 C.7,4 D.4,7 8.程序的基本结构有顺序结构、选择结构和(  )。 A.模块结构 B.层次结构 C.循环结构 D.逻辑结构 9.有如下 python程序段: n=int(input()) s=0 i=1 while i*i<=n : if n%i==0: s=s+1 else: s=s+2 i=i+1 print(s) 若输入“26”,程序运行后输出的结果是(    ) A.6 B.7 C.8 D.9 10.在Python中,以下代码执行后输出的结果是(   ) x=1 for i in range(5):     x=x*i print(x) A.0 B.15 C.24 D.120 11.有如下程序段: a = 3; b = 4; c = 5 a = a * b a = a % c c = c // b print(a + c) 运行之后,输出结果为(   ) A.2 1 B.3 C.3 1 D.4 12.智慧饮料瓶回收机器的工作流程为:机器通过身份卡或人脸识别对用户进行身份认证,身份识别后用户可投放饮料瓶,机器对当前饮料瓶进行判断,符合回收条件则按塑料瓶和铝制易拉罐进行分类,塑料瓶按容量计算金额,铝制易拉罐按重量计算金额,若不符合回收条件则退回,结束投瓶后机器统计饮料瓶个数和金额,并将回收数据通过网络传送至服务器。用Python语句描述塑料瓶容量500毫升以下(不包含)0.05元/个,500毫升到1200毫升(不包含)0.1元/个,1200毫升及以上0.15元/个。设容量为v(单位为毫升),价格为p(单位为元),则下列选项正确的是(    ) A.p=0.05     if v>=500:         p=0.1     elif v>=1200:         p=0.15 B.p=0.15    if v<500:       p=0.05   elif v<1200:       p=0.1 C.p=0.05   if v>=500:       p=0.1    if v>=1200:        p=0.15 D.p=0.15 if v<1200:      p=0.1   else:      p=0.05 A.A B.B C.C D.D 13.在Python中,运行以下代码后,变量i的值是(   ) i=6 while i>=1:     print(i)     i=i-1 A.1 B.0 C.6 D.5 14.如果a,b中任意一个数的值为3的倍数,那么y的值为变为原先的2倍,能实现该功能的Python语句是(   ) A. if a % 3= 0 and b % 3 = 0:     y = у * 2 B. if a % 3 == 0 or b % 3 == 0:     y = y // 2 C. if a % 3 == 0 or b % 3 == 0:     y = у + у D. if not (a % 3 != 0) and not (b % 3 ! = 0):     y = у ** 2 A.A B.B C.C D.D 15.有如下Python程序段: a=[99,85,74,68,53,42,34,27,20,13] key=int(input("请输入一个整数:"));i,j,k,c=0,9,0,"N" flag=False while i<=j and flag==False:     m=(i+j+1)//2;k=k+1     if key==a[m]:         c="Y";flag=True     if key>a[m]:         j=m-1     else:         i=m+1 print(c,k) 执行该程序段后,下列说法正确的是(   ) A.该程序段既能用于升序序列的查找,也能用于降序序列的查找 B.若输出k的值为2,则c的值一定为Y C.若输入key的值为74,程序执行后变量i和j的值分别为0和4 D.输入两位任意正整数,k的值介于1和3之间 二、填空题 16.已知足球场长度105.16米,宽度68.16米,请使用Python编写一段程序,计算出足球场的面积多少平方米? 下面是部分程序代码,请将程序补充完整并确保程序能正确运行。 a=105.16 b=68.16 print(a,b,s) 17.在计算机编程中, 是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。 18.x=int(input(“请输入第1个数:”)) y=int(input(“请输入第2个数:”)) if x>y: print(x) else: print(y) 程序运行后,键盘输入8和6,其输出结果为 19.某 Python 程序如下: n = int (input ()) sum = a = 3 res = 0 i=1 while i <= n:     res = res  + sum     sum = sum * 10 + a     i = i + 1 print (res) 当输入n值为3时,程序输出结果是 。 三、操作题 20.第19届杭州亚运会已完美落幕,亚运会赛事以“杭州为主,全省共享”的原则分布在杭州、宁波、温州、湖州、绍兴、金华各地。大会共有40个大项,61个分项,最终诞生了481块金牌。小李作为一名体育爱好者想重温大会赛程安排,他从杭州亚运会的官网上采集了相关数据,整理后存储在“杭州第19届亚运会总赛程.x1sx”文件中。如图a所示(0表示有赛事但不产生金牌,其他数字表示当天产生的金牌数)。                                           图a 为了更清楚地了解相关赛事信息,小李编写了Python程序,请回答以下问题。 (1)足球是小李最关注的大项,为了解足球的赛程安排,划线处应填入的代码为 (单选,填字母) A.df.大项=="足球"    B.df["大项"=="足球"]    C.df[df.大项=="足球"]    D.df[df["大项"]==足球] import pandas as pd df=pd.read_excel("杭州第19届亚运会总赛程.xlsx") df2= print(df2) (2)足球项目的比赛分布在杭州等城市的八个场馆,了解各个场馆举办足球赛事的具体场次,找到连续举办足球赛事最多的场馆,如图b所示。程序代码如下,请在划线处填入合适的代码。 黄龙体育中心体育场[9/19,9/21,9/24,9/27,9/28,10/1,10/4,10/6,10/7] 临平体育中心体育场[9/19,9/21,9/22,9/24,9/25,9/28,9/30,10/3] 上城体育中心体育场[9/20,9/22,9/24,9/25,9/27,9/28,10/1,10/3,10/7] 萧山体育中心体育场[9/19,9/20,9/21,9/22,9/24,9/25,9/27,9/28,10/1,10/4] 金华体育中心体育场[9/19,9/21,9/24,9/27] 浙江师范大学东体育场[9/19,9/21,9/24,9/27] 温州奥体中心体育场[9/21,9/22,9/24,9/25,9/27,9/28,9/30] 温州体育中心体育场[9/22,9/24,9/25,9/27,9/28,9/30] 连续举办足球赛事最多的场馆:萧山体育中心体育场                                             图b dic={} max=0;maxsta="" 1st=df2,竞赛场馆.tolist()#将数据转换为列表 for i in lst:     dic[i]=[] for i in df2.index:     c=0     sta=df2["竞赛场馆"][i]     for j in df2.columns[2:-3]:         if df2.at[i,j]==0ordf2.at[i,j]==1:             ①             c=c+1             if c>max:                 max=c;maxsta=sta             else:                 ② for i in dic:     print(i,dic[i]) print("连续举办足球赛事最多的场馆:",③ ) (3)足球在亚运会期间总共产生两枚金牌,统计分析其他大项产生的金牌总数,找出产生金牌总数最多的十个大项,并绘制图形如图c所示。程序代码如下,请在划线处填入合适的代码。                                 图c import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['simhei']#图表中文标签显示为黑体 grp=df.groupby(① ,as_index=False).金牌总数.sum() grp=grp.sort_values("金牌总数",ascending=False).② x=grp.大项 y=grp.金牌总数 plt.figure(figsize=(6,4)) plt.title("金牌总数前十的大项") plt.xlabel("大项") plt.ylabel("金牌总数") plt.bar(x,y) plt.show() 四、简答题 21.解释什么是编程中的循环控制语句,并给出一个常见的例子。 22.请你设计一个程序求解1000以内的所有素数,素数是在大于1的自然数中,除了1和它本身以外不再有其他因数的数,如:2,3,5,7,11……。分析该问题,用自然语言或者流程图描述解决问题的算法。 23.讨论循环结构在处理大量数据时的优势。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 2.B 3.C 4.C 5.C 6.A 7.A 8.C 9.C 10.A 11.B 12.BC 13.B 14.C 15.D 16.s=a*b 17.条件语句(或if-else语句) 18.8 19.369 20. C dic[sta].append(j)或dic[sta]+=[j] c=0 maxsta或str(maxsta) "大项" head(10) 21.循环控制语句是编程中用来控制循环结构的语句,例如在循环中提前退出或跳过某些迭代。一个常见的例子是break语句,它可以用来立即退出循环。 22.试除法求解素数 1、初始化      设置一个空列表 primes 来存储素数。       从 2 开始,逐一检查每个数是否为素数。 2、检查素数 对于每个待检查的数num(从 2 开始,到 1000 结束),假设 num 是一个素数。       使用一个内部循环,从 2 开始到sqrt(num)(num的平方根,取整)进行检查。             如果 num 可以被 2 到 sqrt(num) 中的任何一个数整除,那么 num 不是素数,跳出内部循环。       如果内部循环结束后没有找到任何可以整除 num 的数,那么 num 是一个素数,将其添加到 primes 列表中。 3、结束         当 num 达到 1000 时,检查结束。        此时 primes 列表中包含了所有 1000 以内的素数。 4、输出      打印或返回 primes 列表。 或者其他答案。 23.循环结构在处理大量数据时可以减少代码重复,提高编程效率,并且使代码更加简洁和易于维护。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

高中信息技术沪科版(2019)必修一   2.了解程序的基本控制结构
1
高中信息技术沪科版(2019)必修一   2.了解程序的基本控制结构
2
高中信息技术沪科版(2019)必修一   2.了解程序的基本控制结构
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。