任赟
2017年春季學(xué)期,北京作為全國四個試點省份之一開始實施新課標(biāo)。2018年1月《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》發(fā)布,前言中提到要“落實立德樹人根本任務(wù),……培養(yǎng)德智體美全面發(fā)展的社會主義建設(shè)者和接班人”。在新課標(biāo)中,教學(xué)內(nèi)容以程序設(shè)計語言Python作為載體,培養(yǎng)學(xué)生信息意識、計算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會責(zé)任四個核心素養(yǎng)。
2020年的新冠肺炎疫情對全世界各行各業(yè)都產(chǎn)生了深遠(yuǎn)的影響。高一學(xué)生作為未來社會主義的建設(shè)者和接班人,為了更好地幫助他們了解新冠肺炎的相關(guān)知識,了解我國采取各種疫情防控措施的必要性,進一步產(chǎn)生國家自豪感、認(rèn)同感,筆者設(shè)計了與新冠肺炎相關(guān)的兩個教學(xué)項目。
這兩個項目立足于立德樹人基本思想,同時也有利于培養(yǎng)學(xué)生的信息技術(shù)課程的四個核心素養(yǎng)。
項目一:新冠肺炎自查程序
1.設(shè)置目的
(1)幫助學(xué)生了解新冠肺炎與普通感冒的區(qū)別。
(2)幫助學(xué)生綜合運用Python中的if條件語句。
2.項目描述
在新冠肺炎疫情期間,普通人如果出現(xiàn)發(fā)熱、咳嗽、流鼻涕等癥狀,但無法確認(rèn)病情,又擔(dān)心去醫(yī)院會出現(xiàn)交叉感染,怎么辦?
請使用Python制作一個小程序,通過詢問用戶問題,幫用戶初步識別患新冠肺炎的概率,并給出相應(yīng)的建議。
3.具體要求
(1)請從網(wǎng)上查詢并整理資料,了解普通感冒和新冠的區(qū)別。
(2)使用Python完成一個小程序,通過詢問用戶問題,幫用戶初步識別患新冠肺炎的概率,并給出相應(yīng)的建議。
4.項目范例
(1)程序功能說明。
詢問用戶以下四個問題:
①是否有呼吸困難或急促?
②是否有干咳并影響睡眠?
③是否持續(xù)發(fā)熱且退燒藥作用不大?
④是否精神差、食欲差?
輸出用戶感染概率
規(guī)則如下:用戶四個回答中,每個“是”回答感染概率增加25%,根據(jù)用戶回答“是”的數(shù)量給出感染概率。如用戶回答0個“是”,感染概率為0%,1個“是”,感染概率為25%,依次類推。
根據(jù)用戶感染概率給出相應(yīng)建議:
①0,您目前很正常,請出門戴口罩,勤洗手,做好個人防護。
②25%~75%,您有一定的感染概率,請做好自我隔離,必要時去醫(yī)院就診。
③100%,您的感染概率非常大,請帶好口罩,立即去醫(yī)院就診!
(2)參考程序(Python語言版)。
p=0#感染概率
ans=input('1.是否有呼吸困難或急促(回答是或否)')
if ans=='是':
p+=25
ans=input('2.是否有干咳并影響睡眠?(回答是或否)')
if ans=='是':
p+=25
ans=input('3.是否持續(xù)發(fā)熱且退燒藥作用不大?(回答是或否)')
if ans=='是':
p+=25
ans=input('4.是否精神差食欲差?(回答是或否)')
if ans=='是':
p+=25
print('您的感染概率為',p,'%')
if p==0:
print('您目前很正常,請出門戴口罩,勤洗手,做好個人防護')
if 25<=p<=75:
print('您有一定的感染概率,請做好自我隔離,必要時去醫(yī)院就診')
if p==100:
print('您的感染概率非常大,請帶好口罩,及時去醫(yī)院就診')
項目二:傳染病數(shù)學(xué)模型下的疫情變化
1.設(shè)置目的
(1)幫助學(xué)生了解在不進行隔離的情況下,傳染人數(shù)的快速增加,從而幫助他們更好地理解國家的隔離措施實施的必要性。
(2)幫助學(xué)生培養(yǎng)使用程序解決現(xiàn)實問題的意識。
(3)幫助學(xué)生對Python程序設(shè)計語言中的順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)進行綜合練習(xí)。
2.項目背景
當(dāng)一種傳染?。ㄈ鏢ARS、新冠肺炎等)正在流行,人們希望建立適當(dāng)?shù)臄?shù)學(xué)模型,利用已經(jīng)掌握的一些數(shù)據(jù)資料對該傳染病進行有效的研究,以期對其傳播蔓延進行必要的控制,減少人民生命財產(chǎn)的損失。常見的傳染病模型按照傳染病類型分為SI、SIR、SIRS、SEIR 模型等。
傳染病模型一般把傳染病流行范圍內(nèi)的人群分成如下幾類。
(1)S類,易感者 (Susceptible),指未得病者,但缺乏免疫能力,與感染者接觸后容易受到感染。
(2)I類,感染者 (Infectious),指染上傳染病的人,可以傳播給S類成員,將其變?yōu)镋類或I 類成員。
(3)R類,康復(fù)者 (Recovered),指被隔離或因病愈而具有免疫力的人。如免疫期有限,R 類成員可以重新變?yōu)?S 類。
(4)E類,暴露者 (Exposed),指接觸過感染者,但暫無能力傳染給其他人的人,對潛伏期長的傳染病適用。
為了簡化問題,本項目使用SIR模型。
有兩個假設(shè):
①地區(qū)總?cè)藬?shù)N不變,沒有人生死遷移,只有健康者S(t),感染者I(t),康復(fù)者R(t)。
備注:S(t)表示第t天的健康者,I(t)表示第t天的感染者,R(t)表示第t天的康復(fù)者。
②疾病傳染率為β,每天治愈率為γ。
SIR模型(不進行隔離)如下:
①S(t)+I(t)+R(t)=N
②?S(t)=β*I(t)*S(t)/N(第t天新傳染的人數(shù),即第t天健康者減少的人數(shù))
③?R(t)=γ*I(t) (第t天康復(fù)者增加的人數(shù))
④?I(t)=β*I(t)*S(t)/N-γ*I(t) =?S(t)- ?R(t) (第t天現(xiàn)存感病者增加的人數(shù))
3.具體任務(wù)
假設(shè)傳染率β取值0.2586,治愈率γ取值0.0821,S0、I0、R0的初值分別是10 000 000、10、5,則N=10000000+10+5,人數(shù)變化趨勢如圖1所示。
請計算:
任務(wù)1
第一天,健康者S、感染者I、康復(fù)者R各有多少人數(shù)。
任務(wù)2
輸入天數(shù),計算該天健康者S、感染者I、康復(fù)者R的人數(shù)。
任務(wù)3
計算拐點出現(xiàn)的天數(shù)(從拐點開始新感染人數(shù)小于康復(fù)人數(shù),即總感染人數(shù)開始減少)。
4.參考程序
結(jié)? 語
以上兩個項目既可以幫助學(xué)生了解疫情的相關(guān)知識,又可以幫助學(xué)生對Python進行綜合練習(xí),受到學(xué)生們的喜歡。我們的學(xué)生是未來社會的建設(shè)者,建設(shè)者的技能不是一蹴而就的,需要教師的持續(xù)引導(dǎo),引導(dǎo)他們關(guān)心社會,思考社會問題的解決方法,這樣在未來他們才能理論聯(lián)系實際,學(xué)以致用,成為合格的建設(shè)者和接班人。
作者單位:北京市第十二中學(xué)