資源簡(jiǎn)介 作業(yè)練習(xí)課程基本信息學(xué)科 信息技術(shù) 年級(jí) 高二 學(xué)期 秋季課題 3.3.1 解析算法及其程序?qū)崿F(xiàn)教科書 書 名:《數(shù)據(jù)與計(jì)算》教材 出版社:浙江教育出版社學(xué)生信息姓名 學(xué)校 班級(jí) 學(xué)號(hào)作業(yè)練習(xí)1、田徑運(yùn)動(dòng)員技術(shù)等級(jí)國(guó)家標(biāo)準(zhǔn)規(guī)定,男子100米項(xiàng)目電子計(jì)時(shí)成績(jī)等級(jí)如下: 等級(jí)名稱國(guó)際級(jí)運(yùn)動(dòng)健將運(yùn)動(dòng)健將一級(jí)運(yùn)動(dòng)員二級(jí)運(yùn)動(dòng)員成績(jī)(秒)≤10.25<10.50< 10.93< 11.74現(xiàn)要求編寫程序?qū)崿F(xiàn)如下功能:輸入100米的成績(jī)(秒),輸出與該成績(jī)對(duì)應(yīng)的等級(jí)名稱。 用Python語言編寫的程序如下,請(qǐng)回答下列問題。 x = eval(input("請(qǐng)輸人100米的成績(jī):")) if__ ①______: y="國(guó)際級(jí)運(yùn)動(dòng)健將” elif x<10.50: y="運(yùn)動(dòng)健將" elif____②______: y="-級(jí)運(yùn)動(dòng)員" elif x<11.74: y="二級(jí)運(yùn)動(dòng)員" else: y="二級(jí)運(yùn)動(dòng)員以下" print("100米成績(jī):”,x,"等級(jí)名稱為:"y)0時(shí)址 (1)當(dāng)輸人100米的成績(jī)?yōu)?0.25,則程序輸出等級(jí)名稱為 ____________________________________________________ (2)請(qǐng)?jiān)诔绦騽澗€處填人合適的代碼。 劃線①處應(yīng)填人的語句為:_______________________________ 劃線②處應(yīng)填人的語句為:_______________________________ 2、現(xiàn)要求編寫程序?qū)崿F(xiàn)如下功能:輸人正整數(shù)n,輸出一個(gè)有規(guī)律的數(shù)字串,形式為“1 2 3…n-1 n n-1…3 2 1例如n=6時(shí),顯示的數(shù)字串為“1 2 3 4 5 6 5 4 3 2 1”。按此要求編寫的程序如下,但加框處代碼有錯(cuò),請(qǐng)改正。 n=int(input("Please in put n:")) s=”” for i in range(1 , 2 * n + 1): #改錯(cuò)① if i>n: s = s + str( 2 * n – 1 )+"" #改錯(cuò)② else: s = s + str(i) + "" print(s) 3、編寫程序,實(shí)現(xiàn)如下功能:輸入一個(gè)十六進(jìn)制數(shù),輸出該十六進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù),程序運(yùn)行效果如圖 請(qǐng)輸入十六進(jìn)制數(shù):3F 3F H → 63 D 請(qǐng)輸入十六進(jìn)制數(shù):1b 輸入有誤! 實(shí)現(xiàn)上述功能的程序如下,請(qǐng)回答下列問題: s= input(”請(qǐng)輸入十六進(jìn)制數(shù):") b= len(s) flag= True ans= 0 for i in range(O,b): c=s[i] if c>="0" and c<="g": ans = ans* 16+ord(c)-ord("0") elif c>="A" andc<="F": ________①_____________ else: ________②_____________ break if flag: print(s," H→",str(ans),"D") else: print("輸入有誤!") (1)程序運(yùn)行時(shí),輸入"10D",輸出的結(jié)果為__________________。 (2)請(qǐng)?jiān)诔绦騽澗€處填入合適的代碼 (1)劃線①處應(yīng)填入的語句為:___________________________ (2)劃線②處應(yīng)填入的語句為: ___________________________ 參考答案: 1.(1)國(guó)際級(jí)運(yùn)動(dòng)健將 (2) ①x< = 10.25 ②x<10.93 解析(1)根據(jù)成績(jī)與等級(jí)表可知,程序輸出等級(jí)名稱為“國(guó)際級(jí)運(yùn)動(dòng)健將”。(2)根據(jù)語句y="國(guó)際級(jí)運(yùn)動(dòng)健將"可知,條件為x<=10.25;根據(jù)語句y="一級(jí)運(yùn)動(dòng)員"可知條件x<10.93。 2.①range(1,2* n)或range(1,2* n,1) ②s+str(2*n-i) 解析 數(shù)字串“123…n-1 n n-1…321”共有2*n- 1個(gè),并且從1開始,因此range的初值為1,終值為2*n,步長(zhǎng)為1,(1,2* n)數(shù)字字符,①處代碼修改為range(1,2* n)或①range(1,2* n,1);當(dāng)i>n時(shí),輸出的數(shù)字串是逐漸遞減的,因此②處代碼修改為s+str(2* n-i)。 3.(1)10D H - 269 D (2) ①ans=ans*16+ord(c)- ord("A")+10 或ans=ans*16+ord(c)-55 ②flag = False 解析 (1)輸入十六進(jìn)制數(shù)為“10D”,十六進(jìn)數(shù)10D轉(zhuǎn)換為十進(jìn)制數(shù)為269,因此輸出的結(jié)果為:10DH +269D, (2)程序①處表示十六進(jìn)制位置上是字母的情況,則將該字母轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值,可用該字母的ASCII減去字母“A"的ASCI值再加上10,大寫字母A的ASCII值為65,也可直接寫為ord(c)-55,因此①處應(yīng)填入的代碼為ans- ans* 16+ ord(c)- ord("A")+ 10或ans=ans*16+ord(c)-55,如果輸入的不是數(shù)字或不是“A- F"的大寫字母,則輸入有誤,最后根據(jù)flag的值來輸出結(jié)果,因此當(dāng)輸入有誤時(shí),將flag賦值為False,故②處應(yīng)填入的語向?yàn)閒lag=False 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫