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

第6-7-8-9-10課 用算法高效尋找問題答案 課件(共81張PPT)

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

第6-7-8-9-10課 用算法高效尋找問題答案 課件(共81張PPT)

資源簡介

(共81張PPT)
Python算法探究
——初中信息技術第二冊第2單元
COMPUTATIONAL THINKING
01
第一節(jié) 生活中的算法
算法就是用一步接一步的方式來詳細描述計算機如何將輸入轉化為所要求的輸出的過程,或者說,算法是對計算機上執(zhí)行的計算過程的具體描述。
01
第一節(jié) 生活中的算法
假設你計劃要進行一次自駕游,從淄博到北京天安門,應該選擇那一條路線呢?
01
第一節(jié) 生活中的算法
02
枚舉算法(也稱為窮舉法)是我們在日常中使用到的最多的一個算法,它的核心思想就是:把所有可能的答案全部列出來,從中找最優(yōu)答案。方法簡單,但很實用。
第二節(jié) 枚舉算法(也稱為 窮舉法)
02
第二節(jié) 枚舉算法
02
第二節(jié) 枚舉算法
02
第二節(jié) 枚舉算法
02
第二節(jié) 枚舉算法
02
第二節(jié) 枚舉算法
n=100
for i in range(1,n+1):
if “7” in str(i): # 找出所有的明"7",即含7的數(shù)
print("找到明7數(shù)字:",i)
P54
02
第二節(jié) 枚舉算法
n=100
for i in range(1,n+1):
if not "7" in str(i) and i%7==0:
print(“找到的數(shù)字為:”,i)
暗7實現(xiàn)代碼
# 找出所有的暗“7”,即不含7的倍數(shù)
02
n=100
for i in range(1,n+1):
if “7” in str(i) or i%7==0:
print(“找到的拍手數(shù)字為:”,i)
第二節(jié) 枚舉算法——實現(xiàn)“明7”和“暗7”的代碼
02
第二節(jié) 枚舉算法-百錢買百雞
古人的智慧:百錢買百雞
公雞5文錢一只,母雞3文錢一只,小雞3只一文錢,用100文錢買100只雞,其中公雞,母雞,小雞都必須要有,
問公雞,母雞,小雞要買多少只剛好湊足100文錢?
33只
20只
02
第二節(jié) 枚舉算法-百錢買百雞
【解析】
本題使用三重循環(huán)實現(xiàn)題目要求,每一次對應的變量可以從程序里看出:
第1層循環(huán)控制公雞數(shù)量,用x表示
第2層循環(huán)控制母雞數(shù)量,用y表示
第3層循環(huán)控制小雞數(shù)量,用z表示
每一層循環(huán)中的范圍已經根據(jù)他們的價錢進行了處理,
比如每只公雞5文錢最多能買20只,所以它的范圍為(1,21)
條件判斷中:
計算百錢的表達式為:5*x + 3*y + z//3 ==100
計算百只雞的表達式為: x+y+z==100
兩個表達式必須同時成立,所以需要使用and來連接
最后要注意輸入格式的控制
02
第二節(jié) 枚舉算法-百錢買百雞
#變量x,y,z分別是公雞、母雞和小雞的數(shù)量.
② and
③ 5*x + 3*y + z//3 ==100
for x in range(1,21):
for __①__ in range(1,34):
for z in range(3,101,3):
if x+y+z==100 __②__ __③__:
print("公雞:",x,"母雞:",y,"小雞:", __④__)
① y
④ z
02
第二節(jié) 枚舉算法
1000
"1" in str(x)
x%10==8
02
第二節(jié) 枚舉算法-尋找水仙花數(shù)
02
第二節(jié) 枚舉算法-尋找水仙花數(shù)
運算符 描述
% 取余函數(shù) - 返回除法的余數(shù)
** 乘方
// 取整函數(shù) – 返回除數(shù)的整數(shù)
02
第二節(jié) 枚舉算法
運算符 邏輯表達式 描述
and x and y 布爾“與” – 表示x與y必須同時成立,程序才能正常往下運行。
or x or y 布爾“或” –表示只要x與y其中一個條件成立,程序就可以往下運行。
not not x 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。
in 如果在指定的序列中找到值返回 True,否則返回 False
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。
02
第二節(jié) 枚舉算法
第一節(jié) 生活中的算法
01
(預習P49—50 )
01
第一節(jié) 生活中的算法
03
第三節(jié) 迭代算法—用迭代法探究數(shù)據(jù)變化的規(guī)律
03
第三節(jié) 迭代算法
預習P60—61
3分鐘
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法
03
第三節(jié) 迭代算法—Python中數(shù)學函數(shù)的使用
棋盤上的麥粒
如何用python編程計算麥粒數(shù)呢?——前期知識預備
什么是模塊?
邏輯上來說模塊就是一組功能的組合;實質上一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的擴展名。
03
第三節(jié) 迭代算法—什么是模塊?
03
第三節(jié) 迭代算法——模塊的導入方法
03
第三節(jié) 迭代算法——模塊的導入方法
From math import *
導入數(shù)學函數(shù)模塊,之后可以直接使用里面的一些數(shù)學函數(shù)。
03
第三節(jié) 迭代算法——模塊的導入方法
pow
/pa /
乘方函數(shù)
實例:
Pow(2,3)
23
電子表格也寫做:2^3
即:

2**3
Pow(2,n)
2n
即:
03
第三節(jié) 迭代算法
閱讀 P65—66頁,結合運行《3.迭代法文件接收柜》內程序“迭代1.任意麥粒數(shù).py”,理解程序代碼。
運行程序時,開始輸入較小點的數(shù)值。
3-5分鐘
03
第三節(jié) 迭代算法
#print("總數(shù)簡便計算的方法:",int(pow(2,k))-1)
03
第三節(jié) 迭代算法
a2/1000
<1000
a3
1.閱讀 P66—67頁試著理解程序代碼,并填空。(不要寫在書上)
2.打開《3.迭代法文件接收柜》內程序“迭代2.任意麥粒數(shù)質量.py”,填空,并運行代碼。
03
第三節(jié) 迭代算法——總結
04
第四節(jié) 排序算法
04
第四節(jié) 排序算法
04
第四節(jié) 排序算法
split
/spl t/
分解
Split( )函數(shù),可以根據(jù)指定的分隔符把一個字符串拆分成一個列表。
04
第四節(jié) 排序算法
04
第四節(jié) 排序算法
split
/spl t/
分解
Split( )函數(shù),可以根據(jù)指定的分隔符把一個字符串拆分成一個列表。
04
第四節(jié) 排序算法
list /l st/
列表
列表 是Python中非常重要的數(shù)據(jù)類型,可以隨時添加和刪除其中的元素。
如:b=[12,8,9,18,20]
d=b[0]
設置最大數(shù)變量d的初始值為列表b中的第1個元素。
則d=( )
12
04
第四節(jié) 排序算法
04
第四節(jié) 排序算法
i04
第四節(jié) 排序算法
sum
/s m/
合計、總計
Sum( )函數(shù) 用于進行列表數(shù)據(jù)求和。
如Sum([2,3,4],5 )的計算結果為:
14
04
第四節(jié) 排序算法
Iterable
可迭代對象
/ t e bl /
(可以是元組、列表或字典等。)
04
第四節(jié) 排序算法
length
/le kθ/
長度
Len( )函數(shù)返回對象(字符串、列表、元組等)長度或項目個數(shù)。
如Len([1,2,5])的值為 。
3
5
Len([11,12,5,8,9])的值為
04
第四節(jié) 排序算法——計算選手平均分
P71《1.去掉最高最低求平均值.py》
04
第四節(jié) 排序算法——冒泡排序法
什么是冒泡排序法?冒泡排序法是一種簡單直觀的排序算法,它重復地走訪過要排序的數(shù)列。一次比較兩個元素,如果他們的順序錯誤,就把它們交換過來。
走訪數(shù)列的工作是重復的進行,直到沒有再需要交換的數(shù),也就是說該數(shù)列已經排序完成。
這個算法名字的由來,是因為越小的元素會經由交換,慢慢像泡泡一樣“浮”到數(shù)列的頂端。
按照得分高者名次靠前的原則,需要將10位選手的最終得分按照從高分到低分進行排序,計算機如何完成對選手成績的排序呢?
在程序設計中,冒泡排序是比較常見的一種排序算法,下面我們一起探究該算法的實現(xiàn)過程。
04
第四節(jié) 排序算法1——冒泡排序法
排序數(shù)字:7,9,5,6,4
比較次數(shù) 第1輪: 第2輪: 第3輪: 第4輪:
第1次
第2次
第3次
第4次
個數(shù):5
7,9,5,6,4
7,9,5,6,4
7,5,9,6,4
7,5,6,9,4
7,5,6,4,9
7,5,6,4,9
5,7,6,4,9
5,6,7,4,9
5,6,4,7,9
5,6,4,7,9
5,4,6,7,9
5,6,4,7,9
5,4,6,7,9
4,5,6,7,9
游戲:學生手拿代表身高大小不一的數(shù),按照由矮到高來排序。
04
第四節(jié) 排序算法1——冒泡排序法
排序數(shù)字:7,9,5,6,4
比較次數(shù) 第1輪: 第2輪: 第3輪: 第4輪:
第1次
第2次
第3次
第4次
個數(shù):5
7,9,5,6,4
7,9,5,6,4
7,5,9,6,4
7,5,6,9,4
7,5,6,4,9
7,5,6,4,9
5,7,6,4,9
5,6,7,4,9
5,6,4,7,9
5,6,4,7,9
5,4,6,7,9
5,6,4,7,9
5,4,6,7,9
4,5,6,7,9
游戲:學生手拿代表身高大小不一的數(shù),按照由矮到高來排序。
04
第四節(jié) 排序算法1——冒泡排序法
輪數(shù) 排序數(shù)個數(shù) 比較次數(shù) 比較次數(shù)規(guī)律 排出數(shù) 結果
第1輪
第2輪
第3輪
第4輪
排序數(shù)字:7,9,5,6,4
個數(shù):5
第1大數(shù)
第2大數(shù)
第3大數(shù)
第4大數(shù)
第5大數(shù)
第4輪
5
4
3
2
4
3
2
1
5-1
5-2
5-3
5-4
9
7
6
5
4
比較輪數(shù):
5-1=4
個數(shù)-1
個數(shù)-輪數(shù)
個數(shù): i
比較輪數(shù):
i-1
規(guī)律:
輪數(shù) 排序數(shù)個數(shù) 比較次數(shù) 排出數(shù)
第1輪
第2輪
……
第i-1輪
第1大數(shù)
第2大數(shù)
……
第i-1大數(shù)
i
i-1
……
2
i-1
i-2
……
i-(i-1)
個數(shù)-輪數(shù)
規(guī)律:
04
第四節(jié) 排序算法1——冒泡排序法
排序算法—冒泡排序
人工:易出錯、效率低
① 有 i 個數(shù)據(jù)
④ 如果比較兩個數(shù)時前面數(shù)大
②需要 i-1 輪排序 k
③ 每輪 i-k (輪數(shù))次比較
得到排序結果

就交換兩個數(shù)據(jù)
排序器
用列表 s 存儲數(shù)據(jù)
for k in range (0, len(s)-1):
循環(huán)


循環(huán)
for i in range (0, len(s)-k-1):
if s[i]>s[i+1]:
s[i],s[i+1]=s[i+1],s[i]
print("排序結果為:",s)
多元賦值
程序:高效、自動化
# 控制比較輪數(shù)
# 每輪比較次數(shù)
# 判斷相鄰兩數(shù)值的大小
# 符合判斷條件情況,交換位置
#顯示比較過程
預習P72-73
04
第四節(jié) 排序算法1——冒泡排序法
2019 女排世界杯得分
04
第四節(jié) 排序算法1——冒泡排序法
用列表 s 存儲數(shù)據(jù)
for k in range (0, len(s)-1):
循環(huán)


循環(huán)
for i in range (0, len(s)-k-1):
if s[i]>s[i+1]:
s[i],s[i+1]=s[i+1],s[i]
print("排序結果為:",s)
多元賦值
1.女排比賽程序.py
04
第四節(jié) 排序算法1——冒泡排序法
04
第四節(jié) 排序算法1——冒泡排序法
P75《4.冒泡排序編號成績對應.py》
04
第四節(jié) 排序算法2——簡單快速的桶排序法
04
第四節(jié) 排序算法2——簡單快速的桶法
04
第四節(jié) 排序算法2——編程實現(xiàn)桶排序
04
第四節(jié) 排序算法3—用列表方法排序
list /l st/
列表
列表 是Python中非常重要的數(shù)據(jù)類型,可以隨時添加和刪除其中的元素。
列表對向的追加,插入,刪除,排除等稱謂列表方法。
格式為:列表名. 方法( )
例如:列表的sort /s rt/ 方法可以實現(xiàn)排序(如果是字符串,按照首字母進行排序)默認升序。r
p=[5,6,2,8,3,7]
p.sort()
Print(p)
p.sort(reverse=True)
print(p)
reverse /r v rs/
反轉;交換
第四節(jié)排序算法
04
聽寫關鍵單詞
感謝聆聽
04
第四節(jié) 排序算法——練一練
1.如圖,運行程序時,輸入"5,3,6,7,2,1",其輸出結果為( )。
A.3 B.2 C.7 D.1
04
第四節(jié) 排序算法——練一練
2.如圖,m的值為( )。
A.評委打分去掉最高分和最低分的平均值
B.評委打分去掉最高分和最低分的和
C.評委打分的平均值
D.評委打分的總和
02
第二節(jié) 枚舉算法
02
第二節(jié) 枚舉算法
02
i=0 #記錄循環(huán)次數(shù)
j=0 #記錄方案數(shù)量
for a in range(1,11): #10克砝碼的范圍
for b in range(1,21): #5克砝碼的范圍
for c in range(1,41): #2克砝碼的范圍
for d in range(1,41): #1克砝碼的范圍
i=i+1
if a+b+c+d==40 and 10*a+5*b+2*c+d==100:
print(a,b,c,d)
j+=1
print("共循環(huán)次數(shù):",i," ",j,"種方案")
i=0 #記錄循環(huán)次數(shù)
j=0 #記錄方案數(shù)量
for a in range(1,7+1): #10克砝碼的范圍
for b in range(1,17+1): #5克砝碼的范圍
for c in range(1,37+1): #2克砝碼的范圍
for d in range(1,37+1): #1克砝碼的范圍
i=i+1
if a+b+c+d==40 and 10*a+5*b+2*c+d==100:
print (a,b,c,d)
j+=1
print("共循環(huán)次數(shù):",i," ",j,"種方案")
共循環(huán)次數(shù): 320000 34 種方案
共循環(huán)次數(shù): 162911 34 種方案
第二節(jié) 枚舉算法
砝碼稱重問題和優(yōu)化問題
i=0 #記錄循環(huán)次數(shù)
j=0 #記錄方案數(shù)量
for a in range(1,11): #10克砝碼的范圍
for b in range(1,21-a): #5克砝碼的范圍
for c in range(1,41-b): #2克砝碼的范圍
for d in range(1,41-a-b-c): #1克砝碼的范圍
i=i+1
if a+b+c+d==40 and 10*a+5*b+2*c+d==100:
print (a,b,c,d)
j+=1
print("共循環(huán)次數(shù):",i," ",j,"種方案")
i=0 #記錄循環(huán)次數(shù)
j=0 #記錄方案數(shù)量
for a in range(1,8): #10克砝碼的范圍
for b in range(1,21-2*a): #5克砝碼的范圍
for c in range(1,41-b): #2克砝碼的范圍
for d in range(1,41-a-b-c): #1克砝碼的范圍
i=i+1
if a+b+c+d==40 and 10*a+5*b+2*c+d==100:
print (a,b,c,d)
j+=1
print("共循環(huán)次數(shù):",i," ",j,"種方案")
共循環(huán)次數(shù): 52585 34 種方案
共循環(huán)次數(shù): 35980 34 種方案
第二節(jié) 枚舉算法
砝碼稱重問題和優(yōu)化問題
02
02
第二節(jié) 枚舉算法
第一節(jié) 生活中的算法
01
第一節(jié) 生活中的算法
01
偽代碼
偽代碼,是介于自然語言和計算機語言之間的文字和符號(包括數(shù)學符號)來描述算法,其目的是使被描述的算法可以容易地轉化為運用任何一種編程語言實現(xiàn)(C、 Java、python等)。
偽代碼描述算法在形式上并不是非常嚴格,在某些方面可能顯得不太正規(guī),但它可以屏蔽算法的部分實現(xiàn)細節(jié),讓我們專注于算法的核心思想和關鍵步驟。
01
第一節(jié) 生活中的算法—偽代碼
02
for x in range(100,1000): #三位密碼的范圍
if "1" in str(x) and x%10==8:
print (x)
#尋找忘記的一個三位自然數(shù)密碼,前兩位包含1,個位數(shù)是8
第二節(jié) 枚舉算法
04
第四節(jié) 排序算法——冒泡排序法

展開更多......

收起↑

資源預覽

<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. 主站蜘蛛池模板: 武强县| 偏关县| 保定市| 金阳县| 宁都县| 靖安县| 噶尔县| 贵定县| 出国| 岗巴县| 措美县| 南川市| 钦州市| 休宁县| 岑巩县| 溆浦县| 乌拉特中旗| 大余县| 礼泉县| 若羌县| 育儿| 泗阳县| 昭通市| 兰坪| 当雄县| 邹城市| 泗洪县| 万全县| 常山县| 青海省| 札达县| 安远县| 精河县| 惠来县| 根河市| 武夷山市| 陕西省| 嘉峪关市| 大同市| 哈巴河县| 永安市|