试题

试题 试卷

logo

题型:综合题 题类: 难易度:困难

浙江省A9协作体2023-2024学年高二下学期信息技术期中联考试卷

 小明打算结合micro:bit,编写一个口算练习程序,实现随机产生九九乘法口诀中的乘法或两数之和不大于 100的加法。具体功能如下:

①在电脑端输入出题数量n,依次生成 n道题目,每道题随机给出乘法或加法。

②每回答一道题时,若正确,则在 micro:bit端 LED阵列显示“笑脸”,否则显示“哭脸”。

③答完n道题目后,电脑端显示共练习了几道题,其中有几题回答正确。

电脑端程序:

import random

import serial

ser=serial.Serial()

ser.baudrate=115200

ser.port="COM4"

ser.open()

c=0;i=1

n=int(input("请输入题目数量:"))

while i<=n:

 r=random.randint(0,1)

 if r==0:

 a=random.randint(1,9)

 b=random.randint(1,9)

 print(str(a)+"×"+str(b)+"=")

 else:

 a=random.randint(10,99)

 b=random.randint(1099)

 while ①____:

 a=random.randint(10,99)

 b=random.randint(10,99)

 print(str(a)+"+"+str(b)+"=")

 ans=int(input("请输入答案:"))

 if r==0 and a*b==ans or r==1 and a+b==ans:

 ser.write("H".encode())

 c=c+1

 else:

 ser.write("S".encode())

 i=i+1

print("共练习了"+str(n)+"题,其中有"+str(c)+"题回答正确。")

micro:bit端程序:

from microbit import *

while True:

 if uart.any():

 incoming=str(uart.read(),"UTF-8")

 if :

 display.show(Image.HAPPY)

 else:

 display.show(Image.SAD)

(1)、请在划线①处填入合适的代码,完成电脑端程序。
(2)、结合电脑端程序分析,电脑端程序与 micro:bit通过串口号进行通信
(3)、micro:bit端程序中加框处代码与题意不符,请改正。
(4)、为了方便多人通过网页直接进行口算练习,小明计划利用 Flask Web 框架开发网页版。服务器 IP地址为:192.168.10.109,Web服务端口为 8081。网站功能页面规划如下:

序号

访问地址

功能说明

1

/

主页,口算练习主要页面

2

/login

登录页,校对输入的用户名和密码是否正确。如正确则跳转到主页。

3

/history

历史记录页,显示用户自己答题的记录。

4

/wrong

错题页,显示用户自己错误的题目及高频错题。

根据网站页面规划,至少需要设计个视图函数。其中,访问错题页的URL是http://

举一反三
给定区间[a1,a2]和[b1,b2],若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间[1,3]和[2,6]可合并为[1,6];区间[1,6],[2,5]可合并为[1,6];区间[1,4]和[4,5]可合并为[1,5]。

编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间[1,2],[3,5],[4,6],[9,12],[10,11],合并后的区间分别为[1,2],[3,6],[9,12]。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100

Private Sub Cmd1_Click()

    Dim i As Integer, k As Integer, L As Integer, R As Integer

    Dim s As String, c As String, t As String, result As String

    Dim a(1 To n) As Integer

    s=   ①   : t=" ": k=0

    For i=1 To Len(s)

        c=Mid(s, i, 1)

        If c<>"," Then

                 ②      

        Else

            k=k+1

            a(k)=Val(t)

            t=""

        End If

    Next i

    L=a(1): R=a(2)

    i=3

    Do While i<=k

        If a(i)>R Then

            result = result+"("+Str(L)+","+Str(R)+"),"

            L=a(i): R=a(i+1)

       

            R=a(i+1)

        End If

            ③   

    Loop

    result=result+"("+Str(L)+","+Str(R)+"),"

    Text2. Text=result

End Sub

返回首页

试题篮