試卷征集
加入會(huì)員
操作視頻
當(dāng)前位置: 試卷中心 > 試卷詳情

浙教版(2019)選擇性必修1《第三章 字符串、隊(duì)列和棧》2022年單元測(cè)試卷

發(fā)布:2024/4/20 14:35:0

一.選擇題(共27小題)

  • 1.有如下 python 程序段:
    from random import*
    s=''
    for i in range(1,4):
    k=int(random( ?。?3+1)
    c=chr(96+k)
    if i%2==k%2:
    s=s+c
    else:
    s=c+s
    print(s)
    若該段程序執(zhí)行以后,s 的值不可能的是( ?。?/h2>

    組卷:1引用:3難度:0.5
  • 2.有如下python程序段:(注:字母ASCII碼>數(shù)字ASCII碼,小寫字母ASCII碼>大寫字母ASCII碼)
    import random
    s=“olympicGames2021“;ans=““;i=0
    while i<len(s)-2:
    t=int(jye.ai.jye.ai( ?。?2)+1
    x=s[i];y=s[i+t]
    if x>y:
    ans+=x
    else:
    ans+=y
    i=i+t+1
    print(ans)
    執(zhí)行程序后,輸出結(jié)果可能為( ?。?/h2>

    組卷:1引用:2難度:0.4
  • 3.有如下Python程序段:
    s=“ABCDEF“
    ch=““
    for i in range(0,len(s)):
    a=int(input(  ));b=(a+2)%6
    ch=ch+chr(ord(s[b])+32)
    print(ch)
    運(yùn)行程序后,依次輸入3、1、4、5、2、6,輸出ch的值是( ?。?/h2>

    組卷:2引用:3難度:0.6
  • 4.有如下Python程序段:
    s=input(“請(qǐng)輸入一串字符串:”)
    m=cnt=1
    for i in range(1,len(s)):
    if s[i]>s[i-1]:
    cnt+=1
    if cnt>m:
    m=cnt
    else:
    cnt=1
    print(m)
    該程序段的功能是(  )

    組卷:14引用:5難度:0.5
  • 5.有如下Python程序段:
    s=input(“請(qǐng)輸入一串字符串:”)
    f=True
    for i in range(0,len(s)//2):
    if s[i]!=s[len(s)-i-1]:
    f=False
    break
    print(f)
    若執(zhí)行該程序后,輸出的結(jié)果是“True”,那么輸入的值可能是( ?。?/h2>

    組卷:15引用:4難度:0.5
  • 6.一個(gè)棧的入棧序列為1,2,3,4,5,則其出棧序列不可能為( ?。?/h2>

    組卷:15引用:2難度:0.5
  • 7.一個(gè)棧的輸入序列為“12345“,輸出的第一個(gè)元素為“4“,則輸出的第3個(gè)元素不可能的是( ?。?/h2>

    組卷:7引用:3難度:0.6
  • 8.某Python程序如下:
    s=“xyAB#Fk”;k=x=“”;flag=True
    for i in range(len(s)):
    If“a”<=s[i]<=“z”and flag:
    x=chr(((ord(s[i])-95))%26+97)#字符“a”的ASCⅡ碼值為97
    elif“A”<=s[i]<=“Z”and flag:
    x=chr>(((Cord(s[i])-41))%26+65)#字符“A”的 ASCⅡ碼值為65
    flag=False
    else:
    x=s[i];flag=True
    k=k+x
    print(k)
    執(zhí)行該程序后,輸出值為( ?。?/h2>

    組卷:10引用:4難度:0.4
  • 9.創(chuàng)建一個(gè)容量為3的隊(duì)列,元素2,3,5,1,3,5,2依次等待入隊(duì)。入隊(duì)規(guī)則為:
    ①若當(dāng)前待入隊(duì)元素已經(jīng)在隊(duì)列中,則跳過該元素,否則轉(zhuǎn)②
    ②若當(dāng)前隊(duì)列已滿,將隊(duì)首元素出隊(duì)列,否則轉(zhuǎn)③
    ③將當(dāng)前待入隊(duì)元素入隊(duì)列
    操作完成后,隊(duì)列中的元素為( ?。?/h2>

    組卷:13引用:2難度:0.4
  • 10.已知一個(gè)棧的入棧序列是a,c,e,h,r,t,e,其出棧序列可能的是( ?。?/h2>

    組卷:10引用:5難度:0.7

二.簡(jiǎn)答題(共3小題)

  • 29.為四則運(yùn)算式“6+(8-2)*2÷3”轉(zhuǎn)逆波蘭表達(dá)“682-2*3÷+”設(shè)計(jì)算法,編程實(shí)現(xiàn)。
    分析:在數(shù)學(xué)運(yùn)算表達(dá)式中,運(yùn)算符總是置于與之相關(guān)的兩個(gè)運(yùn)算對(duì)象之間,在計(jì)算結(jié)果時(shí),要考慮括號(hào)、運(yùn)算符號(hào)的優(yōu)先性。為了程序?qū)崿F(xiàn)的方便,波蘭邏輯學(xué)家J.Lukasiewicz提出了另一種表示法,將運(yùn)算符置于其運(yùn)算對(duì)象之后,沒有括號(hào),不用考慮運(yùn)算符號(hào)的優(yōu)先性。這種表達(dá)式稱為后綴表達(dá)式,又叫逆波蘭表達(dá)式。
    如表達(dá)式“682-2*3÷+”是四則運(yùn)算式“6+(8-2)*2÷3”的逆波蘭表達(dá)式。為了處理方便,規(guī)定表達(dá)式中的數(shù)均為小于10的正整數(shù),運(yùn)算符為+、-、*、÷。
    (1)抽象建模
    設(shè)計(jì)兩個(gè)棧bds、fh,棧bds用來存放表達(dá)式,棧fh用來暫時(shí)存放運(yùn)算符。從左往右掃描四則運(yùn)算式,遇到數(shù)字時(shí),入棧bds;遇到運(yùn)算符號(hào)時(shí),根據(jù)運(yùn)算符號(hào)的優(yōu)先級(jí)設(shè)計(jì)進(jìn)棧與出棧。
    四則運(yùn)算式“6+(8-2)*2÷3”轉(zhuǎn)換規(guī)則的模擬過程如表所示:
    菁優(yōu)網(wǎng)
    結(jié)合表格的操作過程,用棧bds和棧fh記錄每個(gè)操作后的棧內(nèi)情況(見圖),那么在操作2中棧fh里有內(nèi)容為
     
    (請(qǐng)從棧底到棧頂順序書寫)。
    菁優(yōu)網(wǎng)
    (2)設(shè)計(jì)算法
    基于問題的抽象與建模,解決該問題的主要算法描述如下:
    從左往右遍歷四則運(yùn)算式s(設(shè)中間變量為ch):
    1)當(dāng)ch是數(shù)字,直接入棧bds;
    2)當(dāng)ch是運(yùn)算符:
    a.若ch為左括號(hào)時(shí),直接入棧fh;
    b.若ch為右括號(hào)時(shí),則將棧fh元素彈出,壓入棧bds,直到遇到左括號(hào)(左括號(hào)只
    彈出,不壓入棧bds);
    c.若ch為其它運(yùn)算符時(shí),如果運(yùn)算符ch優(yōu)先級(jí)大于棧fh中棧頂元素的優(yōu)先級(jí)(或棧fh為空),直接入棧fh;否則,將棧fh元素依次彈出,并壓入棧bds,直到運(yùn)算符ch優(yōu)先級(jí)大于棧fh中棧頂元素的優(yōu)先級(jí)(或棧fh為空);
    3)將棧bds中元素依次出棧,即為該四則運(yùn)算s的后綴表達(dá)式。
    (3)編寫程序
    實(shí)現(xiàn)上述功能的Python代碼如下,請(qǐng)?jiān)跈M線處填入合適代碼。
    菁優(yōu)網(wǎng)

    組卷:16引用:2難度:0.3
  • 30.【加試題】要求將某一字符串中指定的字符改寫成小寫或大寫(如果原先是大寫就改成小寫,反之改成大寫),并將處理后的字符重新輸出.
    程序界面如下圖所示,在Text1中輸入原始字符串,在Text2中輸入需要改變的字符,單擊“改變”按鈕后,在Text3中輸出處理后的結(jié)果.
    菁優(yōu)網(wǎng)
    程序代碼如下:
    Private Sub Command1_Click ( ?。?br />Dim s As String,result As String,k As String
    Dim zs As String,n As Integer
    result=“”
    s=Text1.Text
    k=Text2.Text
    For n=1To Len(s)
     

    If zs=k Then
    If Asc(zs)>=65And Asc(zs)<=90Then
    zs=Chr(Asc(zs)+32)
    Else lf Asc(zs)>=97And Asc(zs)<=122Then
    zs=Chr(Asc(zs)-32)
    End If
    End If
     

    Next n
     

    End Sub
    在程序①、②、③橫線處填入適當(dāng)?shù)恼Z句或表達(dá)式,把程序補(bǔ)充完整.
    (1)程序中①橫線處應(yīng)填入
     

    (2)程序中②橫線處應(yīng)填入
     

    (3)程序中③橫線處應(yīng)填入
     

    組卷:26引用:3難度:0.1
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正