相关试卷

  • 1、小张同学编写了一个高考倒计时程序,该程序能够顺利运行,但运行的结果不正确,可能的原因是(   )。
    A、倒计时程序不符合语法规则 B、倒计时程序的算法有逻辑错误 C、倒计时程序设计窗口配置错误 D、倒计时程序的代码不够简洁
  • 2、(   )语言由二进制的0、1指令代码构成,能被计算机直接识别。
    A、汇编语言 B、机器语言 C、高级语言 D、Python语言     
  • 3、下列关于Python语言的描述正确的是(    )。
    A、Python语言是一种面向机器的程序设计语言 B、Python使人们能专注于解决问题而非搞明白语言本身 C、用Python编写的语言可读性强,便于修改和维护,因此它是一种自然语言 D、Python语言比Java、C/C++等程序设计语言好
  • 4、下列表述错误的是(   )。
    A、算法的本质是一种程序设计语言 B、计算机程序是计算机解决问题的一组可执行指令 C、程序设计语言泛指一切用于书写计算机程序的语言 D、代码是一系列计算机语言指令
  • 5、下列数学问题最适合用分支结构解决的是(   )。
    A、已知圆的半径R=5,求圆的面积S B、求连续整数1到100的和 C、求点P(-1,3) 到直线L:3x-2y+1=0的距离 D、解不等式ax+b>0(a≠0)
  • 6、下列关于算法基本结构的表述正确的有(      )。

    ①算法的三种基本结构是顺序结构、选择结构、多重选择结构下

    ②一个算法最多可以包含两种基本结构

    ③选择结构的流程图中,根据条件是否成立有不同的流向

    ④一个算法可以含有三种基本结构的任意组合

    A、0个 B、1个 C、2个 D、3个
  • 7、下列流程图符号中,能表示操作的内容,如“变量的计算与赋值”的是(      )
    A、 B、 C、 D、
  • 8、下列对算法描述方法的表述正确的是(      )
    A、算法只能用自然语言来描述 B、算法只能用流程图来表示 C、描述算法可以有多种方法 D、用流程图描述算法,通常是我们理解算法的第一步
  • 9、为了响应“光盘行动”的号召,学校食堂要开发一款订餐APP,制订了如下工作你认为流程最恰当的一项是(      )
    A、分析问题、设计算法、编写程序、调试与维护 B、设计算法、编写程序、分析问题、调试与维护 C、分析问题、编写程序、调试与维护、设计算法 D、编写程序、调试与维护、分析问题、设计算法
  • 10、大部分社交软件都有好友推荐的功能,当用户A和用户B的共同好友数量超过阀值p时,由系统向用户A推荐用户B。其中共同好友判定方法为:用户A和用户B不是好友,用户C分别是用户A和用户B的好友,则共同好友数量加1。编写Python程序,实现好友推荐功能。运行程序,首先从文件中读取用户id及好友列表后,处理后显示用户之间的关系;再输入推荐目标用户id和阈值p;最后显示向目标用户推荐的好友列表。

    (1)、根据如图所示数据,若输入推荐目标用户id为“1”,输入阈值为“4”,则推荐好友为:
    (2)、主程序,读取“数据.txt”文件,进行处理后显示用户关系二维表,再输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

    n= 10

    sj= ];zj= [];j= 0]

    #按行读取"数据.txt"文件,每次读一行文字存入字符串变量line 中

    f=open("数据txt")

    line=f.readline( )     #读取标题行

    line= =f.readline( )

    while line:

        sj.append(line.split(" "))     #将字符串以""为间隔分割成多个字符串组成的列表

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

    zj = zhengli(sj)

    #显示各用户之间关系二维表,代码略

    #输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表

    id = int(input("请输入推荐目标用户id: "))

    p = int(input("请输入阈值p: "))

       #调用函数进行好友推荐

    if len(j) != 0:

        t=0

        print("推荐好友为:",end = "")

        while t < len(tj):

            print(j[t, end ="")

            t=t+ 1

    else:

        print("没有推荐好友")

    (3)、编写整理数据函数zhengli,根据好友列表,生产关系二维表,请在划线处填入合适的代码。

    def zhengli(sj):

        r= [[0 for i in range(n)]for j in range(n)]

        for i in range(n): .

            for j in sj [i][l:]:

                r[i][nt(j)-1]= 1

               

        return r

    (4)、编写函数fenxi,根据输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

    def fenxi(id,p):

        res =[]

        for i in range(n):

            c=0

            for j in range(n):

                if i!=id-1 and j!= id-1 and i!=j:

                    if

                        c+= 1

            if

                res.append(i+1)

    return res

  • 11、分组冒泡排序。分别对数组a的奇数和偶数位置的元素进行冒泡排序,即采用“跳跃式冒泡”的方法,每次跳跃的步长为2,将数组分成2个子序列,分别对这2个子序列进行排序。例如,对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,排序后的数组a=[1,2,5,3,6,4,8,7]。
    (1)、对数组a=[4,5,2,9,6,7,10,3,8,1]进行分组跳跃式升序冒泡排序,则排序后的数组
    (2)、实现上述功能的Python程序如下,请在划线处填入合适的代码。

    import random

    n=8

    a=[random.randint(1 ,9) for i in range(n)]

    for i in range(0,n,)

        forj in range()

            if a[j]<a[j-2]:

                a[j],a[j-2]=a[j-2],a[j]

    (3)、将分组跳跃式冒泡排序推广到每次跳跃的步长为m的情形,例如对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,当m=3时,排序后的数组a=[4,1 ,26,3,5,6,7]。

    相关代码如下,请在划线处填入合适的代码。

    import random

    m=int(input(“请输入步长m:”))

    n=8

    a=[random.randint(1,9) for i in range(n)]

    print(“排序前”,a)

    for i in range()

        for j in range()

            if a[j]<a[j-m]:

                a[j],a[j-m]=a[j-m],a[j]

  • 12、有n (n>=3)级台阶,从底端向上爬到顶端,每次只能爬2级或者3级台阶,求从底端爬到顶端的方案数。
    (1)、当n=5时,方案数为
    (2)、用迭代法计算爬n级台阶的方案数,python程序如下:

    n=int(input())

    f0,f1,f2=1,0,1

    for i in range(3,n+1):

           ▲   

    f0,f1,f2= f1,f2,f3

    print("爬n级台阶的方案数为",f3)

    则划线处的代码为。该段代码使用了 (填:递归或迭代)算法。

  • 13、有如下Python 程序:

    import random

    s= input()

    k = random.randint( l,len(s)-1)

    i=0

    while k> 0 and i < len(s)-1:

        if s[i]>s[i+1]:

            k-= 1

        s= s[:i]+s[i+1:]

        if i> 0:

            i-= 1

        else:

            i+= 1

    if k> 0:

        s = s[:len(s)-k]

    若输入的s值为“8561324”,则执行该程序,输出s的值不可能为(   )

    A、51324 B、124 C、132 D、1324
  • 14、有如下程序段,则该程序段的时间复杂度为(   )

    a = [0 for i in range(n+1)] for j in range(n+1)]

    a[0][0]=1

    for i in range(1,n+1):

        a[i][0]=1

        for j in range(1,i+1)

            a[i][i] = a[i-1][j-1]+a[i-1][j]

    A、O(log2N) B、O(N) C、O(Nlog2N) D、O(N2)
  • 15、若某算法的总执行次数T(N)=T(N/2)+1 (N为大于2的正整数),另T(1)=1。则该算法的时间复杂度为(   )
    A、O(N) B、O(log2N) C、O(Nlog2N) D、O(N2)
  • 16、有如下程序段:

    def cal(n):

        if n <= 1:

            return 1

        if n % 2 == 0:

            return 2*cal(n-1)

    执行语句k=cal(5),则k的值为(   )

    A、6 B、7 C、10 D、11
  • 17、下列有关迭代算法和递归算法的描述,不正确的是(   )
    A、在使用递归算法时,必须有一个明确的递归结束条件,称为递归出口 B、一般来说,迭代算法效率较低,而递归算法效率较高 C、递归中一定有迭代,但迭代中不一定有递归 D、通常情况下,迭代算法和递归算法可以相互转换
  • 18、数组a已有9个数据,分别存储于 a[0]~a[8],需在第j个位置(1≤j≤9)插入数据k。利用Python 语言编写代码,模拟数据插入过程,可选代码如下:

    ①a[i]=k ②a[i-1]=k ③a[i+1]=a[i] ④a[i]=a[i-1]

    ⑤for i in range(j,9) ⑥for i in range(8,j-2,-1)

    划线处所需代码依次为(   )

    A、⑥③① B、⑤③② C、⑥④① D、⑤③①
  • 19、有如下Python程序段:

    a=[27,5,25,36,78]

    f=[False]*5

    i=0

    while i<4 and not f[i]:

        for j in range(4, i, -1):

            if a[j]<a[j-1]:

                a[j], a[j-1]=a[j-1], a[j]

                f[i]=True

        i+=1

    执行该程序段后,数组f中值为True的元素个数是(   )

    A、1 B、2 C、3 D、4
  • 20、定义如下函数:

    def f(k):

        if k<=3:

            print(k)

            return

        for i in range(1,4):

            f(k-i)

        return

    执行语句f(6),则f(3)被调用的次数为(   )

    A、1次 B、2次 C、3次 D、4次
上一页 38 39 40 41 42 下一页 跳转