中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2.4.3 算法與程序?qū)崿F(xiàn)的綜合應(yīng)用1 課件(50張ppt)+教案+學(xué)習(xí)任務(wù)單+練習(xí)題

資源下載
  1. 二一教育資源

2.4.3 算法與程序?qū)崿F(xiàn)的綜合應(yīng)用1 課件(50張ppt)+教案+學(xué)習(xí)任務(wù)單+練習(xí)題

資源簡介

自主學(xué)習(xí)任務(wù)單
學(xué)習(xí)指南
課題名稱:算法與程序綜合應(yīng)用1
學(xué)習(xí)目標(biāo):
復(fù)習(xí)與鞏固Python語言的語句內(nèi)涵,強(qiáng)化相關(guān)的編程知識(shí);
體驗(yàn)使用Python語言編程綜合解決問題的完整過程;
理解通過優(yōu)化算法和綜合應(yīng)用算法思想,以提高解決問題效率的意義。
本節(jié)知識(shí)點(diǎn)思維導(dǎo)圖:
學(xué)習(xí)任務(wù)
課前測驗(yàn):
回顧本單元《算法與程序?qū)崿F(xiàn)》前面幾個(gè)課時(shí)學(xué)習(xí)的內(nèi)容,回答以下問題:
計(jì)算機(jī)解決問題的一般過程是怎樣的?請(qǐng)用圖示表現(xiàn)出來。
你知道哪些經(jīng)典的算法?請(qǐng)寫出1-2個(gè)算法的名字,并舉例說明其內(nèi)涵。
任務(wù)一:觀看微課中“用枚舉法求解問題、編寫程序”的內(nèi)容,理解以下案例程序代碼的內(nèi)涵,在Python語言編譯器中輸入相關(guān)代碼,體驗(yàn)運(yùn)行結(jié)果。
y5
=
int(input("排成5列縱隊(duì),余下的人數(shù):"))
y6
=
int(input("排成6列縱隊(duì),余下的人數(shù):"))
y7
=
int(input("排成7列縱隊(duì),余下的人數(shù):"))
y11
=
int(input("排成11列縱隊(duì),余下的人數(shù):"))
A
=
int(input("部隊(duì)總?cè)藬?shù)有幾千人左右?"))
for
X
in
range
(A-1000,
A+1000)
:
if
y5==X%5
and
y6==X%6
and
y7==X%7
and
y11==X%11
:
print("部隊(duì)士兵總數(shù)應(yīng)該是:",
X
,
"人")
任務(wù)二:觀看微課中“用解析法求解同余問題”的內(nèi)容,嘗試畫出解決相關(guān)問題的算法流程圖。
任務(wù)三:觀看微課中“用‘孫子歌訣’解析求解非同余的、物不知數(shù)的問題”的內(nèi)容,在以下案例程序代碼的基礎(chǔ)上進(jìn)行修改,得到新的程序。并將語句輸入編譯器,運(yùn)行,觀察運(yùn)行結(jié)果。
新程序要實(shí)現(xiàn)的功能如下:
(1)可以輸入士兵人數(shù)的范圍(最小值、最大值);
(2)可以輸入士兵排成3、5、7列縱隊(duì)后分別得到的余數(shù);
(3)程序運(yùn)行后,輸出士兵準(zhǔn)確的人數(shù)。
A
=
int(input("士兵約有幾百人?"))
y1
=
int(input("排3列縱隊(duì),所余人數(shù)為:"))
y2
=
int(input("排5列縱隊(duì),所余人數(shù)為:"))
y3
=
int(input("排7列縱隊(duì),所余人數(shù)為:"))
for
n
in
range
((A-100)//105,(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
拓展閱讀資料
《孫子算經(jīng)》及其中關(guān)于“物不知數(shù)”的簡介
《孫子算經(jīng)》作者不可考,約成書于四、五世紀(jì)(中國南北朝時(shí)期)。此書是算經(jīng)十書之一,也是中國古代最重要的數(shù)學(xué)著作之一。
在《孫子算經(jīng)》中,“物不知數(shù)”是其最重要的成就之一。書中提到:“今有物,不知其數(shù)。三三數(shù)之,剩二;五五數(shù)之,剩三;七七數(shù)之,剩二。問:物幾何?答曰:二十三。”書中不僅給出了題目的答案,更重要的是給出了解法。此解法也被西方稱之為:中國余數(shù)定理。
評(píng)述算法的優(yōu)劣性
同一問題可用不同算法解決,而一個(gè)算法的質(zhì)量優(yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進(jìn)算法。一個(gè)算法的評(píng)價(jià)主要從時(shí)間復(fù)雜度和空間復(fù)雜度來考慮。
時(shí)間復(fù)雜度:
一個(gè)算法執(zhí)行所耗費(fèi)的時(shí)間。?
空間復(fù)雜度:
運(yùn)行完一個(gè)程序所需內(nèi)存的大小。
評(píng)測反思
知識(shí)小測:
結(jié)合微課資源,可以與同學(xué)進(jìn)行討論,共同完成以下作業(yè)內(nèi)容:
“雞翁一值錢五,雞母一值錢三,雞雛三值錢一。
百錢買百雞,問雞翁、雞母、雞雛各幾何?”
——《算經(jīng)》(北魏·張丘建)
【譯文】公雞每只五文錢,母雞每只三文錢,小雞每只一文錢。用一百文錢買了100只雞,公雞、母雞、小雞各買了多少只?
要求:編寫程序,解決此問題。
注意:算法執(zhí)行的效率;交互界面的友好。
學(xué)習(xí)評(píng)價(jià):
評(píng)價(jià)指標(biāo)評(píng)價(jià)等級(jí)及分值得分優(yōu)秀
9-10分良好
5-8分一般
3-4分自評(píng)互評(píng)老師評(píng)項(xiàng)目實(shí)踐完成度(50%)項(xiàng)目自主創(chuàng)新與個(gè)性化設(shè)計(jì)(10%)項(xiàng)目學(xué)習(xí)交流合作(20%)成果展示(20%)
學(xué)習(xí)反思:
通過本節(jié)課的學(xué)習(xí),你最大的收獲是什么?
在實(shí)踐操作環(huán)節(jié),遇到了哪些困難?你是如何解決的?
關(guān)于本節(jié)課的學(xué)習(xí)內(nèi)容,列出你最想進(jìn)一步研究的內(nèi)容。課程基本信息
課例編號(hào)
學(xué)科
信息技術(shù)
年級(jí)
高一
學(xué)期
秋季
課題
算法與程序綜合應(yīng)用1
教科書
書名:
信息技術(shù)必修1
《數(shù)據(jù)與計(jì)算》
人民教育出版社;中國地圖出版社
出版日期:2019

6

教學(xué)目標(biāo)
教學(xué)目標(biāo):
復(fù)習(xí)與鞏固Python語言的語句內(nèi)涵,強(qiáng)化相關(guān)的編程知識(shí);
通過編程實(shí)踐,體驗(yàn)用計(jì)算機(jī)解決問題的一般過程,從而理解此過程中各個(gè)環(huán)節(jié)的實(shí)際內(nèi)涵與意義;
通過對(duì)枚舉、解析兩種算法的實(shí)踐,理解通過優(yōu)化算法和綜合應(yīng)用算法思想來提高解決問題效率的意義。
教學(xué)重點(diǎn):體驗(yàn)用計(jì)算機(jī)解決問題的一般過程,從而理解此過程中各個(gè)環(huán)節(jié)的實(shí)際內(nèi)涵與意義。
教學(xué)難點(diǎn):理解綜合應(yīng)用各種算法的思想來提升解決問題有效性的實(shí)際意義。
教學(xué)過程
時(shí)間
教學(xué)環(huán)節(jié)
主要師生活動(dòng)
1’
課前準(zhǔn)備
打開“自主學(xué)習(xí)任務(wù)單”;
打開Python語言編譯器Jupyter
Notebook。
8’
初步體驗(yàn)
初步體驗(yàn)
以“韓信點(diǎn)兵”的習(xí)題為例,引導(dǎo)學(xué)生開始體驗(yàn)計(jì)算機(jī)解決問題的一般過程。
【步驟1】提出問題
韓信是漢初著名軍事家,傳說他統(tǒng)計(jì)士兵數(shù)目有個(gè)獨(dú)特的方法。例如,先令士兵排成5列縱隊(duì),結(jié)果余1人;接著,命令士兵排成6列縱隊(duì),結(jié)果余5人;再命令士兵排成7列縱隊(duì),結(jié)果余4人;最后命令士兵排成11列縱隊(duì),結(jié)果余10人。這樣他便知道士兵的總?cè)藬?shù)了。這種計(jì)數(shù)的方法被后人稱為“韓信點(diǎn)兵”。
試編寫程序計(jì)算士兵的數(shù)目。
引導(dǎo)學(xué)生回顧前面課時(shí)中學(xué)習(xí)過的“計(jì)算機(jī)解決問題的一般過程”的幾個(gè)步驟,帶領(lǐng)學(xué)生對(duì)問題進(jìn)行條理性的分析。
【步驟2】分析問題
將問題轉(zhuǎn)化為數(shù)學(xué)問題,列出不定方程組,需要求解X的數(shù)值。
【步驟3】設(shè)計(jì)算法
結(jié)合計(jì)算機(jī)計(jì)算能力強(qiáng)、運(yùn)算速度快的特點(diǎn),引導(dǎo)學(xué)生嘗試用枚舉法來解決問題,并呈現(xiàn)算法流程圖。
【步驟4】編程調(diào)試
在枚舉法的基本編程思想的引導(dǎo)下,以for循環(huán)結(jié)構(gòu)語句、if條件語句和具體表達(dá)式的寫法為基本內(nèi)容,帶領(lǐng)學(xué)生一步一步完成程序代碼的輸入,并在編譯器中運(yùn)行。
for
X
in
range
(4000,5000):
if
X%5==1
and
X%6==5
and
X%7==4
and
X%11==10:
print(X)
【步驟5】解決問題
運(yùn)行,得出在“4000多人”的情況下,滿足條件的數(shù)值為4421。
問題似乎解決了?又似乎解決得不是那么完善?
13’
深入體驗(yàn)
深入體驗(yàn)
提出程序的改進(jìn)方案,從而引導(dǎo)學(xué)生認(rèn)識(shí)并體驗(yàn)計(jì)算機(jī)解決問題并非純粹是一個(gè)線性的過程,其間可能會(huì)反復(fù)循環(huán)、多次調(diào)整。
【任務(wù)一】理解改進(jìn)后的程序,輸入到編譯器中運(yùn)行,觀察運(yùn)行的結(jié)果。
y5=int(input("排成5列縱隊(duì),余下的人數(shù):"))
y6=int(input("排成6列縱隊(duì),余下的人數(shù):"))
y7=int(input("排成7列縱隊(duì),余下的人數(shù):"))
y11=int(input("排成11列縱隊(duì),余下的人數(shù):"))
A=int(input("部隊(duì)總?cè)藬?shù)有幾千人左右?"))
for
X
in
range
(A-1000,
A+1000):
if
y5==X%5
and
y6==X%6
and
y7==X%7
and
y11==X%11:
print("部隊(duì)士兵總數(shù)應(yīng)該是:",
X
,
"人")
通過小視頻播放,了解更貼近歷史真實(shí)情況的“韓信點(diǎn)兵”,并引導(dǎo)學(xué)生對(duì)新問題進(jìn)行分析,并嘗試使用解析算法來編寫程序、解決問題。
采用解析算法的原因在于:算法也有優(yōu)劣之分,要盡可能地提升算法解決問題的效率。
新的“韓信點(diǎn)兵”問題又可以分為“同余”與“非同余”兩大類問題,各自都有不同的解析式可以幫助求解問題的答案。
【任務(wù)二】對(duì)于用解析算法解決“同余問題”的情況,畫出相應(yīng)的算法流程圖。
根據(jù)解析式和新的解析算法,再引導(dǎo)學(xué)生編寫出新的程序代碼,并運(yùn)行,以觀察運(yùn)行的結(jié)果。
A
=
int(input("士兵約有幾百來人?"))
y
=
int(input("排好3列、5列、7列縱隊(duì)后,所余人數(shù)為:"))
n
=
(A+100)
//
105
X
=
105
n
+
y
print("這群士兵有:",
X
,
"人。")
然后,帶領(lǐng)學(xué)生了解史書中對(duì)于“非同余問題”的求解歌訣,得出新的解析式。并根據(jù)此解析式,編寫新的程序,運(yùn)行后觀察結(jié)果,發(fā)現(xiàn)問題。
A
=
int(input("士兵約有幾百人?"))
y1
=
int(input("排3列縱隊(duì),所余人數(shù)為:"))
y2
=
int(input("排5列縱隊(duì),所余人數(shù)為:"))
y3
=
int(input("排7列縱隊(duì),所余人數(shù)為:"))
for
n
in
range
((A-100)//105,(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
此時(shí),引導(dǎo)學(xué)生發(fā)現(xiàn):此程序的運(yùn)行過程,不是單純的解析算法思想的應(yīng)用,其中也用到枚舉法。而且是利用解析式縮小了枚舉的范圍,自然也是提升了運(yùn)行的效率。
從而,提醒學(xué)生注意:要辯證地看待算法與編程之間的關(guān)系,要學(xué)會(huì)綜合地應(yīng)用算法思想來解決問題。
最后,再次引導(dǎo)學(xué)生發(fā)現(xiàn)程序中的漏洞,并在進(jìn)行簡單的、提示性的分析后,布置第三個(gè)任務(wù)。
【任務(wù)三】在已有的程序上做出修改,以完善程序,使得輸出準(zhǔn)確的結(jié)果。
2’
課堂小結(jié)
1’
布置課后
練習(xí)
“雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?”
——《算經(jīng)》(北魏·張丘建)
編寫程序,解決此問題。(共50張PPT)
算法與程序綜合應(yīng)用1(第十九課時(shí))
課前準(zhǔn)備2-1
調(diào)出“自主學(xué)習(xí)任務(wù)單”,
以配合本節(jié)課的學(xué)習(xí)內(nèi)容,完成相關(guān)的學(xué)習(xí)任務(wù)。
打開Anaconda管理器中Jupyter
Notebook,
并新建一個(gè)Python3腳本;
課前準(zhǔn)備2-2
“物不知數(shù)”
韓信是漢初著名軍事家,傳說他統(tǒng)計(jì)士兵數(shù)目有個(gè)獨(dú)特的方法。
例如,先令士兵排成5列縱隊(duì),結(jié)果余1人;接著,命令士兵排成6列縱隊(duì),結(jié)果余5人;再命令士兵排成7列縱隊(duì),結(jié)果余4人;最后命令士兵排成11列縱隊(duì),結(jié)果余10人。這樣他便知道士兵的總?cè)藬?shù)了。這種計(jì)數(shù)的方法被后人稱為“韓信點(diǎn)兵”。
試編寫程序計(jì)算士兵的數(shù)目。
提出問題—
“物不知數(shù)”
提出問題—
求不出來。
修改題目?
士兵的總數(shù)是多少?




解決問題
計(jì)算機(jī)解決問題的一般過程
計(jì)算機(jī)解決問題的一般過程








設(shè)計(jì)
方案
編程調(diào)試
解決問題
計(jì)算機(jī)解決問題的一般過程








設(shè)計(jì)
算法
編程調(diào)試
解決問題
物不知數(shù)。
提出問題
物不知數(shù)。
提出問題
假設(shè)士兵總?cè)藬?shù)為X
分析問題
分析問題
設(shè)計(jì)算法
計(jì)算機(jī)的特點(diǎn)之一:計(jì)算能力強(qiáng)、運(yùn)算速度快
算法一:枚舉法
提出問題
設(shè)計(jì)算法
算法一:枚舉法
X
÷
5
=
a

1
X
÷
6
=
b

5
X
÷
7
=
c

4
X
÷11
=
d

10
設(shè)計(jì)算法
算法一:枚舉法
輸出X
X:相應(yīng)范圍內(nèi)依次取值


同時(shí)滿足:
X%5==1
,X%6==5,
X%7==4,X%11==10
設(shè)計(jì)算法
分析問題
編程調(diào)試
提出問題
for
X
in
range
(4000,5000):
語句1:循環(huán)結(jié)構(gòu)
士兵人數(shù)的大致范圍?
編程調(diào)試
四千多人
X%5==1
語句2-1:表達(dá)式
編程調(diào)試
X%5==1
and
X%6==5
and
X%7==4
and
X%11==10
語句2-2:條件限定
print(X)
if
:
編程調(diào)試
for
X
in
range
(4000,5000):
X%5==1
and
X%6==5
and
X%7==4
and
X%11==10
print(X)
if
:
編程調(diào)試
運(yùn)行程序
編程調(diào)試
4421
編程調(diào)試
分析問題
解決問題
設(shè)計(jì)算法
提出問題
程序的改進(jìn)
數(shù)據(jù)輸入可否更靈活?
程序界面可否更友好?
計(jì)算機(jī)解決問題的一般過程








設(shè)計(jì)
算法
編程調(diào)試
解決問題
程序的改進(jìn)
y5=int(input("排成5列縱隊(duì),余下的人數(shù):"))
y6=int(input("排成6列縱隊(duì),余下的人數(shù):"))
y7=int(input("排成7列縱隊(duì),余下的人數(shù):"))
y11=int(input("排成11列縱隊(duì),余下的人數(shù):"))
A=int(input("部隊(duì)總?cè)藬?shù)有幾千人左右?"))
for
X
in
range
(A-1000,
A+1000):
if
y5==X%5
and
y6==X%6
and
y7==X%7
and
y11==X%11:
print("部隊(duì)士兵總數(shù)應(yīng)該是:",
X
,
"人")
任務(wù)一(“學(xué)習(xí)任務(wù)單”)
歷史上的“韓信點(diǎn)兵”
計(jì)算機(jī)解決問題的一般過程








設(shè)計(jì)
算法
編程調(diào)試
解決問題
分析問題
X
÷
3
=
a

1
X
÷
5
=
b

1
X
÷
7
=
c

1
士兵人數(shù)(X)的大致范圍:600余人
設(shè)計(jì)算法
算法一:枚舉法
簡便
設(shè)計(jì)算法
算法二:解析法
提升算法的效率
設(shè)計(jì)算法
X
÷
3
=
a

1
X
÷
5
=
b

1
X
÷
7
=
c

1
算法二:解析法
X
-
1
=
3
a
X
-
1
=
5
b
X

1
=
7
c
同余問題
X-1同時(shí)滿足被3、5、7整除。
設(shè)計(jì)算法
算法二:解析法
X=105
n+1
同余問題
Xmin=3×5×7+1
=105+1
=106
n=(600+100)//105
任務(wù)二(“學(xué)習(xí)任務(wù)單”)
解析式:X
=
105
n
+
余數(shù)
嘗試畫出流程圖
A
=
int(input("士兵約有幾百來人?"))
y
=
int(input("排好3列、5列、7列縱隊(duì)后,所余人數(shù)為:"))
n
=
(A+100)
//
105
X
=
105
n
+
y
print("這群士兵有:",
X
,
"人。")
編程調(diào)試
同余問題
編程調(diào)試
解決問題
新問題
如果不同余?
X
÷
3
=
a

y1
X
÷
5
=
b

y2
X
÷
7
=
c

y3
設(shè)計(jì)算法
算法二:解析法
“物不知數(shù)”(《孫子算經(jīng)》)
“孫子歌訣”(明·程大位)
設(shè)計(jì)算法
算法二:解析法
孫子歌訣
除百零五便得知。
三人同行七十稀,
五樹梅花廿一支,
七子團(tuán)圓正半月,
X
+
y1
=
3
a
X
+
y2
=
5
b
X
+
y3
=
7
c
設(shè)計(jì)算法
算法二:解析法
除百零五便得知。
三人同行七十稀,
五樹梅花廿一支,
七子團(tuán)圓正半月,
y1×70
y2×21
y3×15
y1×70+y2×21+y3×15-105n
70=2×(5×7)
21=3×7
15=3×5
A
=
int(input("士兵約有幾百人?"))
y1
=
int(input("排3列縱隊(duì),所余人數(shù)為:"))
y2
=
int(input("排5列縱隊(duì),所余人數(shù)為:"))
y3
=
int(input("排7列縱隊(duì),所余人數(shù)為:"))
for
n
in
range
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
編程調(diào)試
編程調(diào)試
A
=
int(input("士兵約有幾百人?"))
……
for
n
in
range
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
解析算法
A
=
int(input("士兵約有幾百人?"))
……
for
n
in
range
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
解析算法
枚舉算法
A
=
int(input("士兵約有幾百人?"))
……
for
n
in
range
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
枚舉算法
解析算法
多種算法思想
綜合應(yīng)用
完善程序
A
=
int(input("士兵約有幾百人?"))
y1
=
int(input("排3列縱隊(duì),所余人數(shù)為:"))
……
for
n
in
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100
:
print("這群士兵有:",
X
,"人。")
編程調(diào)試
任務(wù)三(“學(xué)習(xí)任務(wù)單”)
修改此程序,
使之運(yùn)行的結(jié)果準(zhǔn)確!
A
=
int(input("士兵約有幾百人?"))
……
for
n
in
((A-100)//105,
(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100
:
print("這群士兵有:",
X
,
"人。")
任務(wù)三(“學(xué)習(xí)任務(wù)單”)
提示:X
=
y1
70
+
y2
21
+
y3
15
-
105
n
X
=
y1
70
+
y2
21
+
y3
15
+
105
n
新程序要實(shí)現(xiàn)的功能如下:
(1)輸入士兵人數(shù)的大約數(shù)量(整百值);
(2)輸入士兵排成3、5、7列縱隊(duì)后分別得到的余數(shù);
(3)程序運(yùn)行后,輸出士兵準(zhǔn)確的人數(shù)。
課堂小結(jié)
韓信點(diǎn)兵
體驗(yàn)計(jì)算機(jī)解決問題的過程








設(shè)計(jì)
算法
編程調(diào)試
解決問題
綜合應(yīng)用1
——數(shù)值計(jì)算
課堂小結(jié)
實(shí)踐算法
枚舉法
解析法








設(shè)計(jì)
算法
編程調(diào)試
解決問題
綜合應(yīng)用1
——數(shù)值計(jì)算
韓信點(diǎn)兵
體驗(yàn)計(jì)算機(jī)解決問題的過程
課后練習(xí)
“雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?”
——《算經(jīng)》(北魏·張丘建)
【譯文】公雞每只五文錢,母雞每只三文錢,小雞每只一文錢。用一百文錢買了100只雞,公雞、母雞、小雞各買了多少只?
要求:編寫程序,解決此問題。
注意:算法執(zhí)行的效率;交互界面的友好。課程基本信息
課題
算法與程序綜合應(yīng)用1
教科書
書名:信息技術(shù)必修一:數(shù)據(jù)與計(jì)算
出版社:人民教育出版社/中國地圖出版社
出版日期:2019

6

學(xué)生信息
姓名
學(xué)校
班級(jí)
學(xué)號(hào)
課堂任務(wù)
任務(wù)一:觀看微課中“用枚舉法求解問題、編寫程序”的內(nèi)容,理解以下案例程序代碼的內(nèi)涵,在Python語言編譯器中輸入相關(guān)代碼,體驗(yàn)運(yùn)行結(jié)果。
y5
=
int(input("排成5列縱隊(duì),余下的人數(shù):"))
y6
=
int(input("排成6列縱隊(duì),余下的人數(shù):"))
y7
=
int(input("排成7列縱隊(duì),余下的人數(shù):"))
y11
=
int(input("排成11列縱隊(duì),余下的人數(shù):"))
A
=
int(input("部隊(duì)總?cè)藬?shù)有幾千人左右?"))
for
X
in
range
(A-1000,
A+1000)
:
if
y5==X%5
and
y6==X%6
and
y7==X%7
and
y11==X%11
:
print("部隊(duì)士兵總數(shù)應(yīng)該是:",
X
,
"人")
任務(wù)二:觀看微課中“用解析法求解同余問題”的內(nèi)容,嘗試畫出解決相關(guān)問題的算法流程圖。
任務(wù)三:觀看微課中“用‘孫子歌訣’解析求解非同余的、物不知數(shù)的問題”的內(nèi)容,在以下案例程序代碼的基礎(chǔ)上進(jìn)行修改,得到新的程序。并將語句輸入編譯器,運(yùn)行,觀察運(yùn)行結(jié)果。
新程序要實(shí)現(xiàn)的功能如下:
(1)可以輸入士兵人數(shù)的范圍(最小值、最大值);
(2)可以輸入士兵排成3、5、7列縱隊(duì)后分別得到的余數(shù);
(3)程序運(yùn)行后,輸出士兵準(zhǔn)確的人數(shù)。
A
=
int(input("士兵約有幾百人?"))
y1
=
int(input("排3列縱隊(duì),所余人數(shù)為:"))
y2
=
int(input("排5列縱隊(duì),所余人數(shù)為:"))
y3
=
int(input("排7列縱隊(duì),所余人數(shù)為:"))
for
n
in
range
((A-100)//105,(A+100)//105):
X
=
y1
70
+
y2
21
+
y3
15
-
105
n
if
X
>
A-100
and
X
<
A+100:
print("這群士兵有:",X,"人。")
課后練習(xí)
結(jié)合微課資源,可以與同學(xué)進(jìn)行討論,共同完成以下作業(yè)內(nèi)容:
“雞翁一值錢五,雞母一值錢三,雞雛三值錢一。
百錢買百雞,問雞翁、雞母、雞雛各幾何?”
——《算經(jīng)》(北魏·張丘建)
【譯文】公雞每只五文錢,母雞每只三文錢,小雞每只一文錢。用一百文錢買了100只雞,公雞、母雞、小雞各買了多少只?
要求:編寫程序,解決此問題。
注意:算法執(zhí)行的效率;交互界面的友好。

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 荆门市| 开封县| 陇西县| 房产| 盐源县| 庐江县| 马龙县| 鄯善县| 阿鲁科尔沁旗| 南充市| 寻乌县| 石嘴山市| 瑞金市| 平利县| 东阳市| 瓮安县| 五台县| 尉氏县| 汝州市| 石棉县| 修水县| 凌云县| 紫阳县| 毕节市| 永宁县| 苏尼特左旗| 平邑县| 济源市| 蒲江县| 中方县| 茌平县| 乌拉特前旗| 武清区| 惠水县| 延津县| 天峻县| 沁水县| 大安市| 旌德县| 商河县| 潼南县|