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

2.4 可以復用的代碼 課件(共26張PPT) 2023—2024學年教科版(2019)高中信息技術必修1

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

2.4 可以復用的代碼 課件(共26張PPT) 2023—2024學年教科版(2019)高中信息技術必修1

資源簡介

(共26張PPT)
復習鞏固
順序結構
分支結構
計算機解決問題的一般過程
算法的三種基本結構
循環結構
把大象裝進冰箱需要幾步
1、打開冰箱
2、裝進大象
3、關閉冰箱
把大象裝進冰箱需要幾步
如何打開冰箱?
如何裝進大象?
如何關閉冰箱?
檢查電源是否接通
啟動冰箱
打開拉手
確定體型
確定體重
確定··· ···
搬進冰箱
保持電源暢通
再次檢查
關閉拉手
把大象裝進冰箱需要幾步
如何打開冰箱?
如何裝進大象?
如何關閉冰箱?
三個模塊中又需要做流程圖,再細分,每個步驟又可以細化做流程圖,因此用模塊化的思想來說,這三個步驟各是三個模塊,實現三個功能,而每個功能組合,是完整的主題任務方案。
2.4 可以復用的代碼
項目: 解決火柴棒擺數字問題
活動1 用流程圖表述問題解決的思路
有6根火柴棒,列出所有能擺出的自然數,要求火柴棒正好用完。
思考:6根火柴棒能擺放的最大數是多少?
任務一 用自定義函數實現火柴棒擺數字問題
如何計算一個數需要多少根火柴棒呢
數字 0 1 2 3 4 5 6 7 8 9
需要的 火柴棒
6 2 5 5 4 5 6 3 7 6
可以用6根火柴棒擺放的數字,分別是
、 、 、 、 、 、 。
0
6
9
14
41
77
111
要擺出106這個數字需要多少根火柴棒?怎么計算?
有6根火柴棒,列出所有能擺出的自然數
要求火柴棒正好用完。
分析問題:如何讓計算機找出這個數字中的所有位數上的數字呢?
想一想,如果我們想得到125的個位上的5,那種運算可以實現?
除?整數?還是取模?
125 % 10 = 5
我們定義一個變量digit來接受取模運算的結果,用tens來接受整除的結果
digit1=125%10
tens1=125//10
digit2=tens1%10
tens2=tens1//10
5
12
2
1
設計算法:如何讓計算機找出這個數字中的所有位數上的數字呢?
例:123
123%10 3
123//10 12
12%10 2
12//10 1
1%10 1
1//10 0
實現方法:
1、將這個數除以10求余(取模),求得個位數
2、將這個數除以10取整數
3、重復第1和第2步驟,直到這個數為0
代碼實現:如何讓計算機找出這個數字中的所有位數上的數字?
list=[6,2,5,5,4,5,6,3,7,6]
數字 0 1 2 3 4 5 6 7 8 9
需要的 火柴棒 6 2 5 5 4 5 6 3 7 6
num=int(input("請輸入0-111之間的任意數字:"))
s=0
while (num>0):
i=num % 10
s=s+list[i]
num=num//10
設計函數:計算擺出一個數字需要的火柴棒數
自定義函數
match-num(num)
list=[6,2,5,5,4,5,6,3,7,6]
S=0
i=num%10
num>0
s=s+list==[i]
num=num//10
輸出s
結束


def macth_num(num):
list=[6,2,5,5,4,5,6,3,7,6]
s=0
while (num>0):
i=num % 10
s=s+list[x] num=num//10
print(s)
代碼實現:計算6根火柴棒能擺出的數字
開始
sum=6
i=0
i<=111
i=i+1
輸出i
結束


Match_num(i)==sum


sum=6
i=0
while (i<=111):
if(Match_num(i)==sum):
print(i)
i=i+1
else:
i=i+1
調用函數
函數
1、概念:將一組語句用一個名字封裝起來
2、分類
系統函數
函數庫中的標準函數,是程序設計語言或操作系統提供給用戶的一系列已經編好的程序。
print( ) input( )
max( ) min( )
自定義函數
用戶自定義函數
用戶自己編寫的一段程序。
常見系統函數有以下幾種:
數學運算類函數
數據轉換類函數
字符串操作類函數
輸入輸出函數
文件操作類函數
其他函數
函數
3、函數定義與使用
def 函數名(參數):
#函數說明
語句或語句組
return 返回值
定義函數的基本格式:
向函數傳遞值,多個參數用逗號隔開
將表達式的值返回給調用者
重復使用的代碼
冒號
縮進
函 數 名
參 數
函 數 體
返 回 體
同變量命名規則
4、函數調用
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
#調用factorial函數
total=factorial(4)
print(total)
采用函數名(參數)
的方式
因為出現def,所以跳過
因此,這一行才是主程序的第一行,從這里開始執行。
程序自上而下逐行執行
這里調用函數,參數n變成4
試一試
1.在 Python 語言中,創建自定義函數的語法規范是( )。
A.del函數名(參數): B.def函數名(參數):
C.define函數名(參數): D.sub函數名(參數):
2.一下程序的輸出錯誤的是( )
A.81 7 B. 4 4 C.12 7 D.hello
def mypow(x,y=2):
return x**y,x+y
print(“hello”)
a,b=mypow(3,4)
print(a,b)
B
A
試一試
def factorial(n):
#求n!
s=1
for I in range(2,n+1):
s=s+i
return s
#調用factorial函數
total=factorial(4)
print(total)
代碼復用的常見方法
函數
模塊
math模塊
導入模塊
模塊中的函數
包含一些常用的數學函數
sin() cos()
sqrt() abs()
使用函數
模塊名.函數名()
例:math.sqrt()
import 模塊名
例:import math
鞏固提升
1.下列代碼的輸出結果是什么?( )
def sum(a,b):
c=a+b
return c
print(sum(4,5))
A.4 B.5 C.9 D.1
C
鞏固提升
1.下列代碼的輸出結果是什么?( )
def sum(a,b):
c=a+b
return c
print(sum(4,5))
A.4 B.5 C.9 D.1
C
鞏固提升
def f(n):
s=1
for i in range(2,n+1):
s=s*i
return s
x=int(______________________)
sum=0
for j in range(__,_____):
sum=__________
print(sum)
計算1!+2!+3!+......+(x-1)!+x! (x由鍵盤輸入)
input(“請輸入x:”)
1
x+1
sum+f(j)
鞏固提升
def shengxiao(year):
#求生肖
zodiac=[“鼠”,“牛”,“虎”,“兔”,“龍”,“蛇”,“馬”,“羊”,“猴”,“雞”,“狗”,“豬”]
index=(year-1972)%12
return zodiac=[ index]
P45 擴展練習
請編寫程序,實現輸入一個農歷年份(>=1900),輸出該年對應的生肖,直到輸入0結束,運行結果如圖2.4.5所示。
#以下為主程序
myyear=int(input(“請輸入農歷年份,輸出0結束:”))
while myyear!=0
print(“生肖是:”,shengxiao(myyear))
myyear=int(input(“請輸入農歷年份,輸入0結束:”))
鞏固提升
1.下列代碼的輸出結果是什么?( )
def sum(a,b):
c=a+b
return c
print(sum(4,5))
A.4 B.5 C.9 D.1
C
課堂小結
可以復用的代碼
函數
系統函數,如
input()、print()
用戶自定義函數
def function(參數)
語句或語句組
返回值
函數調用——通過函數名調用
共享代碼的發布
模塊的導入使用
import模塊名稱
num=int(input("請輸入一個數:")) f=[6,2,5,5,4,5,6,3,7,6]
total=0
while (num>0):
x=num % 10 total=total+f[x] num=num//10
print(total)
# 輸入一個自然數
# 0-9的數字分別需要多少根小棒
# 火柴棒總數變量賦初值
# 取num的個位數
# 所需火柴棒數累加
# 去掉num的個位

展開更多......

收起↑

資源預覽

<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. 主站蜘蛛池模板: 宁乡县| 渝北区| 广宗县| 商南县| 固阳县| 赤城县| 容城县| 探索| 阿合奇县| 聂荣县| 武陟县| 浮山县| 耒阳市| 三亚市| 通化县| 舞钢市| 巫山县| 年辖:市辖区| 辽源市| 蓬安县| 仲巴县| 兴化市| 南皮县| 镇雄县| 西宁市| 大足县| 东至县| 西青区| 新安县| 包头市| 武汉市| 哈尔滨市| 青铜峡市| 凤阳县| 噶尔县| 石林| 保亭| 阳曲县| 屯门区| 临洮县| 台江县|