当前位置:手动组卷 /高中信息技术 /按章节
最新上传 最多使用
  • 1. (2024·) 在计算机的操作系统中,经常需要给应用程序“分配内存”和“释放内存”。若有大小为1024B的内存,如1图所示:

    使用列表["+",5]表示申请连续5B的内存,使用列表[2,2]表示回收位置2开始连续2B的内存。若指令集表示为:order=[["+",5],[2,2],["+",8],[8,3]]。随着指令集被执行,1024B连续的内存块会被分割成若干个占用内存空闲内存。为方便起见,“占用内存”用1表示,“空闲内存”用0表示,故执行上述指令集后,内存占用情况如2图所示:

    若将空闲块用链表组织起来,就可以快速查找空闲块和删除空闲块。把连续的空闲块定义为一个节点,每个节点由[空闲块起点, 空闲块长度, 下一个空闲块位置]三部分内容构成。根据2图内存占用情况,创建的空闲块链表如3图所示:

    1. (1) 根据2图所示的内存占用情况,执行指令[4,4]后(连续空闲块要合并),内存中“空闲块”的数量变为个。
    2. (2) 根据内存占用情况列表allot,创建空闲块链表代码如下:

      def linkList(allot): #linkList函数功能:根据内存占用0/1列表allot,创建空闲块链表link

       link = [ [-1,-1,-1] ] #链表包含一个空头节点

       head = tail = 0 ; n = len( allot ) ; i = 0

       while i < n :

       if allot[ i ] == 0 :

       j = i + 1

       while j<n and allot[ j ] == 0: 

       j = j + 1

       link.append( [ i , j – i , -1 ] )

       link[ tail ][ 2 ] =     ▲

       tail = len( link ) - 1

                  

       else:

       i += 1

      return head , link

      请在▲处填入合适的代码

      若将加框处的代码修改为i = j,是否影响程序的执行结果(选填:是/否)。

    3. (3) 模拟上述内存操作的Python程序如下,请在划线处填入合适的代码。

      #通过文件读入内存分配表allot和指令集order,其代码略。

      head , link = linkList ( allot )

      for i in range( len( order ) ):

       if order[ i ][ 0 ] == " + ": #必须分配连续的空闲块,且由第一个满足空间大小的节点分配

       p = head ; q = link[ head ][ 2 ]

       while 

       p = q ; q = link[ q ][ 2 ]

       if  q == -1:

       print( "内存不足!" )

       else:

       if link[q][1] == order[i][1]: 

                      

       else:

       link[ q ][ 0 ] = link[ q ][ 0 ] + order[ i ][ 1 ]

       link[ q ][ 1 ] = link[ q ][ 1 ] - order[ i ][ 1 ]

       else:

       p = head ;  q = link[ head ][ 2 ]

       while q != -1 and link[ q ][ 0 ]<order[ i ][ 0 ]:

       p = q ; q = link[ q ][ 2 ]

       if link[ p ][ 0 ] + link[ p ][ 1 ] == order[ i ][ 0 ]: #前面节点合并

       link[ p ][ 1 ] = link[ p ][ 1 ] + order[ i ][ 1 ]

       else:

       link.append([ order[ i ][ 0 ] , order[ i ][ 1 ] , q]) #添加节点

       link[ p ][ 2 ] = len( link ) - 1

                  p = link[ p ][ 2 ]

         if q != -1 and : #后面节点合并

       link[ p ][ 1 ] = link[ p ][ 1 ] + link[ q ][ 1 ]

       link[ p ][ 2 ] = link[ q ][ 2 ]

  • 1. (2024高一下·苍南期中)  有如下 Python 程序段:

    s = ['12','22','23','31','123','224']

    res =s[0]

    for i in range(1,len(s)):

        if s[i] >= res:

            res =s[i]

    print(res)

    执行上述程序后,输出的结果是(   )

    A . 12 B . 123  C . 31 D . 224
  • 1. (2024高二下·绍兴期中)  某平台新上架影片推荐度的计算方式为:由5位专业评审与5位大众评审给影片评分,评分区间为[1,10],将专业评审均分的60%与大众评审均分的40%求和后取整数部分,根据得分确定等级(分值与等级的关系如图a所示)。评委打分情况放在“dc.txt”文件中,如图b所示,其中“A”表示专业评审,“B”表示大众评审,“A1-5”表示第1位专业评审给出5分。

    图 a

    图 b

    请回答下列问题:

    1. (1) 若专业评审均分为 5,大众评审均分为 6,则该影片等级为(填数字)颗星。
    2. (2) 实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。

      f=open(" ",encoding="utf-8")

      line=f.readline() #读取第一行,保存在字符串 line 中

      pro,pub=0,0

      while line:#当 line 非空

          x=

          t=int(line[3:])

          if x=="A":

              pro+=t

          elif x=="B":

             

              line=f.readline() # 继续读取一行

      score=int(pro/5*0.6+pub/5*0.4)

      grade=

      print("推荐度为:","★"*grade)

  • 1. (2024高二下·嘉兴期中)  下列 Python 表达式或部分语句书写不正确的是(   )
    A . flag = True B . flag= =True C . if flag = True: D . while True:
  • 1. (2024高二下·嘉兴期中)  有如下程序段:

    mw = input('请输入:')

    res=''

    i=0; j=0; n=len(mw)

    while j<n:

        if i%2==0:

            mw+=mw[i]

        else:

            res+=mw[i]

        j+=1

        i+=1

    print(res)

    若输入的内容为python,输出的结果为(   )

    A . pto B . yhn C . ptoynh D . yhntpo
  • 1. (2024高一下·苍南期中)  若people=["he","she","it"],feel={1:"love",2:"like",3:"hate"},则表达式feel[2]+people[2]值是(   )
    A . likeit B . hateit C . likeshe D . hateshe
  • 1. (2024高一下·苍南期中)  自幂数:一个n位数,如果每一位上的n次幂之和等于它本身,那么该数就是自幂数。下列Python代码可以实现输入数字长度n之后,输出所有n位自幂数,并统计个数。程序运行结果如下。

    1. (1) 根据题意,1632(填,是/不是)自幂数。
    2. (2) 实现查找n为自幂数的Python程序如下,请在划线处填入合适的代码。

      n=int(input("请输入要查找的自幂数位数:"))

      count=total=0

      for i in range(1*10**(n-1),1*10**n):

       a=i

       while a>0:

       total+=

       a=a//10

       if i==total:

       count+=1

       print(i)

          

      print(str(n)+"位自幂数一共有"++"个")

  • 1. (2024高一下·苍南期中)  某平台新上架影片推荐度的计算方式为:由 5 位专业评审与 5 位大众评审给影片评分,评分区间为[1,10],将专业评审均分的 60%与大众评审均分的 40%求和并取整,根据得分确定等级(分值与等级的关系如图 a 所示)。评委打分情况如图 b 所示,“A”表示专业评审,“B”表示大众评审,“A1-5”表示第 1 位专业评审给出 5 分。

    图 a

    图 b

    请回答下列问题:

    1. (1) 若专业评审均分为 5,大众评审均分为 6,则该影片等级为(填数字)颗星。
    2. (2) 实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。

      f=open("dc.txt",encoding="utf-8")

      line=f.readline()

      pro,pub=0,0

      # 读取第一行,保存在字符串 line 中

      while line: # 当 line 非空

          x=

          t=int(line[3:])

          if x=="A":

              pro+=t

          

              

              line=f.readline() # 继续读取一行

      score=int(pro/5*0.6+pub/5*0.4)

      grade= 

      print("推荐度为:","★"*grade)

    3. (3) 若“dc.txt”文件中无异常数据,写出与加框处代码功能相同的语句
  • 1. (2024高二下·浙江期中)  有如下 Python程序段:

    import random

    a=[0]*6

    for i in range(6):

     a[i]=random.randint(1,10) #随机生成 1到 10范围内的整数

    for i in range(5):

     if i%2==0 and a[i]>a[i+1]:

     a[i],a[i+1]=a[i+1],a[i]

     else:

     a[i]+=1

    print(a)

    执行该程序段后,a的值可能的是(   )

    A . [11,11,7,9,3,9] B . [6,2,8,10,5,9] C . [6,9,3,7,8,12] D . [3,9,0,8,2,7]
  • 1. (2024高一下·苍南期中)  某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。
    1. (1) “确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。”,该过程属于用算法解决问题中的(   )
    2. (2) 解决此问题的算法流程图如图所示,请为虚线框选择合适的流程图基本图形并为①处选择合适代码(   )

1 2 3 4 5 下一页 共1000页