组卷网 > 高中信息技术综合库 > 数据与计算 > 算法与程序实现 > 算法 > 典型算法
题型:操作题 难度:0.65 引用次数:42 题号:19442530
为迎接杭州亚运会,小陈用多个共阴极LED数码管实现天数倒计时效果。单个数码管的七个引脚分别标记为a、b、c、d、e、f、g(如图a所示),显示的字符和十六进制字形码如图b所示。如显示字符“3”,需将a、b、c、d、g对应的数码管引脚设置为高电平(用数字“1”表示),其他引脚设置为低电平(用数字“0”表示),效果如图c所示。

a                                                     b                                          c

请回答下列问题。
(1)若显示数字“25”,则十六进制字形码为______
(2)如下的days函数用于计算y年m月d日到元年元旦的总天数,是当年天数与过去所有平年和闰年天数的和。闰年年份是指该年份是4的倍数且不是100的倍数,或者是400的倍数。闰年有366天,平年有365天。请在划线处填入合适的代码。
def days(y,m,d):
       mdays=[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
       ans=y*   365+y//4-y//100+y//400
       ans=ans+mdays[m-1]+d
       if(y%4=0 and y % 100 !=0 or y % 400==0) and m>=3:
       ______
       return ans
(3)如下的single函数用于求单个七段数码管各引脚电平值,请在划线处填入合适的代码。
def single (num):
       code={0:"3F",1:"06",2:"5B",3:"4F",4:"66",5:"6D",6:"7D",7:"07",8:"7F",9:"6F"}
       b=""
       for i in range(1, -1, -1):
       if "0"<= code[num] [i]<="9":
            c=int (code[num] [i])
       else:
            c=______
       for i in range (4):
          b= str(c%2)+b
          c//=2
   return b[1:]
(4)如下的主程序用于实现天数倒计时效果,请在划线处填入合适的代码。
import datetime
import time
while True:
       n= datetime.datetime.now().strftime("%Y%m%d") #获取当前日期的年月日并将其转成8位字符串形式,如"20230507"
       y= int(n[:4]) ; m=int(n[4:6]):d=int(n[6:])
       total=days(2023, 9, 23) - days(y, m, d)
       ans=""
       if total==0:
            break
       while ______
          num=total % 10
          ans=single(num)+ans
          total=total// 10
       print (ans)       #输出各引脚的电平值
       # 和硬件相关的通信部分程序,代码略
       time.sleep(1)
【知识点】 典型算法

相似题推荐

操作题 | 适中 (0.65)
【推荐1】某网站对信息进行加密解密,选择页面“index.html”如图1,加密页面“jia.html”如图2,解密页面“jie.html”如图3。在选择页面点击相应按钮,选择加密或解密。

图1     图2   

图3

选择加密时,在明文文本框中输入明文,点击“加密”按钮,网页显示密文与对应的密钥。加密规则为打乱明文对应的索引作为密钥,再利用该索引逐个取明文字符连接成密文,例如:明文为“信息技术”,若被打乱的索引为[2,0,1,3],则密文为“技信息术”,密钥为“2,0,1,3”
选择解密时,在密文文本框中输入密文,密钥文本框输入密钥,点击“解密”按钮,网页显示明文。
(1)该网络应用属于_________架构。(单选,填字母:A.B/S架构,B.C/S架构)
(2)若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6, 4, 0, 3, 5”,则解密结果是__________
(3)实现该功能的python程序如下,请在划线处填入合适的代码:
from flask import render_template,request,Flask
import random
app=Flask(__name__)   #创建应用实例
@app.route('/')   #选择页面路由
def index():

return render_template('     _____')

#加密功能代码略,以下为解密代码:
@app.route('/jiemi1/',methods=["GET","POST"])
def jiemi1():

wb=request.form["wb"]   #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”

keyo=request.form["key"]   #变量wb存储密文,变量keyo存储密钥

keyn=list(map(int,keyo.split(","))) #将字符串keyo转换为数值列表,示例:[1,4,2,3,0]

result=""

for i in range(len(keyn)):

for j in range(len(keyn)):

if       ______:

break

result+=wb[j]

return render_template("jie.html",WB=wb,KEY=keyo,RESULT=result)

if __name__=="__main__":

      _______

2022-04-20更新 | 64次组卷
操作题 | 适中 (0.65)
【推荐2】有Python程序段,其功能用以实现对输入字符串中的所有数字串求和,例如输入字符串“中国在杭州亚运会中获得金牌201枚,银牌111枚,铜牌71枚”,程序运行的结果如图所示。
输入字符串:中国在杭州亚运会中获得金牌201枚,银牌111枚,铜牌71枚
字符串中所有数字的和是:383
实现代码如下,请回答下列问题。
s=input("请输入字符串:")
c=0;tmp=0
______       #
while i<len(s):

if "0"<=s[i]<="9":

tmp=______             #

else:

c+=tmp

______             #

i+=1

print("字符串中所有数字的和是:",c)
(1)请在划线处①②③填入合适的程序代码,实现程序功能。
(2)若去掉方框中的程序代码,输入字符串“中国在杭州亚运会中获得金牌201,银牌111,铜牌71”,则程序运行结束后变量c的值是______
2023-11-28更新 | 48次组卷
操作题 | 适中 (0.65)
【推荐3】编写“字符插入”程序,实现功能:在文本框 Text1 中输入多个字符,在文本框 Text2 和 Text3 中分别输入插入的字符和插入的位置,单击“插入”按钮Command1,在文本框 Text4 中输出新生成的字符(若插入的位置大于原始字符长度,则将字符插入至末尾)。程序运行界面如下图所示。

(1)窗体中没有用到的控件是____ ( 选填:A. B. C. D.)。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

Dim t As String, i As Integer

Dim wz As Integer       

wz = Val(Text3.Text)       

t = ""       

If wz >       Len(Text1.Text) Then

t =Text1.Text +①________

Else                                 

For       i = 1 To Len(Text1.Text)

       If       ________Then

t = t + Mid(Text1.Text, i, 1)

Else

t = t + Text2.Text + Mid(Text1.Text, i, 1)

End If

Next i

End If

Text4.Text = t

End Sub

(3)如图所示,若在文本框 Text2 中输入字符“aa”,其他输入保持不变,单击“插入”按钮后,在文本框 Text4 中显示为____________
2020-01-07更新 | 27次组卷
共计 平均难度:一般